赞
踩
参考:百度AI Studio课程_学习成就梦想,AI遇见未来_AI课程 - 百度AI Studio - 人工智能学习与实训社区 (baidu.com)
Google 创始人拉里·佩奇和谢尔盖·布林于 1997 年构建早期的搜索系统原型时提出的链接分析算法,通过计算网页链接的数量和质量来粗略估计网页的重要性。
1.先将整个万维网看作是一张有向图,网页构成了图中的节点.每个节点额权重作为其重要性的度量。
2.如果一个节点由很多其它节点指向它,那么它就很重要。同样的如果这个很重要的节点,它的外链数很少,那么这个被链接的点显然也很重要。
4.算法流程
1.给每个网页一个PageRank值
2.通过算法不断更新迭代,直到达到平稳分布为止。
TextRank算法构造的网络是无向有权图。
除了考虑链接句的重要性之外,还考虑两个句子之间的相似性。
计算每个句子给它链接句的贡献时,是通过计算权重占总权重的比例来分配的。
这里的权重即指句子之间的相似度,可通过编辑距离、余弦相似度等来进行计算。
1.构建一张关系图来表示文本、词语以及其他实体。
2. 词语、词语集合、整个句子等都可以作为图中的顶点
3.在这些顶点之间建立联系(比如词序关系、语义关系、内容相似度等),就能够构建一张合适的关系图。
1.将原文本分割成句子。
2.对每个句子进行分词,并做词性标记,然后去除停用词,只保留指定词性的词(如名词、动词、形容词)
3.构建词图。
1.节点集合由以上步骤生成的词组成。
2.然后根据共现关系,构造任意两个节点之间的边。
仅当两个节点对应的词在长度为K的窗口中共现时,它们之间存在边
其中,K表示窗口大 小 ,即最多共现K个单词,一般K取2
补充共现关系:共同出现的关系。
4.迭代计算各个节点的权重,直至收敛,得到各节点重要性的分值
5.对各个节点的权重进行倒序排序,得到最重要的N个单词,作为top-N关键词进行输出。
6.在原文本中标记top-N关键词,若它们形成了相邻词组,则作为关键词词组提取出来。
用法:jieba.analyse.extract_tags(sentence,topK=5,withWeight=True,allowPOS=())
举个例子:
- def jieba_test(sentence):
- result=jieba.analyse.extract_tags(sentence,5,withWeight=True,allowPOS=())
- print("jieba分词得到的关键词和权重")
- for i in result:
- print(i)
- if __name__=='__main__':
- sentence="分词就是将连续的字序列按照一定的规范重新组合成语义独立词序列的过程。中文分词是文本挖掘的基础,对于输入的一段中文,成功的进行中文分词,可以达到电脑自动识别语句含义的效果。"
- jieba_test(sentence)
- TextRank4zh_test(sentence)
结果截图:
1.先导入包 pip install textrank4zh
2.调用函数
1.analyze函数:对文本进行分析
2.get_keywords函数:获取最重要的关键词
举个例子:
- def TextRank4zh_test(sentence):
-
- tr4w=TextRank4Keyword()
- tr4w.analyze(sentence,True,5)
- print("TextRank4zh_test方法得到的关键词")
- for item in tr4w.get_keywords(5,word_min_len=1):
- print(item)
- if __name__=='__main__':
- sentence="分词就是将连续的字序列按照一定的规范重新组合成语义独立词序列的过程。中文分词是文本挖掘的基础,对于输入的一段中文,成功的进行中文分词,可以达到电脑自动识别语句含义的效果。"
- jieba_test(sentence)
- TextRank4zh_test(sentence)
结果截图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。