Natural Language Processing 简明教程
NLP - Information Retrieval
信息检索 (IR) 可以定义为一个软件程序,该程序处理信息库(尤其是文本信息)中的组织、存储、检索和评估。该系统协助用户查找所需信息,但它不会明确返回问题的答案。它会通知包含所需信息的文档的存在和位置。满足用户需求的文档称为相关文档。一个完美的信息检索系统只会检索相关文档。
借助以下图表,我们可以了解信息检索 (IR) 的过程:
从上图可以明显看出,需要信息的用户必须以自然语言查询的形式制定请求。然后,IR 系统会通过以文档的形式检索所需信息的相关输出作出响应。
Classical Problem in Information Retrieval (IR) System
信息检索研究的主要目标是开发一个用于从文档库中检索信息的模型。这里,我们将讨论一个经典的问题 ad-hoc retrieval problem ,该问题与 IR 系统相关。
在即席检索中,用户必须以描述所需信息的自然语言输入查询。然后,IR 系统将返回与所需信息相关的所需文档。例如,假设我们在互联网上搜寻某样东西,它提供了符合我们要求的一些确切页面,但也可能有一些不相关的页面。这是由于即席检索问题。
Aspects of Ad-hoc Retrieval
以下是 IR 研究中涉及的即席检索的一些方面:
-
用户在相关反馈的帮助下如何改进对查询的原始表述?
-
如何实现数据库合并,即如何将来自不同文本数据库的结果合并到一个结果集中?
-
如何处理部分损坏的数据?哪种模型适合同样情况?
Information Retrieval (IR) Model
在数学上,模型在许多科学领域中使用,旨在了解现实世界中的一些现象。信息检索模型预测并解释用户将在与给定查询相关的内容中找到什么。IR 模型基本上是一种模式,它定义了检索过程的上述方面,并包括以下内容:
-
A model for documents.
-
A model for queries.
-
将查询与文档进行比较的匹配功能。
在数学上,检索模型包括:
D - 文档表示。
R - 查询表示。
F - D、Q 及其之间关系的建模框架。
R (q,di) - 根据查询对文档进行排序的相似性函数。它也称为排名。
Design features of Information retrieval (IR) systems
下面我们来了解信息检索系统的设计特征。
Inverted Index
大多数信息检索系统的主要数据结构是以倒排索引的形式存在的。我们可以将倒排索引定义为一种数据结构,针对每一个单词,列出所有包含该单词的文档以及该单词在各文档中出现的频率。这使得针对查询词搜索“命中”结果变得轻而易举。
The Boolean Model
这是最古老的信息检索 (IR) 模型。该模型基于集合论和布尔代数,其中文档为术语集,而查询是对术语的布尔表达式。布尔模型可以定义为:
-
D − 一组单词,即文档中出现的索引术语。这里,每个术语要么存在 (1),要么不存在 (0)。
-
Q − 布尔表达式,其中项是索引项而运算符是逻辑积 − AND,逻辑和 − OR 和逻辑差 − NOT
-
F − 布尔代数介于项集以及文档集如果我们谈论相关性反馈,那么在布尔信息检索模型中,相关性预测可以定义如下 −
-
R − 当且仅当文档满足查询表达式时,被预测为与查询表达式相关 −
((𝑡𝑒𝑥𝑡 ˅ 𝑖𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛) ˄ 𝑟𝑒𝑟𝑖𝑒𝑣𝑎𝑙 ˄ ˜ 𝑡ℎ𝑒𝑜𝑟𝑦)
我们可以通过将查询项解释为文档集的明确定义来解释这个模型。
例如,查询项 “economic” 定义索引有项 “economic” 的文档集。
现在,在将项与布尔 AND 运算符组合之后结果会是什么?它会定义小于或等于任何单独项的文档集。例如,带有项 “social” 和 “economic” 的查询将产生同时索引有这两个项的文档集。换句话说,具有两种集合交集的文档集。
现在,在将项与布尔 OR 运算符组合之后结果会是什么?它会定义大于或等于任何单独项的文档集。例如,带有项 “social” 或 “economic” 的查询将产生索引有项 “social” 或 “economic” 的文档集。换句话说,具有两种集合并集的文档集。
Disadvantages of the Boolean Model
布尔模型的缺点如下 −
-
模型的相似度函数为布尔。因此,不会有部分匹配。这可能让用户烦恼。
-
在这个模型中,布尔运算符的使用比关键单词有更大的影响。
-
查询语言富有表现力,但也很复杂。
-
对检索到的文档没有排名。
Vector Space Model
由于布尔模型的上述缺点,Gerard Salton 和他的同事们提出了一个基于 Luhn 相似度准则的模型。Luhn 制定的相似度准则指出,“两个表示在给定元素及其分布上越一致,则它们表示相似信息的概率就越高。”
考虑以下重要方面,以便更多地了解向量空间模型 −
-
索引表示形式(文档)和查询被视为嵌入在高维欧几里得空间中的向量。
-
文档向量与查询向量的相似度测量通常是它们之间夹角的余弦。
Cosine Similarity Measure Formula
余弦是一种归一化点积,可以用以下公式计算:
得分\lgroup\vec{d}\vec{q}\rgroup= \frac{\sum_{k=1}^m d_{k}\:.q_{k}}{\sqrt{\sum_{k=1}^m\lgroup d_{k}\rgroup^2}m\lgroup q_{k}\rgroup^2 }
得分\lgroup \vec{d} \vec{q}\rgroup =1\:当\:d =q
得分\lgroup\vec{d}\vec{q}\rgroup=0\:当\:d\:和\:q\:不共享任何项目时
Vector Space Representation with Query and Document
查询和文档由一个二维向量空间表示。术语为 car 和 insurance 。在向量空间中有一个查询和三个文档。
作为对术语汽车和保险的响应,排名最高的文档将为文档 d2 ,因为 q 和 d2 之间的角度最小。造成这一结果的原因在于,汽车和保险这两个概念在d2中都很突出,因此具有较高的权重。另一方面, d1 和 d3 也提到了这两个术语,但在每个案例中,其中一个在文档中都不是一个中心重要的术语。
Term Weighting
术语加权表示向量空间中术余的权重。术语的权重越高,术语对余弦的影响就越大。应该为模型中更重要的术语分配更多权重。现在这里出现的问题是,我们如何对此建模。
执行此操作的一种方法是将文档中的单词作为其术语权重计数。但是,您认为这会是一种有效的方法吗?
另一种更有效的方法是使用 term frequency (tfij), document frequency (dfi) 和 collection frequency (cfi) 。
Forms of Document Frequency Weighting
现在,让我们了解文档频率加权的不同形式。形式如下所述:
Term Frequency Factor
这也称为术语频率因子,这意味着如果某个术语 t 经常出现在某个文档中,那么包含 t 的查询应检索该文档。我们可以将单词 term frequency (tfij) 和 document frequency (dfi) 组合成一个权重,如下所示:
权重 \left ( i,j \right ) =\begin{cases}(1+log(tf_{ij}))log\frac{N}{df_{i}}\:如果\:tf_{i,j}\:\geq1\\0 \:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\: 如果\:tf_{i,j}\:=0\end{cases}
在此 N 是文档的总数。
User Query Improvement
任何信息检索系统的首要目标都必须是准确性,即根据用户要求生成相关文档。然而,这里出现的问题是我们如何通过改进用户的查询形成样式来改进输出。当然,任何 IR 系统的输出都取决于用户的查询,格式良好的查询会产生更准确的结果。用户可以在 relevance feedback 的帮助下改进自己的查询,这是任何 IR 模型的一个重要方面。
Relevance Feedback
相关反馈采集到最初因给定查询而返回的输出。此初始输出可用于收集用户信息,并了解该输出是否与执行新查询相关。反馈可分类如下:
Explicit Feedback
它可以定义为从相关性评估者获得的反馈。这些评估者还将指示从查询中检索到的文档的相关性。为了改进查询检索性能,相关反馈信息需要与原始查询插值。
系统评估者或其他用户可以通过使用以下相关性系统明确指示相关性:
-
Binary relevance system − 此相关反馈系统指示文档是针对给定查询相关 (1) 还是不相关 (0)。
-
Graded relevance system − 分级相关反馈系统根据使用数字、字母或描述的分级来指示文档针对给定查询的相关性。描述可以是“不相关”、“有点相关”、“非常相关”或“相关”。