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

来源:互联网 发布:淘宝等级如何查询 编辑:程序博客网 时间:2024/06/06 13:03

综述

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

词典

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

百科词条

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

元搜索数据

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

1.       带有相同字的term

2.       飘红的term

3.       简写到全称

4.       上下位位置信息

上下文相关性挖掘

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

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

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

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

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

语料对齐

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

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

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

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

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

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

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



0 0
原创粉丝点击