wordrank
wordrank是衡量一个query中各个term的重要性的一种算法。相比于传统的tf*idf相比,可以理解为idf是一种静态的算法,即同一个term在不同的query中其重要性是一样的,但是wordrank是一个动态的算法,它衡量的是query中各个term的相对重要性。它在nlp中的地位可见下图,属于一种浅层句法分析。
image1应用
在搜索引擎中,对于一个query查询的term越多,召回的就越少,准确也越高;反之,一个query查询的term约少,召回的就越多,准确也就越低。所以对于query的主干分析和重要性计算就很重要了。
传统的query主干分析方法
- 机器学习
term位置特征(是否在query的前部)
term属性特征(比如词性,命名实体识别)
term统计特征 (idf等)
-
高精度资源
词语类型表 (‘ipad’ -> 商品名)
词语关系表 (‘北京’ ‘海淀’ 上下位关系)
词语属性表 (‘公司’ 公司机构后缀)
-
文法规则
词性模板(“NS+P+NS”)
wordrank算法
基本思想:一个词语在越多的子串中出现,且在子串中约重要,那么这个term的重要性就应该越高。
短语生成树
image算法步骤:
-
构建短语生成树,跟节点为所有单term按序组合成的短语。以idf值初始化(idf和term在不同文章出现的频次有关,猜想,这个词表的构建要考虑bigram)叶子节点。
-
从上往下递归计算,所有中间节点仅为2个term构成的子短语(可能不太准确)。
-
重新初始化叶子节点,迭代计算直到稳定(暂时未考虑,仅仅一次迭代)
网友评论