Transcript Document

问答系统研究
Research on Question
Answering
黎新
[email protected]
2010-5-30
提
1、问答系统介绍
2、问答系统的研究情况
3、目前研究的热点问题
纲
问答系统介绍(1)


自动问答技术(Question Answering,QA)是综
合运用了自然语言处理、信息检索、语义分析、
人工智能等技术的一种新型的信息服务技术 。与
传统的搜索引擎不同,自动问答系统以自然语言
句子提问, 系统分析并理解用户的问题,返回用
户想要的答案。
例如:问题“Which city is the capital of
China?”(中国的首都是哪个城市?),问答系统将
会给出直接的答案“Beijing”(北京)。问答系统
比传统的搜索引擎更加直接、高效和准确。
问答系统介绍(2)

传统搜索=>问答式搜索
 关键字查询=>自然语言问题
 问答搜索:处理更复杂的信息需求

文档级响应=>精确答案相应
 文档相关度要求:与查询相关度低
 答案:要求精确和高度相关

数据源:网页数据库、FAQ库、百科全书
库、知识库等。
问答系统介绍(3)

研究现状

自动问答系统





START (MIT)
AskMSR(微软)
Lexxe
AnswerBus
ASK.com
TREC自动问答系
统评测
 社区问答系统


Ask.com (http://www.ask.com) 是目前最成功的
问答式检索系统,已经投入了商业运营,成为美
国第四大搜索引擎。Ask.com允许用户用自然语
言表述的问题作为查询进行提交 ,系统在理解用户
意图的基础上可以返回较为准确的信息。
例如:“Who is the richest man in the world?”
响应:“Bill Gates was named the world's
richest person by Forbes Magazine in 2009, with
a net worth of $40 billion dollars.”
问答系统介绍(4)--自动问答系统



问题分析模块
文档或段落检索模
块
答案获取和排序模
块
问题分析模块
问题
问题分类
语法语义分析
文档检索
段落或句子检索
答案获取和排序模块
相关性句子排序
“Who is the CEO of Microsoft ?
答案实体抽取
QA
SYSTEM
查询
关键字提取
答案(实体或句子)
Corporation?”
检索模块
Text
Corpora
返回最佳答案
问答系统介绍(4)--社区问答系统
百度知道、yahoo
Answer、新浪爱问 、
天涯问答等。
 通过互动问答的形式,
提供用户之间的知识
共享和交互服务。

问答系统研究内容

自动问答系统
 问题分析(分类、模板匹配、语义分析)
 段落检索
(段落抽取、排序)
 答案抽取 (实体识别、模板匹配、排序)

社区问答系统
 问题分类、问题推荐
 专家发现、信誉评估
 知识抽取
自动问答系统(1)-问题分析

用自然语言分析技术和语义分析技术,获取问句
包含的重要信息,从而让系统更好地理解用户的
问题。

问题分类、获取问题的关键字信息 、获取
问句的语法和语义信息

问题分类
把问题按照不同的
语义主题进行分类。
目的:为了理解问
句的问题目标,作
为答案查找的必要
的约束关系,对不
同类型的问题采取
不同的处理策略。
表格 1.1 粗略的问题分类和细分的问题分类
Coarse
Fine gained categories
ABBR
abbreviation, expansion
DESC
definition, description, manner, reason
animal, body, color, creation, currency, disease/medical,
ENTY
event, food, instrument, language,letter, other, plant, product,
religion, sport, substance,symbol, technique, term, vehicle, word
HUM
description, group, individual, title
LOC
city, country, mountain, other, state
NUM
code, count, date, distance, money, order, other,percent,
问题分类
DESC:manner How did serfdom develop in and then leave Russia ?
ENTY:cremat What films featured the character Popeye Doyle ?
DESC:manner How can I find a list of celebrities ' real names ?
ENTY:animal What fowl grabs the spotlight after the Chinese Year of the Monkey ?
ABBR:exp What is the full form of .com ?
HUM:ind What contemptible scoundrel stole the cork from my lunch ?
HUM:gr What team did baseball 's St. Louis Browns become ?
HUM:title What is the oldest profession ?
问题分类的方法

1. 正则表达式模型(Regular Expression
Model):利用句子的模式来判断问题的语义类
型,句子的模式包括疑问词、字词序列和一些与
问题类型相关的描述性的词语。例如,以“How
long”开头的问题往往是询问与距离或长度相关的
NUMBER(数字),以“When”开头的问题则问
的是某个TIME(时间)。以“What”提问的问题,
其语义类型则往往要根据其他的词语来决定,例
如,“What country”问题的类型是LOCATION
(地点), “What time”问题的类型则是TIME(时
间)。
基于机器学习的自动分类 。例如:训练支
持向量机分类模型SVM。
 基于语言模型的分类。

语言模型是针对某种语言建立的概率模型,
描述了语言的字词和词序列的分布规律,
已经被广泛应用于语音识别、自然语言处
理、机器翻译等领域。
 语言模型最主要是用来估计字词序列的概
率,其最关键的问题是:给定前面i -1个词,
如何估计第i个词的出现概率。


应用链式法则,一个字符串w1w2…wn的概率可以
定义为:
n
P( w1w2 ...wn )  P( w1 ) P(wi | S , w1...wi 1 )
i 2
其中S是给定的语言模型。如何估计是语言模型估
计的关键,完全考虑所有的历史w1、w2、…、
wi-1的计算复杂度过高,也是不现实的。

利用马尔科夫假设,只考虑有限的历史,假设第i
个单词wi仅依赖于前n个单词,即
P(wi | S , w1 , w2 ,..., wi 1 )  P(wi | wi n , wi n1 ,..., wi 1 )
n-gram 马尔科夫模型。 n = 1时,是一元马尔科
夫模型(Unigram model),一元模型下的字词
之间是关系是独立的,因此得到的是每个字词的
独立出现概率;n = 2时,是二元马尔科夫模型
(Bigram model)。

语言模型的估计一般用极大似然估计方法
(Maximum Likelihood Estimate),即
P( wi ) ML
C ( wi  n wi  n 1...wi 1 , wi )

C ( wi  n wi  n 1...wi 1 )

一元语言模型:假设所有的词独立。
问题Q:w1w2…wn, P(w|C)表示类型为C的
主题语言模型中w出现的概率。P(Q|C)表示
问题Q由类型C的语言模型产生的概率。
 二元语言模型:假设每个词与前一个词有
关。
问题分析(conf.)

获取问题的关键字信息
英文问句:自动完成了分词,
去掉停用词(Stopword)
和文本分块(Chunking)
中文问句:关键是分词技术。
命名实体识别。
关键词扩展。
Question
POS Tagger
NER
SPM
Question target,
Keywords,Constraints
Pattern Base

获取问句的语法和语义信息



语法信息主要是指关键字的语法角色、问句的语法树
和字词之间的依赖关系等。
一般借助于自然语言的分析工具,例如斯坦福大学的
语法解析器Standford Parser 和语法依赖关系解析工具
Minipar 或者利用人工设计的语义模板。
语义角色标注和框架语义(FrameNet)等技术。
问题“When did John go to the hospital ?”和问题“Where
did John go to the hospital ?”的语法树
FrameNet框架语义
语义角色识别
(1) [ARG1 Who] did [ARG0 Tom]
[TARGET kill]?
 (2) [ARG0 R.Kelly] [TARGET was killed]
by [ARG0 Tom].
 (3) [ARG1 Tom] [TARGET was killed] by
[ARG0 Jim].

自动问答系统(2)--检索模块

文档检索模块:文档检索的功能是利用问题分析生成的初
始查询,从文档库中检索出相关的文档。
检索工具:Lucene 、OKAPI、Lemur等。
算法:基于TF*IDF的向量空间模型、语言模型。

段落或句子检索模块:在文档检索结果的基础上的二次检
索,目的是从文档中抽取出可能包含了问题答案的文档片
段。
段落或句子检索
<Q> what is the longest river in China? </Q>
<P>The Yellow River, with a total length of 5464
kilometers, is the second longest river in China, just
next to the Yangtze River. </P>
<Q> who is the first president of United State?
<P>The 43rd and current President of the United States
is George W. Bush</P>
生成查询

“What is the longest river in
China?”
=> “longest river, china”
去停用词(Stop-Words):
“the”,“ a” ,“in”。
 词语替换

检索算法
Multitext
基于词频,倾向于选择长度较短的,包括具有较高idf值 的段落。
IBM
计算不同类型的词的 idf 值 然后对这些值作线性结合
IR-n
把查询和文档分别表示成关于关键字词频的向量,然后计算两个向量的点积。
SiteQ
根据词性对不同的词赋予不同的权值,然后累加各个词的权值 。
Liu et al.
利用统计语言模型和相关性模型来检索文档或段落。
Jiang et al.
基于隐马尔可夫模型的检索算法, 自动检测出最一致性的相关的段落的边
界,从而抽取出最相关一致的段落。
Cui et al.
模糊关系匹配方法,通过匹配问题与段落包含的关键字之间的依赖关系,来
计算的相关性

Gaizauskas等人(2003)和Usunier等人(2004)提
出一种两阶段的段落排序算法,首先利用IR引擎检索返回
N个初始的段落,其中N是一个较大的数目,并利用相关
性排序算法对它们排序;然后选择排在最前面的n(n < N)
个段落,并利用排序算法对这n个段落进行重新排序。
Usunier 等人(2004)利用机器学习的排序算法来解决这
个问题。对于给定的问题qi以及其对应的一个段落列表P =
{(pi,j, wi,j)},其中pi,j 表示问题qi 的第j个段落, wi,j表示pi,j
关于qi相关度得分,这些相关度得分与问题的不同特征有
关;然后把( qi ,P)作为输入特征来训练机器学习排序
算法。
Gaizauskas R et al.2003.The university of sheffield‘s trec 2003 Q&A
experiments[C]. TREC 2003。
Usunier et al. Boosting weak ranking functions to enhance passage
retrieval for Question Answering



Freund等人提出了RankBoostk 算法用来对一个对象集合
排序,并被广泛运用到协同过滤和Web搜索。
RankBoost 结合多种基本的排序函数,利用每个基本排序
函数的排序结果,并在这些结果的基础上学习一个最佳的
排序函数。
RankBoost算法利用对每个基本排序函数的排序评估标准
用基于排序的错误率准则来对排序结果打分。对于排序算
法ht ,如果其排序得分小于某个特定的阈值,则其权重参
数小于零,反之则大于零。Rankboost线性地结合各种基
本排序算法的结果,最终的总排序得分是: H  t ht
t
Freund Y et al.2003. An efficient boosting algorithm for combining
preferences[J]. Journal of Machine Learning Research, 4:933–969,
2003
Multitext 算法(1)

把段落或句子看作是一个有序的字词序列:d = t1
t2 t3...tn ,查询则是一个关键字集合:q = {t1 t2
t3…tm }。文档的相关性分数基于文档或段落的长
度和查询关键字的权重,查询关键字t的IDF权重
为: wt  log( N / ft )
其中ft 是关键字t在文档集合里出现的次数,N是
所有文档的长度的和。
Clarke et al. 2000. Question Answering By Passage Selection (MultiText
Experiments for TREC-9). Proceedings of the 9th Text REtrieval Conference, 282289.
Multitext 算法(2)
关键字集合T(T  q)的权重是T中包含的关
键字的权重的和: W (T )   w

 段落P的得分用如下公式计算:

t
t T
Score( p)  W (T ) | T | log( pl  1)
其中,T  p  q 是共同出现在段落P和查询q中
的关键字集合,pl是段落的长度。
Multitext 算法(3)

对于段落p1和p2 , T1  p1  q T2  p2  q
当 | T1 || T2 |并且p1和p2长度相等时,
Score(p1)> Score (p2)。
当 | T1 || T2 | 并且p1长度大于p2长度时,
Score(p1)< Score (p2)。
MultiText的检索方法认为,包含了较多的关键字
并且具有较短长度的段落具有较大的相关性。
IR-n算法 (1)

把查询和段落都表示成向量,为每个关键字计算
TF-IDF权重,然后计算向量的相似度。
S ( p, q)   tq (Wp ,t *Wq ,t )
W p ,t  log( f p ,t  1)
idf (t )  log( N / ft  1)
Wq ,t  log( f q ,t  1) * idf (t )
IR-n算法(2)

IR-n算法比较简单,只考虑查询和段落之间
共有的关键字,并且关键字在段落和查询
中的权重的定义是不一样的,而且不考虑
长度的区别,这是它和MultiText的最大区别。

Llopis et al. IR-n system, a passage retrieval system at CLEF 2001.
Workshop of Cross-Language Evaluation Forum (CLEF 2001), 2001.
SiteQ算法 (1)

根据词性对不同的词赋予不同的权值。段
落的相关性分两部分:
1.查询和段落的匹配关键字的权重的和,并
且,不同词性的关键字赋予不同的权重;
2.考虑查询的关键字在段落中的距离因素,
对距离远的关键字进行“惩罚”处理。
Lee et al. SiteQ: Engineering High Performance QA System Using Lexicosemantic Pattern Matching and Shallow NLP. TREC 2001.
SiteQ算法 (2)
SiteQ算法 (3)

SiteQ算法与IR-n的区别在于同一个关键字
在查询和句子中具有相同的权重,但是不
同的词性的关键字具有不同的权重;虽然
SiteQ不直接对段落长度做处理,但是引入
了关键字距离的因素,在一定程度上对长
度进行了一定的约束。
H    t ht
t
自动问答系统(3)-答案获取和排序模
块


在检索结果的基础上,利用自然语言分析技术分析句子,
通过模式匹配和信息抽取等技术,从候选的段落或句子中
抽取答案实体。
问题“Who is the president of United States?”
“Geoge W. Bush is the president of United States.”
模板“A_ is Q_”,其中A_表示答案部分,Q_表示问题部分,
用该模板和上述的句子匹配,就可以得到问题的答案A_

利用模板是一种行之有效的方法,其难点在于
如何获取足够多的模板来覆盖现实中的语言现
象。获取模板有两种方法,一是人工构造,二
是自动学习构造。
Question:
Q1:“What book did Rachel Carson write in 1962?”
Semantic Pattern:
P1: <Target:Entity\Product><Type:What>[Physical_Object
\Product] did [Physical_Object\Human] [Event\Action]?
Hao, T.,Y., Zeng, Q.,T., Liu, W. Y.Semantic Pattern for User-Interactive
Question Answering. Proc. of Second International Conference on
Semantics, Knowledge, and Grid (SKG'06), 2006.

利用句子中的字词的依
赖关系来抽取答案。问
句和答案句子中往往具
有相似的依赖关系,答
案实体在句子中的位置,
可以通过分析问句中的
疑问词涉及到的依赖关
系和句子中的关系比较
判断得到。

答案排序:基于信息距离的答案评估方法,通
过计算答案实体和问题之间的信息距离,并用信
息距离作为准则来衡量答案实体的正确性和相关
性。利用信息论的方法,计算实体之间的距离,
并通过计算答案句子中的实体和问句中的实体之
间的信息距离。

联合答案排序模型 :相关性+相似性。
社区问答系统(1)

问题推荐机制
用户模型:根据用户的历史记录信息,如浏览、提问和
回答的历史记录,来建立用户的配置文件。一方面可以根
据用户的兴趣提供个性化的服务,另一方面可以根据用户
的特长来向其推荐问题回答。
用户u往往既是问题的提供者,也是问题的回答者,
也是问答信息的浏览者,因此可以从三方面来定义用户模
型。一是用户所提问过的问题QSubmit;二是用户回答过
的问题QAnswer;三是用户的动作QAction,如浏览的版
面和对一些问题答案的“支持”或“反对”动作。

问题模型:
语义类别、关键字向量模型(TF*IDF)。
Q  tf (t1 ) * idf (t1 ), tf (t2 ) * idf (t2 ),..., tf (tm ) * idf (tm ) 

用ru,q来表示用户u潜在的能够回答问题q的可能性,假设
用户u模型是UserProfile,问题q的模型是QModel,则通
过计算相关度
ru ,q  Score(User Pr ofile, QModel )
来决定是否把问题q推荐给用户u回答、
把用户潜在感兴趣的内容推荐给他。
 协同推荐、基于内容的推荐、基于图结构的推荐等。
交互式问答结构(1)
Jiang Bian et al. Learning to Recognize Reliable Users and Content in
Social Media with Couple Mutal Reingforcement. WWW 2009.
交互式问答结构(2)
yua 表示用户u提供的答案a的质量,ya 表示答案a的质量, yuq 表示用户u
提供的问题q的质量, yq 表示问题q的质量。

专家发现(用户信誉值评估):利用提问
信息、回答信息、正确率等评估用户在某
个领域的兴趣和权威。
目的:推荐问题供用户回答。
研究的热点问题




新的类型的问题,特别是比较复杂的Complex问
题和技术推理的Why问题等。
相关性评估技术的研究:如何挖掘更好的特征来
评估相关性。
问答系统极其依赖于NLP技术、IE技术和人工智
能技术。然而,目前的NLP技术还难以对问题和
句子进行语义级别的分析。
中文问答系统的技术手段目前还很匮乏。
TREC QA Track
TREC QA Track:从1999年开始,由美国国防部和美国
国家技术标准局(NIST)联合主办的TREC (Text
REtrieval Conference)文本检索会议开设了问答系统方面
的研究评测。
 处理的问题主要分为三类:
1. Factoid问题,即关于某个事实的问题。“Who is the
president of USA?”
2. List问题,此类问题回答的是例如“List the sport
games? ”的问题,要求用关于某个类型的实例列表来回答;
3. Definition问题,问题如“What is atom?”,需要用定义
类型的句子来回答问题。其他的问题,则统称为other问
题。




对于factoid问题,返回的是一个答案词串
(answer-string)。
人工判定返回的结果的正确性,每个答案词串
被人工判定为以下四个结果中的一个:correct,
incorrect, not support, not exact。如果一个问
题的响应列表中有答案被判定为correct,则称
该问题被正确回答。
利用精度accuracy来对factoid问题的性能进行
评估:,其中n是所有问题中被正确回答的问题
的数目,N是所有问题的数目。

List问题要求返回的是实例的列表。对于问题q,利用实
例精度(instance precision,IP)和实例召回率
(instance recall,IR)来评估: IP  D / N
其中D是返回的结果列表中包含的正确实例数目,S是文
档中包含的所有正确实例的数目,N是最终返回的结果
列表的实例数目。然后把IP和IR结合起来计算F_score,
其中IP和IR的权重一样。
F

2  IP  IR
IP  IR
系统对于List问题的评估用平均F值来表示: AF   F ,
其中AF是平均F值,Fq 表示对于问题q的F值。
q
q


Definition问题。定义问题要求用定义类型的句子
作为响应,其响应结果是一个句子列表。利用基
于“信息片段(information nuggets)”的评估
方法来对此类问题评估,每个信息片段描述了定
义问题的主题的某个方面的内容。
对于某个问题q,首先人工在文档集合中建立一个
信息片段列表nugget_list,并人工判定每个信息
片段的重要程度(记为vital和invital);然后评估
者检查系统的输出,并标记输出的信息片段中,
出现在信息片段列表的片段,若出现,则标记为1,
被标记为1的片段组成matched_list。

召回率和精度:
Nugget Re call 
matched nuggets
totalnumberof nuggets
NuggetPr ecision  1 
length  allowance
length
其中,length是返回的nuggets的长度,
allowance是返回的nuggets允许的最大长度。
系统对于定义问题的F值为:
( 2  1)  Precision  Recall
F ( ) 
 2  Precision  Recall

系统最终得分:
FinalScore  0.5Factoid  0.25List  0.25Definiton
其他评测标准
平均正确度MAP(mean average
precision )
 平均倒排序值MRR(Mean Reciprocal
Rank)
 总倒文档排序值TRDR(Total Reciprocal
Document Rank)

MRR( N ) 
1
M
M
1
i 1
Rank fca (qi , N )

其中 Rankfca (q,N) 表示问题q的前N个结果
中,第一个正确的答案所在的位置, M表
示问题的总数.
P @ N (q) 
Cca ( q, N )
N
P @ n(q)  Cor (n)


AP @ N (q) 
N
n 1
Cca (q, N )

1 M
MAP 
  AP @ N (qi )
M i 1
其中 Cca (q,N) 为问题 q返回的前N个结果中正确
的个数, P@N(q) 是问题q在前N个结果中的精度;
Cor(n)是一个指示函数,用来表示第n个结果是否
是正确的,如果正确,则值为1,反之为0;
AP@N(q)是对于问题q 的平均精度 。
MRR和TRDR


与MRR只考虑第一个返回的正确答案不同,
TRDR不仅考虑了返回的正确答案的数目,并且
对不同排序位置的答案赋予不同的权重。例如,
如果第1个和第4个答案都是正确的,则对于该问
题,TRDR值为1/1+1/4=1.25。 显然,TRDR能
更好反映了系统对于问答的响应的实际情况。
用平均的TRDR值来评估系统的性能:
 N 1

ATRDR      I (i) 
j 1  i 1 i

M
表示位置i的结果是否是正确的答案,如果是,则
值为1,否则值为0。
基于多种特征的段落检索方法

研究问题
面向于自动问答系
统的章节检索
(passage retrieval)
方法, 处理的问题
是基于事实的factoid
问题。

Question
Analysis
Document
Retrieval
Passage
Retrieval
Answer
Extraction
<Q> what is the longest river in China? </Q>
<P>The Yellow River, with a total length of 5464
kilometers, is the second longest river in China, just
next to the Yangtze River. </P>
<Q> who is the first president of United State?
<P>The 43rd and current President of the United States
is George W. Bush</P>

在现有的段落检索算法中,大多利用字词
的密度和分布特征,这些方法的不足在于
缺乏对语义特征的考虑。段落的特点是简
短,因此不可能包含很多关键字,与文档
相比,数据稀疏性是其固有的缺陷。

越来越多的研究表明,利用多种特征来综
合评估相关性的方法的效果要优于只基于
某个特定特征的评估方法。因此,为了评
估问题和候选段落之间的语义相似度,我
们提出一种混合型相关性检索模型。该模
型结合了词汇相似度,主题相似度和结构
相似度。不仅考虑字词的密度特征,还考
虑关于内容和语义的特征。

字词相似度 :是基于问题和段落包含的关键字之
间的语义相关度统计,而不是简单的关键字匹配 。
关键词w 的上下文模型定义如下:
WPl , r ( w)  t l ,..., t1 , w, t1 ,..., tr 
C (w)  tf (t1 )* idf (t1 ), tf (t2 )* idf (t2 ),..., tf (tm )* idf (tm ) 

字词相似度计算:
LS (q, p)  (
 
Sim(t , w) I ( Sim(t , w)  threshold ) / Count
tV ( q ) wV ( p )
Count |{(t , w) | Sim(t , w)  threshold , t V (q), w V ( p)}|
Algorithm:LS ( p , q )
Input: a question q and a passage p.
Output: the lexical similarity between p and q.
count ← 0,
sum ← 0.0
P_list ← Pre_Process( p )
Q_list ← Pre_Process(q)
foreach term t in P_list
foreach term w in Q_list
if Sim(t,w) >= threshold
then sum ← sum + Sim(t,w)
count ← count + 1
return sum / count

主题相似度:假设主题语言模型是T,则问题q
和答案段落p都可以看作是由T生成的,因此,p
和q同时描述同一主题T的概率可以定义为:
P(p,q|T) ,其中P(p,q|T)是p和q在主题模型T中共
同出现的概率。
n
m
i 1
i 1
P ( p, q | T )  P ( p | T ) P (q | T )  P (t1, n | T ) P ( w1, m | T )   P (ti | T ) P ( wi | T )

主题语言模型T:
P (t i | T ) 

tf (ti )  P (ti )

j
tf (t j )  
 idf (ti )
主题相似度:
TS ( p, q)   P( p, q | T )
T

结构相似度:利用句子的主谓结构和语义约束
特征来判断候选段落和问句的相关性 。

第一种结构是字句转移。:“Wh-转移”,这意味以wh疑
问词打头的疑问句其答案句子与问句相比,会产生字句位
置的变换现象;第二种结构是语义角色识别,
(1) [ARG1 Who] did [ARG0 Tom] [TARGET kill]?
(2) [ARG0 R.Kelly] [TARGET was killed] by [ARG0 Tom].
(3) [ARG1 Tom] [TARGET was killed] by [ARG0 Jim].
SS ( p, q)  10
if p is the re-ordered clause of q or p and q hold thesame predicate arg ument

相关性模型定义成这三种相似度的带权线性组合 :
R( p, q)    LS ( p, q)   TS ( p, q)    SS ( p, q)

其中表示段落p和问题q的相关程度,α, β, 和γ 是
三个不同的参数用来表示不同的相似度的权重,
并且它们满足条件α + β + γ = 1( α>0, β>0, γ>0)。
基于图的段落排序算法
纯粹基于相关性相对大小次序的排序,没
有利用到文档或段落之间的关系,因此很
难从全局的角度对结果进行有效的排序。
 不仅考虑候选段落与问题之间的独立相关
性,而且利用候选段落之间的关系信息建
立图模型。

候选答案段落获取(1)


问题分类(Question Classfication)是一种考虑
了问题多样性的方法。通过问题分类,对不用类
型的问题采用不同的检索方法。
问题分类存在着的主题类别的交叉重叠现象,也
就是说同一个问题会同时从属于两个或多个子主
题;而且主题划分需要人工预先定义好所有的主
题以及主题之间的层次结构。
候选答案段落获取(2)
选择基于K近邻(K-Nearest Neighbour,
KNN)的方法。对于每一个新问题q,从问
题空间中动态获取k个与问题q相似的问题,
利用这些问题的信息对q进行扩展,然后利
用向量空间模型从文档集合中初始检索出
top-N个候选的答案段落。
 基于KNN的方法优势在于扩展性和适应性
强,不需要对问题空间进行主题划分,也
不需要预先定义好主题类别的层次结构。

KNN问题扩展(1)
特征选择
(1)问题疑问词(Question Type,QT),
主要是诸如“who”、“how”、“when”、
“what”、 “what time”等疑问词。

特证词相似度SimQT

(2)关键性概念词(Key Concepts,KC),主
要是问题的实体名词和谓语动词等,这些关键性
概念词在问题的内容描述中起着最直接和关键的
作用。用SimKC来表示两个问题的关键性概念词
的相似度


(3)短语向量(Phrase Vector,PV),利用基
本的语法分析器识别出问题中包含的语法结构,
如名词短语(noun-phrase, NN)、介词短语
(preposition phrases,PP)、动词短语(verb
phrase,VP)等。
问题包含的短语组成一个向量,称之为短语向量,
表示方式为<NN, PP,VP,…>,其中NN、PP和VP
等称之为短语成员。
短语成员的相似度定义为:1-如果两个成员
完全匹配;0.5-如果两个成员部分匹配,即
两个成员只是同义或近义的关系;0-如果两
个成员完全不匹配且也不是同义或近义关
系。
 用SimPV来表示两个问句短语向量的相似
度
1

SimPV (q , q )    sim( PV (q , i), PV ( q , i)) 
m


m
1
2
i 1
1
2

(4)向量空间描述(Vector Space
Representation,VSR),利用基于TF-IDF的向
量空间模型对问题进行表述,每个问题被表示成
关键词向量,每个关键字的权重则是它的TF-IDF
值。
SimVSR(q1 , q2 )  Cos (VSR(q1 ),VSR (q2 )) 

n
q * q2, k
k 1 1, k
|| VSR(q1 ) || * || VSR(q2 ) ||

利用上述特征,问题q可以用向量表示成q
= <QT, KC,PV,VSR>, 假设问题q1和q2都用
该模型表示,则可以用以下相似度计算函
数来计算两者的相似度:
Sim(q1 , q2 ) 
1
( SimQT (q1 , q2 )  SimKC (q1 , q2 )  SimPV (q1 , q2 )  SimVSR(q1 , q2 ))
norm
KNN问题扩展

对于问题q1和q2,它们的相似度越大,在
问题空间上的距离则越短,因此它们在问
题空间中的距离可以定义为两者的相似度
的倒数 :
1
Dist (q1 , q2 ) 
Sim(q1 , q2 )  
其中ε是一个较小的常数,主要是为了避免
相似度为零的特殊情况,取= 0.0001。

给定问题q,在问题空间中,与之最近邻的k个
最近邻居对q施加的影响是不一样的,因此采
用权值的方法,与q距离小的邻居具有较高的
权重。
假设问题q的原模型定义为M(q), 其在问题空间
中的k个最近邻的邻居分别为q1,q2,…,qk, 用这
k个邻居来对q的原模型进行修正,则问题q的
模型可以重新定义为:
1 k M (qi )
N (q)  M (q)  
k i 1 Dist (q, qi )
获取top-N候选段落

采用基于向量空间模型的检索方法来实现
这一目的。给定段落p和问题q,段落p与q
的相关性用基于向量空间模型的相似度计
算方法计算 :
Rinit ( p | q ) 
W (t , p ) * N (t , q )

|| p || * || q ||
t p  q
段落间关系对相关度的影响



如果段落A和段落B非常相似,当A与问题q很相关
时,B也有很大的可能性与q相关。
但是经常出现的情况是,在初始的排序中,A排
在较前面,但是B却排在很后面。
在图模型中的实现机制是,由于段落A和段落B非
常相似,因此它们之间存在着边(A,B), 段落A
的高相关性分数会通过边(A,B)向段落B传播,
从而提升了段落B的相关性分数。
边权重计算

基于内容的特征的段落的相似度计算方法
为:


 | p1  p2 |   | p1  p2 | 
SC ( p1 , p2 )  
 * Cos(VSR( p1 ), VSR( p2 ))
 *
1

span
max(|
p
|,|
p
|)

 
1
2


段落之间的“原始”的隶属关系对相似度的影
响,最终的段落之间的相似度,也就是段落段落之间的边的权重为:
SC ( pi , p j )if I(pi , p j 
w( pi , p j )  
  * SC ( pi , p j )if I(pi , p j 
其中 I(p , p  是指示性函数,当pi和pj 属于同一
个文档时,值为1,反之为0;是一个大于1的
参数,用来对属于同一文档的段落的相似度值
进行加强.
i
j
KNN-GRank算法


w( p, u )
R( p | q)  d * Rinit ( p | q)  (1  d )  
R(u | q) 


uadj [ p ]  zadj [ u ] w( z , u )


其中 Rinit ( p | q) 表示段落p和问题q之间的初始
相关性,表示连接两个相邻的段落u和z的边
的权重。参数d和(1- d)表示两部分分数的
不同权重,KNN-GRank算法是一个依赖于
参数d的排序算法。
基于排序的损失函数

一个好的排序函数在于排序结果的错误最小,也就是具有
较小的排序损失(ranking loss)。给定训练数据,其最
好的排序函数是使得排序损失最小的函数:
n
 *  argmin  L( f ( xk ), yk )
f 
k 1
其中f是排序函数,L是损失函数,xk是第k个问题
实例, yk是对应于xk的理想排序结果,f(xk) 是对
问题实际返回的排序结果。
排序交叉熵
ATRDR
参数k
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
40
50
60
70
k
k vs ATRDR
选择最佳的 k = 60
80
90
参数d
0.6
0.5
Loss
0.4
0.3
0.2
0.1
0
0.5
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
0.56
0.532
0.513
0.496
0.48
d
0.456
0.46
0.465
0.47
选择最佳的 d = 0.8
性能比较
Methods
MRR(1)
MRR(5)
ATRDR
VSM
0.2470
0.3102
0.6780
MITRE
0.3219
0.4073
0.7852
Our Method
0.5634
0.6520
0.9078
MRR(1)
Improve
MRR(5)
Improve
ATRDR
Improve
VSM
128.1%
110.2%
33.9%
MITRE
75.02%
60.07%
15.6%
谢谢!

Q&A