- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
专业
班级
姓名
学号
实验课程
指导教师
实验日期
同实验者
实验项目
关键词提取
实验设备及器材
Pycharm2021.1.3,Python3.8.6
实验步骤、数据记录及处理
1 第三方库的安装(以Pycharm为例安装jieba库,其余同理)
方法一:在Pycharm底部Terminal中以命令行形式安装,使用了清华镜像,安装较快,即pip install -i /simple jieba。
图1.1 安装jieba库
方法二:在Pycharm底部以命令行形式安装,未使用镜像,安装较慢。
图1.2 安装jieba库
方法三:通过左上角File-Settings-Project-Python Interpreter-“+”进行jieba库的安装。
图1.3 安装jieba库
2 无监督关键词提取算法实现
训练一个关键词提取算法需要以下几个步骤:
1)加载已有的文档数据集;
2)加载停用词表;
3)对数据集中的文档进行分词;
4)根据停用词表,过滤干扰词;
5)根据数据集训练算法;
根据训练好的关键词提取算法对新文档进行关键词提取要经过以下环节:
1)对新文档进行分词;
2)根据停用词表,过滤干扰词;
3)根据训练好的算法提取关键词;
注:停用词表stopword.txt与数据集corpus.txt,可使用NLTK的英文语料库转换为中文,也可以自行检索或使用中文预料库,例如CCL语料库,北京语言大学汉语语料库(bcc)等。
2.1 加载模块
import math
import jieba # 进行中文分词,不区分词性
import jieba.posseg as psg # 进行区分词性的中文分词
from gensim import corpora, models # corpora建立词空间和词袋模型, models用于调用gensim中的TF-IDF、LSI、LDA原生模型
from jieba import analyse # jieba的analyse有TextRank算法的模型
import functools # 用于sorted函数中,对目标按照一定的函数规则进行排序
2.2 定义好停用词表的加载方法
def get_stopword_list():
# 停用词表存储路径,每一行为一个词,按行读取进行加载
# 进行编码转换确保匹配准确率
stop_word_path = ./stopword.txt
stopword_list = [sw.replace(\n, ) for sw in open(stop_word_path, encoding=utf-8).readlines()]
return stopword_list
2.3 定义一个分词方法
分词方法,调用结巴接口,包括不识别词性和识别词性两种方式,用pos参数进行控制,pos为判断是否采用词性标注
def seg_to_list(text, pos=False):
if not pos:
seg_list = jieba.cut(text)
else:
seg_list = psg.cut(text)
return seg_listreturn seg_list
2.4 定义干扰词过滤方法
def word_filter(seg_list, pos=False): 1. 根据分词结果对干扰词进行过滤; 2. 根据pos判断是否过滤除名词外的其他词性; 3. 再判断是否在停用词表中,长度是否大于等于2等; stopword_list = get_stopword_list() # 获取停用词表 filter_list = [] # 保存过滤后的结果 # 下面代码: 根据pos参数选择是否词性过滤 ## 下面代码: 如果不进行词性过滤,则将词性都标记为n,表示全部保留 for seg in seg_list: if not pos: word = seg flag = n else: word = seg.word # 单词 flag = seg.flag # 词性 if not flag.startswith(n): continue # 过滤停用词表中的词,以及长度为2的词
您可能关注的文档
- 中文分词,词性标注,句法分析.doc
- 实习报告提纲(按照模版手写) (2).docx
- 实验报告情感语义分析.doc
- 普通地质学重点.docx
- 数学试题二年级.pdf
- 2021.6月四级写作押题班模板.pdf
- 六年级数学课堂练习试题.pdf
- 01.英语一新题型导学讲义.pdf
- TtqG_水生态保护与修复.pdf
- 12讲通关中考数学几何模型(费马点,胡不归,阿氏圆).pdf
- 国有企业党支部书记2024年组织生活会个人“四个带头”对照检查材料范文.docx
- 2024年党员干部民主生活会、组织生活会对照检查材料(四个带头)参考范文2篇.docx
- 2024年度组织生活会和民主评议党员大会实施方案参考范文(含:5个附件表格).docx
- 国有企业党支部书记组织生活会个人对照检查材料(四个带头)供参考.docx
- 浙教版9年级上册数学全册教学课件(2021年11月修订).pptx
- 苏教版8年级上册数学全册教学课件(2021年10月修订).pptx
- 比师大版数学4年级下册全册教学课件.pptx
- 冀教版5年级上册数学全册教学课件.pptx
- 办公室普通党员2024年组织生活会个人对照检查发言材料供参考.docx
- 领导班子成员2025年组织生活会“四个带头”对照检查材料范文.docx
为中小学学生教育成长提供学习参考资料,学习课堂帮助学生教师更好更方便的进行学习及授课,提高趣味性,鼓励孩子自主进行学习,资料齐全,内容丰富。
文档评论(0)