赞
踩
自然语言数据预处理中经常会涉及到同义词替换,比如计算两个句子的相似度中,把一个词的两个同义词利用同义词替换技术转换为同一个词,那么就提高了相似度计算的可靠性。学习自然语言处理的同学肯定都会做到数据预处理的工作,下面分享我最近写的一个程序,希望能为从事同样工作的同学提供那么一点帮助,也希望自己的程序能够得到指点。
程序中设计到分词技术和同义词表,分词采用了哈工大的pyltp,其官方文档链接为http://pyltp.readthedocs.io/zh_CN/latest/。同义词表是利用哈工大的同义词词林(扩展版)进行预处理保留每个词的前两项得来的,原版下载链接为https://www.ltp-cloud.com/download/。
我采用的同义词词表是下面这种结构:
- 人 士
- 人类 生人
- 人手 人员
- 劳力 劳动力
- 匹夫 个人
- 家伙 东西
- 者 手
- 每人 各人
- 该人 此人
- 人民 民
下面是同义词替换程序(注释比较详细,这里不再赘述程序具体实现方式):
- from pyltp import Segmentor
-
-
- class SynonymsReplacer:
- def __init__(self, synonyms_file_path, cws_model_path):
- self.synonyms = self.load_synonyms(synonyms_file_path)
- self.segmentor &
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。