文本相关性,是搜索技术相关的最基本的概念,是单从文本的字面上来计算一个搜索的关键词与一篇文章的相关性。是搜索排序的一项重要因素,有多种计算文本相关性的方法,如余弦值计算,TF/IDF计算等等,下面介绍一下TF/IDF。
一,TF/IDF
TF/IDF(Term Frenquency/Inverse Term Frenquency),称之为词步与逆向词频。
TF:词频,广义的词频记录的是一个词在一篇文章中的出现次数。
IDF:逆向词频,一个词在在所有文章中的出现次数除以在当前文章中的次数,然后取对数。
二,TF/IDF在垂直搜索中的应用
垂直搜索的数据源一般来源来公司内部的数据仓库或数据库,如mysql,sqlserver或其它nosql。
在实际的应用过程中,TF很容易统计出来,对一件商品而言,可能有多个属性,比如有名称和描述信息两个字段的数据要建立倒排索引,建立倒排索引的过程就可以统计出每个词在一件商品中各个属性字段的出现次数。
所有商品中出现的总词数也可以通过创建索引结束后统计出来。
实际运用过程中还可能会根据一个词在不同的字段中而设置不同的权重,来进一步来控制文本相关性
三,计算方法
假设一件商品有两字段(名称,name,20),(描述,desc,5),它们对应的权重分别是5与20
在名称字段手机出现2次,在描述字段手机出现4次,手机在所有商品的所有字段中的出现总次数是10000次,那么可得出
手机在这部商品中的TF=name两次+desc中4次.
IDF=log(10000/6)
那个有用户搜索手机的时候手机这个词的与该件商品的文本相关性即为
textWeight=((2*20+4*4))*log(10000/6)