从百度词典、金山词霸的词条中抓取数据,根据原词的描述和解释提取同义词。这种算法简单有效,但是挖掘出来的同义词通常比较书面语。
包括中英文名称,学名与俗名,全称与简称,常用错别字等
从百度百科、搜搜百科等百科网站抓取词条,在词条中,有“又叫”“别名”等特征词,从这些特征词之后可以提取该词条的其他说法。百科挖掘出的词条通常质量比较高。
元搜索数据中,原始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
Ref:
http://blog.csdn.net/qq_25138881/article/details/46909727