{"repo":"letiantian/TextRank4ZH","free":true,"listed":false,"github":"https://github.com/letiantian/TextRank4ZH","clone":"git clone https://github.com/letiantian/TextRank4ZH.git","description":":deciduous_tree:从中文文本中自动提取关键词和摘要","language":"Python","stars":3393,"topics":["textrank","textrank-algorithm","keyword-extraction","pagerank","python"],"license":"MIT","category":"dev-tools","readme_excerpt":"TextRank4ZH TextRank算法可以用来从文本中提取关键词和摘要（重要的句子）。TextRank4ZH是针对中文文本的TextRank算法的python算法实现。 安装 方式1： 方式2： 方式3： 方式4： Python 3下需要将上面的python改成python3，pip改成pip3。 卸载 依赖 jieba = 0.35 numpy = 1.7.1 networkx = 1.9.1 兼容性 在Python 2.7.9和Python 3.4.3中测试通过。 原理 TextRank的详细原理请参考： Mihalcea R, Tarau P. TextRank: Bringing order into texts[C]. Association for Computational Linguistics, 2004. 关于TextRank4ZH的原理和使用介绍：使用TextRank算法为文本生成关键字和摘要 关键词提取 将原文本拆分为句子，在每个句子中过滤掉停用词（可选），并只保留指定词性的单词（可选）。由此可以得到句子的集合和单词的集合。 每个单词作为pagerank中的一个节点。设定窗口大小为k，假设一个句子依次由下面的单词组成： w1, w2, ..., wk 、 w2, w3, ...,wk+1 、 w3, w4, ...,wk+2 等都是一个窗口。在一个窗口中的任两个单词对应的节点之间存在一个无向无权的边。 基于上面构成图，可以计算出每个单词节点的重要性。最重要的若干单词可以作为关键词。 关键短语提取 参照关键词提取提取出若干关键词。若原文本中存在若干个关键词相邻的情况，那么这些关键词可以构成一个关键词组。 例如，在一篇介绍 支持向量机 的文章中，可以找到关键词 支持 、 向量 、 机 ，通过关键词组提取，可以得到 支持向量机 。 摘要生成 将每个句子看成图中的一个节点，若两个句子之间有相似性，认为对应的两个节点之间有一个无向有权边，权值是相似度。 通过pagerank算法计算得到的重要性最高的若干句子可以当作摘要。 示例 见example、test。 example/example01.py: 运行结果如下： 使用说明 类TextRank4Keyword、TextRank4Sentence在处理一段文本时会将文本拆分成4种格式： sentences：由句子组成的列表。 words no filter：对sentences中每个句子分词而得到的两级列表。 words no stop words：去掉words no filter中的停止词而得到的二维列表。 words all filters：保留words no stop words中指定词性的单词而得到的二维列表。 例如，对于： 运行结果如下： API TODO. 类的实现、函数的参数请参考源码注释。 License MIT","default_branch":null,"files":null,"tree":[],"storefront":"/r/letiantian","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/letiantian/TextRank4ZH/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}