美文网首页
term weighting

term weighting

作者: RamosZhou | 来源:发表于2018-08-12 12:20 被阅读0次

    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
    算法步骤:
    1. 构建短语生成树,跟节点为所有单term按序组合成的短语。以idf值初始化(idf和term在不同文章出现的频次有关,猜想,这个词表的构建要考虑bigram)叶子节点。

    2. 从上往下递归计算,所有中间节点仅为2个term构成的子短语(可能不太准确)。

    3. 重新初始化叶子节点,迭代计算直到稳定(暂时未考虑,仅仅一次迭代)

    算法demo实现:

    https://github.com/waterzxj/wordrank

    相关文章

      网友评论

          本文标题:term weighting

          本文链接:https://www.haomeiwen.com/subject/girsbftx.html