1.02k likes | 1.28k Views
问答系统研究 Research on Question Answering. 黎新 xinli@mail.ustc.edu.cn 2010-5-30. 提 纲. 1 、问答系统介绍 2 、问答系统的研究情况 3 、目前研究的热点问题. 问答系统 介绍 ( 1 ). 自动问答技术( Question Answering , QA )是综合运用了自然语言处理、信息检索、语义分析、人工智能等技术的一种新型的信息服务技术 。与传统的搜索引擎不同,自动问答系统以自然语言句子提问, 系统分析并理解用户的问题,返回用户想要的答案。
E N D
问答系统研究Research on Question Answering 黎新 xinli@mail.ustc.edu.cn 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)--自动问答系统 • 问题分析模块 • 文档或段落检索模块 • 答案获取和排序模块
问答系统介绍(4)--社区问答系统 • 百度知道、yahoo Answer、新浪爱问 、天涯问答等。 • 通过互动问答的形式,提供用户之间的知识共享和交互服务。
问答系统研究内容 • 自动问答系统 • 问题分析(分类、模板匹配、语义分析) • 段落检索 (段落抽取、排序) • 答案抽取 (实体识别、模板匹配、排序) • 社区问答系统 • 问题分类、问题推荐 • 专家发现、信誉评估 • 知识抽取
自动问答系统(1)-问题分析 • 用自然语言分析技术和语义分析技术,获取问句包含的重要信息,从而让系统更好地理解用户的问题。 • 问题分类、获取问题的关键字信息 、获取问句的语法和语义信息
问题分类 把问题按照不同的语义主题进行分类。 目的:为了理解问句的问题目标,作为答案查找的必要的约束关系,对不同类型的问题采取不同的处理策略。
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的概率可以定义为:应用链式法则,一个字符串w1w2…wn的概率可以定义为: 其中S是给定的语言模型。如何估计是语言模型估计的关键,完全考虑所有的历史w1、w2、…、wi-1的计算复杂度过高,也是不现实的。
利用马尔科夫假设,只考虑有限的历史,假设第i个单词wi仅依赖于前n个单词,即利用马尔科夫假设,只考虑有限的历史,假设第i个单词wi仅依赖于前n个单词,即 n-gram 马尔科夫模型。 n = 1时,是一元马尔科夫模型(Unigram model),一元模型下的字词之间是关系是独立的,因此得到的是每个字词的独立出现概率;n = 2时,是二元马尔科夫模型(Bigram model)。
语言模型的估计一般用极大似然估计方法(Maximum Likelihood Estimate),即
一元语言模型:假设所有的词独立。 问题Q:w1w2…wn, P(w|C)表示类型为C的主题语言模型中w出现的概率。P(Q|C)表示问题Q由类型C的语言模型产生的概率。 • 二元语言模型:假设每个词与前一个词有关。
问题分析(conf.) • 获取问题的关键字信息 英文问句:自动完成了分词, 去掉停用词(Stopword) 和文本分块(Chunking) 中文问句:关键是分词技术。 命名实体识别。 关键词扩展。
获取问句的语法和语义信息 • 语法信息主要是指关键字的语法角色、问句的语法树和字词之间的依赖关系等。 • 一般借助于自然语言的分析工具,例如斯坦福大学的语法解析器Standford Parser 和语法依赖关系解析工具Minipar 或者利用人工设计的语义模板。 • 语义角色标注和框架语义(FrameNet)等技术。
问题“When did John go to the hospital ?”和问题“Where did John go to the hospital ?”的语法树
语义角色识别 • (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的向量空间模型、语言模型。 • 段落或句子检索模块:在文档检索结果的基础上的二次检索,目的是从文档中抽取出可能包含了问题答案的文档片段。
生成查询 • “What is the longest river in China?” => “longest river, china” • 去停用词(Stop-Words):“the”,“ a” ,“in”。 • 词语替换
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线性地结合各种基本排序算法的结果,最终的总排序得分是: 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权重为: 其中ft 是关键字t在文档集合里出现的次数,N是所有文档的长度的和。 Clarke et al. 2000. Question Answering By Passage Selection (MultiText Experiments for TREC-9). Proceedings of the 9th Text REtrieval Conference, 282-289.
Multitext 算法(2) • 关键字集合T( )的权重是T中包含的关键字的权重的和: • 段落P的得分用如下公式计算: 其中, 是共同出现在段落P和查询q中的关键字集合,pl是段落的长度。
Multitext 算法(3) • 对于段落p1和p2 , 当 并且p1和p2长度相等时, Score(p1)> Score (p2)。 当 并且p1长度大于p2长度时, Score(p1)< Score (p2)。 MultiText的检索方法认为,包含了较多的关键字并且具有较短长度的段落具有较大的相关性。
IR-n算法 (1) • 把查询和段落都表示成向量,为每个关键字计算TF-IDF权重,然后计算向量的相似度。
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 Lexico-semantic Pattern Matching and Shallow NLP. TREC 2001.
SiteQ算法 (3) • SiteQ算法与IR-n的区别在于同一个关键字在查询和句子中具有相同的权重,但是不同的词性的关键字具有不同的权重;虽然SiteQ不直接对段落长度做处理,但是引入了关键字距离的因素,在一定程度上对长度进行了一定的约束。
自动问答系统(3)-答案获取和排序模块 • 在检索结果的基础上,利用自然语言分析技术分析句子,通过模式匹配和信息抽取等技术,从候选的段落或句子中抽取答案实体。 • 问题“Who is the president of United States?” “Geoge W. Bush is the president of United States.” 模板“A_ is Q_”,其中A_表示答案部分,Q_表示问题部分,用该模板和上述的句子匹配,就可以得到问题的答案A_
利用模板是一种行之有效的方法,其难点在于如何获取足够多的模板来覆盖现实中的语言现象。获取模板有两种方法,一是人工构造,二是自动学习构造。利用模板是一种行之有效的方法,其难点在于如何获取足够多的模板来覆盖现实中的语言现象。获取模板有两种方法,一是人工构造,二是自动学习构造。 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)。
用ru,q来表示用户u潜在的能够回答问题q的可能性,假设用户u模型是UserProfile,问题q的模型是QModel,则通过计算相关度用ru,q来表示用户u潜在的能够回答问题q的可能性,假设用户u模型是UserProfile,问题q的模型是QModel,则通过计算相关度 来决定是否把问题q推荐给用户u回答、 把用户潜在感兴趣的内容推荐给他。 • 协同推荐、基于内容的推荐、基于图结构的推荐等。
交互式问答结构(1) Jiang Bian et al. Learning to Recognize Reliable Users and Content in Social Media with Couple Mutal Reingforcement. WWW 2009.
yua表示用户u提供的答案a的质量,ya 表示答案a的质量, yuq表示用户u提供的问题q的质量, yq 表示问题q的质量。