Created
March 30, 2016 12:50
-
-
Save rsarxiv/11470a8d763b2845f671061c21230435 to your computer and use it in GitHub Desktop.
TextRank源码笔记
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TextRank源码笔记 | |
更多 | |
TextRank代码版本是(https://github.com/davidadamojr/TextRank.git),基于2004年一篇用graph model做文本中单词、句子排序的paper。 | |
TextRank主要功能是提取关键短语(keyphrases extraction)和文本摘要(summarization)。 | |
1、keyphrases extraction | |
(1)将文本分词,并用词性进行过滤。这里使用nltk pos_tag留下了词表中的NN,NNP(名词),JJ(形容词)作为候选词。 | |
(2)构建图模型,节点为候选词,边为两单词之间的Levenshtein距离(又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。) | |
(3)用pagerank计算图(networkx包,节点多了以后,计算巨慢),得出词的得分,然后排序,取前1/3作为候选关键词 | |
(4)如果两个关键词相邻,则组合成短语,否则单独作为关键词。 | |
2、summarization | |
(1)将文本分句。 | |
(2)构建图模型,节点为句子,边为两句子之间的Levenshtein距离。 | |
(3)用pagerank计算图,得出句子的得分,然后排序。 | |
(4)将排序后的句子合并成字符串,并取top 100个字符作为摘要输出。 | |
几点问题: | |
1、不管是单词还是句子,相似度计算太表面了,没有涉及到语义层面,效果肯定不会太好。(这里我尝试用了word2vec改善summarization,但是效果不好,原因是sentence vector的质量不高,但是word vector的质量非常高) | |
2、句子得分模型太过粗糙了,没有考虑feature,得到的效果感觉不会很好。 | |
3、关键短语提取的方案居然用了词性过滤(这个方法我也曾想过,没有动手,因为感觉不靠谱),明显感觉关键短语效果很差,只是简单的考虑了词性这个feature。 | |
4、感觉code中很多功能实现的很累赘,不够精炼. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment