NLP数据预处理——同义词替换程序

自然语言数据预处理中经常会涉及到同义词替换,比如计算两个句子的相似度中,把一个词的两个同义词利用同义词替换技术转换为同一个词,那么就提高了相似度计算的可靠性。学习自然语言处理的同学肯定都会做到数据预处理的工作,下面分享我最近写的一个程序,希望能为从事同样工作的同学提供那么一点帮助,也希望自己的程序能够得到指点。程序中设计到分词技术和同义词表,分词采用了哈工大的pyltp,其官方文档链接为htt...
摘要由CSDN通过智能技术生成

自然语言数据预处理中经常会涉及到同义词替换,比如计算两个句子的相似度中,把一个词的两个同义词利用同义词替换技术转换为同一个词,那么就提高了相似度计算的可靠性。学习自然语言处理的同学肯定都会做到数据预处理的工作,下面分享我最近写的一个程序,希望能为从事同样工作的同学提供那么一点帮助,也希望自己的程序能够得到指点。

程序中设计到分词技术和同义词表,分词采用了哈工大的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 &
  • 12
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值