《自然语言处理技术》——实训6 中文命名实体识别.docx
《《自然语言处理技术》——实训6 中文命名实体识别.docx》由会员分享,可在线阅读,更多相关《《自然语言处理技术》——实训6 中文命名实体识别.docx(21页珍藏版)》请在第壹文秘上搜索。
1、目录项目2初识文本基础处理1中文命名实体识别11 实训目标12 实训环境13 实训说明14 实训步骤24.1 COrPUSPrOCeSS类实现文本预处理21 .类定义及初始化22 .语料读写操作33 .标签提取及转换44 .语料初始化55 .语料预处理66 .窗口切分87 .特征提取98 .CorPUSPrOCeSS类重要函数说明104.2 CRF_NER类实现模型训练与模型预测175 实训小结19项目2初识文本基础处理在文命名实体识别1实训目标(1) 掌握使用Sklearn-Crfsuite库进行中文命名实体识别的方法。(2) 熟悉文本预处理流程,包括类定义及初始化、语料读写操作、标签提取及
2、转换、语料初始化、语料预处理、窗口切分、特征提取。(3) 掌握模型训练与预测流程,包括初始化模型参数、定义模型、模型训练、使用模型进行预测。2实训环境环境版本说明Windows1064电脑操作系统Python3.8.5Python语言版本pandas1.3.0主要用于数据读取、清洗等操作NumPy1.21.6主要用于Python中的数值计算jieba0.42.1主要用于文本分词Gensim4.2.0主要用于检索文本、计算文本相似度、训练词向量、建模主题等Matplotlib3.3.0主要用于数据可视化PaddIePaddle2.4.2是一个深度学习框架,提供了高效的计算框架和优化算法Paddl
3、eSpeech1.2.0主要用于语音和音频中的各种关键任务的开发scikit-leam1.0.2广泛地用于统计分析和机器学习建模等数据科学领域Librosa0.8.1主要用于分析一般的音频信号,是一个非常强大的Python语音信号处理的第三方库NLTK3.5是一个常用的自然语言处理工具包,可用于文本处理、语义分析、词性标注等SciPy1.7.3是一个科学计算工具包,可用于数学、科学、工程学等领域pyttsx32.9.0主要用于将文本转换成语音3实训说明使用Skleam-CrfSUite库进行中文命名实体识别,其实现步骤包括文本预处理(类定义及初始化、语料读写操作、标签提取及转换、语料初始化、语
4、料预处理、窗口切分、特征提取)、模型训练与预测(初始化模型参数、定义模型、模型训练、使用模型进行预测)。其中,将实现文本预处理步骤的代码定义为CorpusProcess类,将实现模型训练与预测步骤的代码定义为CRF_NER类,如图3-1所示。文本预处理步骤CorPUSProCeSS类类定义及初始化语料读写操作标签提取及转换模型训练与模型预测CRF_NER类初始化模型参数定义模型语料初始化模型训练语料预处理使用模型进行预测窗口切分特征提取图3-1中文命名实体识别步骤4实训步骤4.1CorpusProcess类实现文本预处理CorpusProcess类主要实现内容包括类定义及初始化、语料读写操作、
5、标签提取及转换、语料初始化、语料预处理、窗口切分以及特征提取。1 .类定义及初始化CorPUSProCeSS类定义及初始化如代码21所示。目前,CorPUSPrOCeSS类还没有做任何实际处理,只是定义了类的结构和初始化属性。后续的方法将在这个类中实现,用于预处理语料、提取特征、切分窗口等操作。代码2-1CorpusProcess类定义及初始化fromskleam_crfsuiteimportmetricsimportjoblib#用于保存和加载模型的库importsklearn_crfsuite#CRF模型库importre#正则表达式库classCorpusProcess(Object):
6、definit_(self):初始化self.train_corpus_path=./data/1980_01rmrb.txtn#训练集语料路径self.process_corpus_path=,.dataresult-rmrb.txt#处理后的语料路径self._maps=ut,:uT,u,nr,:uPER,uns,:u,ORG,u,nt,:u,LOC#定义标记与实体类别的对应关系self.tag_seq=None2 .语料读写操作语料读写操作如代码2-2所示,包括从文件中读取语料和将处理后的语料写入文件这两部分内容。read_COrPUS_from_file函数负责读取文件并返回一个包含文
7、件所有行的列表。write_corpus_to_file函数则将处理后的数据写入指定的文件。代码2-2语料读写操作defread_corpus_from_file(self,file_path):读取语料f=open(file_path,r,encoding=,utf-8,)lines=f.readlines()f.close()returnlinesdefwrite_corpus_to_file(self,data,f!le_path):写语料f=open(file_path,wb)f.write(data)f.close()# 实例化CorpusProcess类corpus_process
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自然语言处理技术 自然语言处理技术实训6 中文命名实体识别 自然语言 处理 技术 实训 中文 命名 实体 识别
