最近在研究不考虑语义关系的文本字符串相似度的计算算法。在对文本内容编制索引后,如何对检索出来的结果进行排序,对于“搜索”的用户体验来讲是至关重要的,这个问题也就是归结为任意两个字符串的相似度计算问题。
这其中要考虑的因素,除了TF/IDF之外,还有就是词语之间的距离因素和顺序因素:这是不考虑语义关系的情况下能直接从文本中计算迩来的。从人的直观来讲,检索结果串的距离和顺序因素越和请求串一致,则二者相似度越高,越应该以排在靠前的方式给出。
为此设计了一个公式,并初步做了个实验,和google最新版本的桌面搜索做比较(作为文本内容检索,避免PageRank的影响)。所使用语料为25篇专利语料(专利的说明书),由算法使用“信息处理装置”作为搜索请求而获取的,文件标题缀上本算法的排序结果标号。将此语料单独放于一个文件夹,使用google桌面搜索建立索引,则仍然使用“信息处理装置”作为检索请求,goolge的排序结果如下:
24数字广播接收机的事件发送方法及装置.txt
23再现设备和再现方法.txt
21手形手势识别装置及识别方法.txt
20双轴关节式计算机输入装置.txt
19双轴关节式计算机输入装置的操作方法.txt
18维特比解码器和传输设备.txt
17语音声音通信系统.txt
16图象数据记录设备及方法.txt
14墨水喷射记录设备及记录方法.txt
13系统显示装置.txt
11数据处理方法与装置.txt
8用于记录信息的装置和方法.txt
7内容管理方法及内容管理装置及记录装置.txt
6移动通信方法和实现该方法的移动台装置.txt
5音频和或视频信号传输系统、它的发射设备和接收设备.txt
4具有网络拓扑结构的自适应信息处理系统.txt
3列车控制系统.txt
2信息处理系统.txt
1信息处理方法和装置.txt
25用于自动预失真系统的方法和装置.txt
15局部并行格栅解码器装置和方法.txt
22具有元件分离绝缘膜的半导体装置的制造方法.txt
由结果可以看出,部分说明书没有检索出来,而且google的排序和本算法排序的差异非常大,几乎是完全相反的。从语感以及相关评测手段上来讲,本算法还有待进一步调整,但google的排序却是差的让人难以置信:从这些专利说明书来看,不知道google桌面搜索对中文文本是如何处理的,不太相信,他们竟然没有对“中文文本字符串的相似度计算”这样一个课题进行研究?
接下来调整算法,并测试Baidu的桌面搜索。