您好, 访客   登录/注册

基于jieba中文分词的中文文本语料预处理模块实现

来源:用户上传      作者:石凤贵

  摘要:文本预处理是文本分析理解的基础,预处理结果可以直接影响到文本分析的准确率。中文文本语句结构复杂,词语之间没有明显的分隔标记,需要进行分词来理解语句。分词是文本预处理的基础,词的切分准确性影响文本预处理结果。本文分词采用jieba中文分词工具,实现了文本预处理模块。
  关键词:文本分词;文本预处理;去停用词
  中图分类号:TP181 文献标识码:A
  文章编号:1009-3044(2020)14-0248-04
  分词是自然语言处理中处理文本的基础和前提,中文结构复杂,词之间没有明显的分隔标记。目前,出现了许多不错的中文分词工具,如jieba、LTP、SnowNLP、THULAC等。iieba中文分词是一款广泛使用的分词工具,基于Python的第三方分词库。
  1文本预处理
  文本处理之前,需要对语料文本进行一些预处理,包括中文分词、去停用词、关键词提取等。词是构成语句的基本单元,分析语句前需要先分词,将文本中词切分出来作为特征值。对于英文而言,分词相对比较简单,因为英文语句中词与词之间有明显的分隔符。中文语句结构复杂,词语之间没有分隔符,而且同一个词在不同的语句和不同的文本中意义不同,下文将重点阐述。
  文本中含有标点符号、介词、语气词等,这些词对理解文本没有实际意义,应从分词结果中去除,这些词称之为停用词。去停用词可有节省存储空间,减少停用词对理解语句造成的噪音,降低文本维度。去停用词是根据停用词表进行过滤,因此去停用词之前需要人工构建停用词表,然后将分词表去扫描停用词表,在停用词表中词需要过滤掉。去停用词可以有效提高语句的理解和文本的处理效率、准确率。本文结合常见停用词构建停用词表。
  2jieba中文分词
  2.1分词
  分词是自然语言处理的第一步,也是比较重要的一步。分词是将由字符序列构成的句子按照一定的规则重新组合成词的集合,中文分词就是指将句子中汉字序列切分成词集合。相对于英文而言,中文分词要复杂得多。中文分词时如何界定“词”、如何消除歧义、如何识别未登录词?这个是我们面临的问题。中文分词算法主要基于字符串匹配算法、基于理解算法和基于统计分词算法。
  2.2.jieba分词工具
  jieba中文分词工具是一款广泛使用、分词效果较好的分词器,开源分词工具,基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAGl,采用了动态规划查找最大概率路径,找出基于词频的最大切分组合,对于未登录词,采用了基于汉字成词能力的HMM模型(Hidden Markov Model,隐马尔可夫模型),使用了Viterbi算法。jieba支持自定义专业词典和未登录词血。
  2)自定义词典
  jieba分词工具基于前缀词典dict.txt,应用中不能切分的未登录新词需要修改或增加词典,同时用户也可以自定义词典。开发者可以指定自定义的词典,切分jieba词典中未登陆词。虽然jieba有新词识别能力,但是自行添加新词可以保证更高的正确率。自定义词典格式和dict.txt一样,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,词频省略时使用自动计算能保证分出该词的词频。
  3文本预处理模块
  3.1函数功能结构
  按照软件开发“高内聚、低耦合”原则,将实现文本预处理功能划分为多个函数,实现代码复用。函数及其功能表1所示。
  结果如4所示。
  4.3加载提取的关键词
  加载提取的关键词,可以用于后续的模型训练。
  textPre.loadSegmentDataset(“predata/keywords.txt”)
  输出结果:
  [‘服务客房套房白板分钟宴会厅饭店楼层话筒乘车喜来登餐厅会议室hotel 12 24 10新闻投影仪豪华使馆区商务退房首都机场提供无线行政公里宴会英文/n’,
  ‘服务餐厅hotel 405个人电脑套间洗衣客房健身接口菜肴点心豪华室内提供桑拿浴本網页贵宾厅希尔顿酒店生猛海鲜北京烤鸭壁球干洗自助餐标准间http www bjta gov cn\n’,
  ‘大厦hotel京瑞东三环南路娱乐商务京城首都图书馆北京经济技术开发区古玩城龙潭湖全聚德烤鸭店http BrrccBr bjtagov cn asp id 24 hotehlame荟聚之星令ISO9000商驻他求南接北指市尝/n,
  '瀑布黄果树景区景点犀牛天星桥风景区瀑布群名胜区石头寨著名风景布依族壮阔雄奇迷离旅游水帘洞石林彩虹公里溶洞游人落差水上天星第一奇特内有峡谷\n’1
  [’宾馆’
  ‘宾馆’
  ‘旅游’
  ‘旅游’
  ‘旅游’
  ‘旅游’
  5结束语
  本文介绍了广泛使用的中文分词工具jieba,jieba是一个强大的分词库,实现原理比较完善,有三种分词模式,可以通过参数设置使用HMM。文本预处理是文本分析理解的基础,直接关系到后续文本分析的准确性,文中详细阐述了文本预处理模块的实现,给出了模块实现的详细代码。
转载注明来源:https://www.xzbu.com/8/view-15267034.htm