同义词挖掘的一些常用方法 及同义词替换程序

本文介绍了同义词挖掘的方法,包括词典、百科词条、元搜索数据、上下文相关性挖掘和语料对齐,并提到了在NLP数据预处理中同义词替换程序的重要性。程序使用了哈工大的pyltp进行分词,同义词表来源于哈工大同义词词林(扩展版)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先谈谈同义词挖掘的一些常用方法 

在用户使用搜索引擎的过程中,由于地区差异、文化水平等差异,用户所输入的query很多时候和资料中的描述不一致。这种情况下,为了能够召回更多的文档向用户展示,搜索引擎需要对用户的输入做同义词、纠错、归一化等操作。在进行这些操作的过程中,同义词的挖掘是一个基础工作。下面简单介绍一下几个简单实用的算法。

词典

从百度词典、金山词霸的词条中抓取数据,根据原词的描述和解释提取同义词。这种算法简单有效,但是挖掘出来的同义词通常比较书面语。

百科词条

从百度百科、搜搜百科等百科网站抓取词条,在词条中,有“又叫”“别名”等特征词,从这些特征词之后可以提取该词条的其他说法。百科挖掘出的词条通常质量比较高。

元搜索数据

元搜索数据中,原始Query和其召回的文档存在一定的关系,有些是元搜索引擎做了同义替换或者非必留召回的结果。在这些结果和原始query做term对齐,从中可以挖掘出来其中隐含的同义词,为了提高召回的同义词的准确率,可以做一些处理:

1.       带有相同字的term

2.       飘红的term

3.       简写到全称

4.       上下位位置信息

上下文相关性挖掘

 在所有的文档中,如果两个term经常在相同的上下文下出现,那么这两个词是同义词的可能性较大。基于这个假设,

1.       对文档进行分词,统计每个term的上下文,根据一定的策略对上下文进行剪枝。

2.       把剪枝之后的上下文作为每个term的特征向量,求term之间两两的夹角余弦。

3.       提取余弦值比较高的作为候选同义词。

这种算法挖掘出的同义词会出现一些相关词但不是同义词的词对,因此这部分同义词通常需要一个人工审核的步骤。

语料对齐

在一个完备的检索系统中,会记录点击日志和用户的session日志。此外,还有不同的anchor指向同一个url。通过这些数据进行语料对齐,可以挖掘出来很多同义词:

1.       Query<>Query对齐:点击了相同URL的Query

2.       Query<>Title对齐:某个Query点击了某个URL

3.       Query<>Query对齐:同一个session内的Query,可能是用户的自纠错或者自修改

4.       Title<>Title对齐:被同一个Query点击的URL

5.       Anchor<>Title对齐:指向了某个URL的Anchor

6.       Anchor<>Anchor:指向了同一个URL的Anchor

下边讲一下NLP数据预处理——同义词替换程序

自然语言数据预处理中经常会涉及到同义词替换,比如计算两个句子的相似度中,把一个词的两个同义词利用同义词替换技术转换为同一个词,那么就提高了相似度计算的可靠性。学习自然语言处理的同学肯定都会做到数据预处理的工作,下面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值