QuestionAnsweringNote

Question answering


factoid question: 可以用简短的事实回答的问题
two paradigms:

  • IR-based/text-based question answering
    依赖大量信息或者数据集例如PUBMED,给定问题从这些documents中抽取passage

    处理问题先确定可能的答案类型(通常是命名实体)
    制定查询发送到搜索引擎-
    搜索引擎将排序的文档分解成合适的段落并排列
    最后答案从passages中提取并排序


  • knowledge-based question answering

构建查询的语义表示,query的含义可以是完整的谓词演算语句


大型的系统一般是混合的,IBM Waston里的DeepQA就用了结构化知识库和文本数据集来回答问题。

从问题中提取各种含义
(parses,关系,命名实体,本体论信息ontological information)
在知识库和维基百科等文本来源中发现大量候选答案
使用各种知识对候选答案进行评分

IR-based

goal:web/文本上找到短文本来回答问题

3个阶段phases:


1.question processing

提取信息:答案类型-实体种类(人,地点) 
query指定了IR系统搜索时用的关键字。
有的系统也提取一个focus:可能被任何答案中的字符串替换??
逗得系统也分类问题的类型Answer type:数学问题,列表问题

Which US state capitol has the largest population?
The query processing should produce results like following:
Answer Type: city
Query: US state capitol, largest, population
Focus: state capitol

1.1 常用任务1:Answer Type Detection (Question Classification)

可以从一组命名实体找到answer type 还有wordnet
可以通过手写规则,监督机器学习或者某些组合来构建
用于分类的典型特征包括问题中的单词,词性,命名实体

1.2 常用任务2:Query Formulation

创建可以发送到搜索引擎的关键字列表
应用较小文档时,还可以应用扩展:内容单词的所有形态变体或者同义词

2.passage retrieval and ranking

处理阶段创建的query用于检索系统
document retrieval的结果是一组documents,尽管doucuments排好序了
但顺序可能不对,document不是一个适当的单位。
下一阶段是提取一组潜在的答案passage,定义passage方法不同,
有sections,paragraphs,sentences等。
passage retrieval:过滤,剩下的基于监督的机器学习排序。
特征主要有:
        正确类型的实体数量,
        段落中问题关键字的数量,
        问题关键字的最长确切序列,
        段落所在文档的排名,
        关键字之间的最短跨度,
        passage和question之间的N-gram overlap

3.answer processing

两类算法:

  • 基于答案类型模式的提取answer-type pattern extraction

    正则和预测答案类型

  • 基于N-gram拼图 N-gram tiling或者叫基于冗余redundancy-based approach


knowledge-based

把文本字符串映射到语义解析,再映射到一些谓词演算或者查询语言中,比如SQL,
问题的逻辑形式也可以是查询形式。数据库可以是关系式的也可以是简单的结构化数据库比如RDF三元组(有两个参数的谓词)。
最简单的形式是回答一个三元组缺失论点之一的类型问题。

主要方法:

Rule-based Methods
Supervised Methods
Dealing with Variation: Semi-Supervised Methods半监督的方法

watson deepQA system


Evaluation of Factoid Answers

mean reciprocal rank, or MRR