给query的每一个term计算一个权重(term weight)

先展现个结果北京 故宫 票价 多少 钱北京 到 哈尔 滨 火车 票价 多少RANK_0表示这个term是核心词,,RANK_1表示基本词,RANK_2表示可省略词。RANK_X后面的数字表示该term的权重,区间是。可以看出,在第一个query中,”北京“是普通词,而在第二个query中,“北京”是核心词。该结果来源于这个开源项目Query Term Analyzer。具体算法和工程代码在项目的网站上有介绍。整体上是采用机器学习的方法,将term的权重转换为分类与ranking问题。原始语料主要来自于用户query以及相应的点击行为,通过聚类以及统计算法生成训练模型所需要的语料。主要特征包括如下几个方面:1.通过ngram考虑query的语法结构(CRF model);2.通过language model考虑term对于query质量的贡献;3.term自身以及与query的信息(位置,长度等);4. 全局统计信息。 其中前三个明显是与具体上下文相关的。 在项目中,以上这些特征都是各种语言通用的,这里提供一个中文的demo package(http://1drv.ms/1eew2QX),下载后请参考使用(需要安装.NET Framework 4.5版本)
■网友
【给query的每一个term计算一个权重(term weight)】 可参考下面几种做法,如果能拿到点击日志时,效果相比于其他方法是比较好的
星轨数据:Query词权重方法(1) - 基于语料统计星轨数据:Query词权重方法(2) - 基于点击日志星轨数据:Query词权重方法(3) - 基于有监督学习星轨数据:Query词权重方法(4)- beyond 词粒度

■网友
能具体讲解下,怎么从点击数据来生成标注数据么?根据点击文档标题词和query词交集?这里的词权重怎么归一化?


    推荐阅读