BUPTTeam Participation in NTCIR-12 Short Text Conversation Task

系统架构为:

BUPTTeam Participation in NTCIR-12 Short Text Conversation Task

1.1预处理

首先对多有的对话对进行文本处理,如繁体转换为简体,过滤特殊字符,英文字符,数字处理等,并对处理好的文本进行分词处理.

1.2建立索引

使用Elasticsearch方法

1.3生成候选query

由Elasticsearch方法得到top10个候选的query,再有得到的query通过Elasticsearch算法得到对应的10个response,

Elasticsearch算法:

对于query p 和c,计算他们的得分为:

score(p,c)=pm(p)cd(p,c)tf(p)idf(c)nm(c)

pm(p)=1/wiset(p)idf2(wi)

idf(wi)=1+lognumDocsdocFreg+1e

cd(p,c)=|set(pset(c))||set(p)|

|set(p)|set(p)中的词的个数.

tf(p)=wiset(p)f(wi)

nm(c)=1/|set(c)|

1.4query排序

为了找到与输入对匹配的response,需要对于生成的候选query进行排序.排序算法为random walk:

r^0=\alpha

r^{t+1}=(1-\lambda)\times T\times r^t+\lambda\times\alpha

式中,t没迭代次数,\alpha为初始向量.

计算输入p与candidate c的得分如下:

E(c)=score(p,c)*r(c)

安装E(c)值对所有candidate进行排序.

效果对比

BUPTTeam Participation in NTCIR-12 Short Text Conversation Task