从文本中提取关键字

就在前几天的任务中用到了从文本描述中提取关键字的操作,特意从网上找到了一些提取关键字的方法。

总结如下:需要引入jieba这个库文件

基于TF-IDF算法进行关键词提取

import jieba.analyse

 sentence = "人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。 [1]  2017年12月,人工智能入选“2017年度中国媒体十大流行语”。"
 keywords = " ".join(jieba.analyse.extract_tags(sentence=sentence, topK=20, withWeight=False, allowPOS=()))
 print(keywords)

 keywords = jieba.analyse.extract_tags(sentence, topK=10, withWeight=True, allowPOS=([‘n‘, ‘v‘]))   # 只提取前10个名词和动词
 print(keywords)

基于TextRank算法进行关键词提取

import jieba.analyse
sentence  = "人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。2017年12月,人工智能入选“2017年度中国媒体十大流行语”。"
result = "  ".join(jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=(‘ns‘, ‘n‘, ‘vn‘, ‘v‘)))
print(result)
# 只需要名词和动词
result = "  ".join(jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=(‘n‘,‘v‘)))
print(result)

基于pyhanlp进行关键词提取(这一部分我测试失败了,好像是说我的Java包引入错误,因为hanlp是一个Java项目,所以无法运行)

from pyhanlp import *

result = HanLP.extractKeyword(sentence, 20)
print(result)

参考地址:https://blog.csdn.net/cdlwhm1217096231/article/details/94566936?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

参考的博文还有一个比较全面的方法,他在例子中用到了

  • (1)文件加载
  • (2)jieba分词
  • (3)去停用词
  • (4)构建词袋模型
  • (5)LDA模型训练
  • (6)结果可视化

等多中方式,有兴趣的可以参考上面的博文

原文地址:https://www.cnblogs.com/1gaoyu/p/12506937.html

时间: 2024-10-28 16:30:50

从文本中提取关键字的相关文章

“上下文关键字”KWIC(Key Word in Context,文本中的关键字)检索系统尝试

一.实验目的 1.理解不同体系结构风格的具体内涵. 2.学习体系结构风格的具体实践. 二.实验环境 硬件: (依据具体情况填写) 软件:Java或任何一种自己熟悉的语言 三.实验内容 "上下文关键字"KWIC(Key Word in Context,文本中的关键字)检索系统接受有序的行集合:每一行是单词的有序集合:每一个单词又是字母的有序集合.通过重复地删除航中第一个单词,并把它插入行尾,每一行可以被"循环地移动".KWIC检索系统以字母表的顺序输出一个所有行循环移

shell中的cut和paste函数,可以从多个文本中提取特定的列

shell中的cut和paste函数,可以从多个文本中提取特定的列,然后合并成为一个文件,方便下游分析中用R语言read.table()读取,进行分析作图. cut -d 分隔符 -f 列索引 cut -d '.' -f 2-5,8 file.txt #将文件file.txt以分隔符.进行分割,并取出第2列到第5列还有第8列的数据. paste file1 file2 > file3 原文地址:https://www.cnblogs.com/liuyin-2019/p/11846112.html

3 中文文本中的关键字提取

前言 关键词提取就是从文本里面把跟这篇文章意义最相关的一些词语抽取出来.这个可以追溯到文献检索初期,关键词是为了文献标引工作,从报告.论文中选取出来用以表示全文主题内容信息的单词或术语,在现在的报告和论文中,我们依然可以看到关键词这一项.因此,关键词在文献检索.自动文摘.文本聚类/分类等方面有着重要的应用,它不仅是进行这些工作不可或缺的基础和前提,也是互联网上信息建库的一项重要工作. 关键词抽取从方法来说主要有两种: 第一种是关键词分配:就是给定一个已有的关键词库,对于新来的文档从该词库里面匹配

Android中高亮变色显示文本中的关键字

应该是好久没有写有关技术类的文章了,前天还有人在群里问我,说群主很长时间没有分享干货了,今天分享一篇Android中TextView在大段的文字内容中如何让关键字高亮变色的文章 ,希望对大家有所帮助,我终于在歪路上回归正途了.这个篇文章在平时应该还算比较常用吧,如果你会了,就不用看了,如果还不会,可以看一眼,非常简单. 今天分享的文章大概内容是在TextView中如何使大段的文字内容中关键字变色高亮显示的,分为一个关键字高亮变色显示和多个关键字一起高亮变色显示.我已经封装成了KeywordUti

流编辑器sed使用总结及利用sed从文本中提取字符串的方法

sed 是一个编辑器,但它与其它大多数编辑器不同.除了不面向屏幕之外,它还是非交互式的,我们常用的vim编辑器则是交互式的. 这意味着必须将要对数据执行的命令插入到命令行或要处 理的脚本中.sed 在一个文件(或文件集)中非交互式.并且不加询问地接收一系列的命令并执行它们.因而,它流经文本就如同水流经溪流一样,因而 sed 恰当地代表了流编辑器,可以对文件或者文件集批量的进行删除 替换 插入 追加等操作. 流编辑器非常适合于执行重复的编辑,这种重复编辑如果由人工完成将花费大量的时间. 其参数可能

从文本中提取图片路径(java 解析富文本处理 img 标签)

很多项目都需要到富文本来添加内容,就好比新闻啊,旅游景点之类的,都需要使用富文本去添加数据,然而怎么我这边就发现了两个问题 怎样将富文本的图片的 src 获取出来? 方法一: 利用正则表达式: public static List<String> getImgStr(String htmlStr) { List<String> list = new ArrayList<>(); String img = ""; Pattern p_image; Ma

cut 从文本中提取一段文字并输出

1.命令功能 cut 从每个文件中截取选定部分并输出. 2.语法格式 cut  option  file 参数说明 参数 参数说明 -b (–bytes) 字节 -c (--characters) 字符 -d 通过指定分隔符来分割文件(默认分隔符是tab键) -f(一般与-d结合使用) 只选择需要输出的区域:也输出不包含分隔符的行,除非指定-s选项. -n (with -b) 和-b结合使用,不要分割多字节字符 -s 不输出不包含分隔符的行(与-d结合使用) 3.使用范例 准备工作 [[emai

从网页中提取关键字

$meta = get_meta_tags('http://www.cqhshop.com/'); $keywords = $meta['keywords']; // Split keywords $keywords = explode(',', $keywords ); // Trim them $keywords = array_map( 'trim', $keywords ); // Remove empty values $keywords = array_filter( $keywor

c++之从标准流中提取文本数据

istream & istream :: get ( char * ,  int ,  char = '\n' ) ; istream & istream :: getline ( char * ,  int ,  char = '\n' ) ; 作用:从文本中提取指定个数的字符,并在串数组末添加一个空字符 其中,第一个参数指向接受字符数据的字符数组 第二个参数指定字符数组最多可容纳的字符个数 第三个参数用于指定一个终止符,缺省为换行符 操作遇到终止符或提取到规定个数字符时,提取终止 区别