信息检索(一):A book about NLP


原文链接: https://web.stanford.edu/~jurafsky/slp3/ed3book.pdf

1. 信息检索与问答系统

问答的两种范式:

1)基于检索(retrieval-based)/ open domain qa
  从网络或论文集搜集相关文章,阅读文章,得出答案
  答案:spans of text
2)基于知识(knowledge-based)
  将问题构建成逻辑表示,然后从知识数据库中获得答案
  答案:来源于结构化的数据库

2. IR

2.1 基本概念

1)定义:一般说的IR都是 ad hoc retrieval(ad hoc是拉丁语,意为特定的,为了完成某目的)
2)过程:给query,返回一个collection的document(网页、论文、文章等)。
  term:一般指代collection中的一个word或者phrase

2.2 inverted index(倒排索引)

给定query,返回结果包含两部分
  a)dictionary (包含query中的term)
  b)postings(每个term都指向包含这个term的postings list/ doc-id list)

2.3 IR发展

1)最早期:bag-of-words,计数出现在query和doc中的单词,计算cosine相似度
  即,每个单词同等重要
2)第二阶段:term weighting(也就是出现在query和doc中的那些单词权重开始不同)
  两种 weighting 方案:tf-idf(term frequency-inverse document frequency)、BM25
  tf-idf中向量表示:doc向量的长度还是单词表的长度,每个单词对应位置的值就是它的 tf-idf 的值
  query向量的 tf 值基于 query 本身,idf 值是 query 的 term 在文档集合的 idf 值
3)第三阶段:Dense vector(密集向量)
  稀疏检索(tf-idf、bm25)的问题:如果query和doc不存在词汇重叠,不能检索到。(i.e. vocabulary mismatch problem)

2.4 IR系统评估

1)precision 和 recall
  假设与query相关的共有U个文档,返回T个,R个相关
  precision = R/T, recall = R/U
2)MAP(mean average precision)

2.5 IR-based QA系统

分为两部分:
  1)retrieve(检索相关doc)
  2)read(利用模型 阅读理解能力 得出答案)

2.6 阅读理解数据集

1)SQuAD(文章(文章中化成答案span)、问题、答案)
  SQuAD 2.0 里面包含了不能回答的问题(150K的问题)
2)HotpotQA
3)TriviaQA(94K问题,650K 问题-答案-证据 三元组)
4)Natural Questions(数据集中包含long answer(答案段落) 和 short answer(精确答案))
  query和wiki-page 输入到阅读理解模型,模型输出long answer, short answer, or ’no answer’
5)TyDi QA多语种

2.7 IR-based QA数据集

通常根据阅读理解数据集修改(一般是SQuAD和HotpotQA,里面包含了注释的Wikipedia)。
训练:原数据集(question, passage, answer)用来训练
推理:only-question。利用 IR 系统从 Wikipedia corpus 中检索 passage

2.8 阅读理解模型

1)是什么:普通编码器,例如bert。
  输入:[cls] question [sep] passage
  输出:答案 span
2)模型 fine-tune 阶段:
  a)补充训练 linear layer,预测span的开始和结束位置
  b)补充训练 span-start向量S 和 span-end向量E,用于计算每个token作为开始token和结束token的概率
PS:对于bert输入最长512个token,可以将文章切成多段,每段与question拼接。

3. Entity Linking

3.1 基础知识

1)定义:将文本中的 mention 与现实世界的 entity 相关联(与wiki相联系,也叫做wikification)
2)做法:wikipedia 被用作 ontology
    wikipedia-page 是一个 entity 的 unique id
3)两个阶段:
  a)mention detection
  b)mention disambiguation
4)两种算法
  a)利用anchor dictionaries(锚定字典)和 Wikipedia 图结构的信息
  b)神经网络算法

3.2 Linking based on Anchor Dictionaries and Web Graph

1)TAGME linker
  a)创建entity(wiki pages)目录
  b)在IR引擎中进行索引(IR引擎例如:lucene)
    对于每个页面,都有in-link计数(其他页面链接到这个页面的数量)
2)anchor dictionary(锚字典):
  网址+锚文本(anchor texts)
  字符串a的link probability = link(a) / freq(a)(i.e.也就是作为链接出现的次数/它出现的总次数)
  ps:锚字典中一般存储链接概率大的字符串,认定这些字符串就是实体
    mention detection就是到这个锚字典里来比较
3)mention detection
4)mention disambiguation
  a)某个mention,假设是a,对应多个实体e。
  b)最终链接到哪个e,取决于两个要素:p(e|a),e与整个query的其他实体的相关性

3.3 Neural Graph-based linking

1)经典算法(两个编码器):question encoder 和 entity encoder(可以预先将wiki的所有entity编码并缓存)
2)ELQ算法
  a)input:question + 带有wiki上下文的候选entity
  b)output:(实体id,mention start,mention end)
  c)原理:encoding entity使用wiki-text,encoding mention使用question,然后计算相似度
  d)算法结构:分为下面3)和4)的两块,监督训练(需要带有标注的数据集:标注entity boundaries和linked)
    训练过程:两部分联合训练,Entity Mention Detection是交叉熵损失,Entity Linking是条件概率损失
  e)数据集:WebQSP和GraphQ
3)Entity Mention Detection
4)Entity Linking
  a)对于entity的编码,取wiki-title与该title页面的前128个token作为description,一起输入bert,得到的cls即为该entity的编码
  b)最终链接过程,分析每个span它的实体分布(softmax)

4. Knowledge-based Question Answering

4.1 基础知识

1)将query 映射到结构化知识库
2)两种方式
  a)graph-based QA:将知识库建模为图(节点:实体,边:关系和属性)
  b)QA by semantic parsing:语义解析
  ps:都需要实体链接过程

4.2 Knowledge-Based QA from RDF triple stores(图存储)

1)基于图的QA,数据集是RDF三元组的形式(三元组:subject–predicate–object)
2)本体:DBpedia(2billion triples)
    Freebase(part of wikidata)
3)数据集:SimpleQuestions、FreebaseQA、WEBQUESTIONS、WEBQUESTIONSSP、COMPLEXWEBQUESTIONS
4)实体链接过程
  a)query中的实体链接到三元组实体
  b)明确关系(求query与关系之间的相似度)
  c)利用a和b得到的实体(top j)和关系(tok k),进行各种方式的排名

4.3 QA by Semantic Parsing(一般是关系数据库)

1)将query变成谓词演算、SQL或SPARQL、其他的一些可执行程序
2)数据集:GEOQUERY、DROP、ATIS
3)常用模型:seq2seq(bert编码之后,进入encoder-decoder模型(例如bilstm和transformer))
  input:question
  output:logical form

5. Using Language Models to do QA

1)定义:利用 pretrained 大模型来回答问题
2)T5为例 训练任务:填空
  fine-tune:给定question,没有上下文,利用模型参数直接出答案

6. Classic QA Models

1)Watson QA(IBM)赢了Jeopardy!challenge2011
2)系统架构
  a)question processing(实体检测、实体链接等)
  b)Candidate Answer Generation(取wiki查找候选实体)
  c)Candidate Answer Scoring
  d)Answer Merging and Scoring

7. Evaluation of Factoid Answers

1)MRR(mean reciprocal rank)
  定义:第一个正确答案的倒数求和取平均
2)SQuAD在阅读理解任务的两个指标
  a)Exact match:预测与gold完全匹配的比例
  b)F1 score:重叠的比例
3)QA测试数据集
  a)TREC QA(1999)
  b)AI2 Reasoning Challenge(ARC)(2018)

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值