文章目录
- 论文标题:自动文本检索中的术语加权方法
- 摘要
- 1. 自动文本分析
- 2. 词权重规范
- 3. 术语加权实验
- 4 推荐
- 4.1 查询向量
- 4.2 文档向量
论文标题:自动文本检索中的术语加权方法
论文链接:https://www.cs.colostate.edu/~howe/cs640/papers/salton_termWeighting.pdf
在自动文本检索中,术语加权(Term Weighting)是一种非常重要的技术。它通过对文档中每个词的权重进行计算,以确定其在检索过程中的重要性。这种方法可以帮助搜索引擎更准确地找到用户所需的文档。
常用的术语加权方法有以下几种:
- TF-IDF(Term Frequency-Inverse Document Frequency):这是一种经典的术语加权方法,它结合了词频(TF)和逆文档频率(IDF)两个因素。TF-IDF 的基本思想是:如果一个词在一个文档集中的出现频率较高,而在特定文档中的出现频率较低,那么这个词对于这个文档的重要性就越高。
- BM25(Best Match 25):这是一种基于概率的术语加权方法。BM25 认为一个词对文档的重要程度取决于它在文档中的出现频率和在整个文档集中的出现频率。与 TF-IDF 不同的是,BM25 还考虑到了文档的长度因素。
- Language Modeling:语言建模是一种通过建立文档的语言模型来计算术语权重的方法。它的基本思想是:一个好的术语应该能够帮助我们更好地预测文档中的其他词。常见的语言建模方法包括 N-gram、Hidden Markov Model(HMM)和 Latent Dirichlet Allocation(LDA)等。
- Deep Learning:深度学习是一种通过神经网络模型来计算术语权重的方法。它可以自动地从大量文本数据中学习到有用的特征,并用于提高文本检索的准确性。常见的深度学习模型包括 Convolutional Neural Network(CNN)、Recurrent Neural Network(RNN)和 Transformer 等。
这些术语加权方法各有优缺点,在实际应用中可以根据具体需求选择合适的方法。
摘要
过去20年的实验数据表明,基于分配适当加权的单个词的文本索引系统可以产生比其他更复杂的文本表示方法更好的检索结果。这些结果在很大程度上取决于有效术语权重系统的选取。本文总结了自动术语加权的见解,并提供了基本的单术语索引模型,以便与其他更复杂的文本分析方法进行比较。
1. 自动文本分析
在20世纪50年代末,Luhn [1]首次提出,可以通过比较存储的文本和用户信息查询的内容标识符来设计自动文本检索系统。通常,从文档和查询的文本中提取某些词汇用于内容识别;或者,内容表示可以通过熟悉所考虑的主题领域和文档集合内容的专业索引员手动选择。在两种情况下,文档都将通过如下形式的词向量来表示:
其中每个tk标识分配给某个样本文档D的内容项。类似地,信息请求或查询可以表示为向量形式或布尔语句形式。因此,一个典型查询Q可能被制定为:
或者
在这里,qk再次表示分配给查询Q的项。
通过在每个向量中包含系统中允许的所有可能的内容项,并添加项权重分配以提供项之间的区别,可以更正式地表示方程式(1)和(2)中的术语向量。因此,如果W&(或Wqk)表示在文档D(或查询Q)中术语tk的权重,并且有t个术语可用于内容表示,那么文档D和查询Q的词向量可以写成:
和
在上述公式中,假定当术语k未分配给文档D(或查询Q)时,wdk(或wqk)等于0;对于已分配的术语,wdk(或wqk)等于1。
根据方程(4)中的向量表示,可以通过比较相应的向量来获得查询文档相似度值,例如使用传统的向量乘积公式:
当术语权重限制为之前建议的0和1时,方程(5)的向量产品衡量了共同分配给查询Q和文档D的术语数量。
在实际应用中,人们发现为内容表示分配的术语提供更高程度的区分度是有用的,这比仅使用0和1权重要更可行。特别是,可以按照术语重要性的递减顺序分配术语权重,在这种情况下,权重wdk(或wqk)可以在0和1之间连续变化,较高的权重分配接近1,用于最重要的术语,而较低的权重接近0则用于描述不太重要的术语。在某些情况下,使用归一化权重分配也可能很有用,其中每个术语的权重在一定程度上取决于同一向量中其他术语的权重。一个典型的使用向量长度归一化因子的术语权重是(用于文档):
或者(用于查询):
当使用长度归一化的词权重系统与向量相似度函数(方程式5)时,可以获得著名的余弦向量相似度公式,该公式在实验性的智能检索系统[2,3]中得到了广泛的应用:
一个执行全局比较的向量匹配系统,用于查询和文档向量之间的排名检索输出,以计算Q和D之间相似度的递减顺序排列。这种排序输出非常有用,因为现在可以控制检索到的文档集的大小,并且基于连续查询改写的迭代检索策略得到了简化。一个系统首先检索那些被认为对用户主要感兴趣的项目,必然会在交互式信息检索中起到帮助作用。
在设计自动文本检索系统时,必须面对两个主要问题。首先,应包含在文档和查询表示中的合适的内容单位是什么?其次,确定词权重是否能够区分出对于内容识别至关重要的词语和那些相对不那么关键的词语?
关于首先选择内容术语,必须考虑各种可能性。在大多数早期实验中,仅使用单个术语来表示内容,通常由从文档文本和自然语言查询公式中提取的词语组成。在许多情况下,使用单术语内容表示已经获得了相当有效的检索输出。最终, 然而, 单一词汇的集合无法提供完整的文档内容的识别。 因此, 多年来已经提出了许多改进内容分析和文本索引方法的建议,以生成复杂的文本表示。 在这方面已考虑以下可能性:
- 根据文档集合中词语在特定上下文中的统计共现特征生成相关术语集。通常的假设是,在一个文档集合中足够频率共现的词语实际上是相互关联的[8-11]。
- 术语短语的形成,由一个或多个主导术语(短语的头部)以及相应的依赖术语(短语成分)组成。通常通过使用词频计数和其他统计方法来选择短语,可能还会补充以句法程序来检测主导和依赖短语成分之间的句法关系[12-17]。
- 使用词组分组方法,如词库提供的方法,将在同一主题下的相关词语分组;然后可以为内容识别分配这些类别标题,而不是使用类别的个别术语[18-20]。另外,通过使用现有的机器可读字典和词汇表[21-24],也可以获取用于内容识别的词条关系。
- 知识库及相关人工智能结构的构建,旨在表示所考虑主题领域的知识点;知识库中的条目随后被用来表示文档和查询的内容[25-30]。
从一开始,就明显发现构建和识别复杂的文本表示非常困难。特别是,很明显大多数自动推导出的术语依赖关系仅在原始提取依赖项的文档中本地有效;这意味着不能指望依赖项术语组在与最初使用不同的新文档上下文中生成有用的文档标识符[11]。使用自动生成的术语短语的经验也证明是类似的令人失望的:对于某些集合,通过使用短语标识符而不是单个术语,检索效果可以提高高达20%(搜索召回率和精确度);但是,对于其他集合,这些相同的短语处理方法并没有提供任何改进。此外,即使是非常复杂的句法分析程序也无法产生有用的复杂内容标识符[16]。
关于使用预构建的词汇表和术语分类,问题在于,对于涵盖合理范围主题领域的有效词汇工具的构建,似乎完全没有可行的方法。同样的道理也适用于设计用来反映披露领域结构的知识库的构建。在我们对词典和分类法所需的格式和内容了解更多之前,不应对这些工具在文本分析和文档索引方面寄予过高的期望。
在回顾过去25年中积累的大量关于检索系统评估领域的文献时,压倒性的证据表明,明智地使用单一术语标识符优于将更复杂的实体(从文本本身提取或从可用词汇表中获取)纳入其中[31-37]。在生成复杂文本标识符时,主要有两个问题出现:
- 当在复杂标识符的构建中使用严格条件时,例如通过限制频率标准和有限的共现上下文来识别术语短语,那么可能很少有新的标识符出现,而且使用复杂标识符的检索系统性能只会比使用单个术语索引的结果略有差异。
- 另一方面,当复杂实体的构建标准放宽时,可以得到一些好的标识符,但也会产生许多边缘化的标识符,这些标识符并不实用。总的来说,单术语索引通常更受青睐。
当使用单个术语进行内容识别时,必须在各个术语之间引入区别,根据它们作为文档描述符的假设价值。这导致使用附加到项目标识符上的术语权重。下一部分简要概述了控制有效加权因子生成的因素。
2. 词权重规范
词权重系统的主功能是提高检索效果。 有效的检索取决于两个主要因素:1、必须检索到与用户需求相关的项目;2、必须排除那些可能无关的项目。两种度量通常用于评估系统检索相关项和拒绝非相关项的能力,分别称为召回率和精确度。召回率是相关检索结果的比例,通过相关检索结果数量与集合中所有相关项目的总数之比来衡量;另一方面,精确度是检索结果中相关项目的比例,通过相关检索结果数量与总检索结果数量之比来衡量。
在原则上,我们更倾向于这样的系统:它既能通过检索到所有相关的内容来实现高召回率,又能通过排除所有无关的项目来实现高精确度。从这个角度来看,检索系统的回忆功能似乎可以通过使用广泛且高频出现的词汇来得到最好的满足,这些词汇在文集中的许多文档中都会出现。这些术语可能会提取许多文件,包括许多相关文件。然而,精确度因素可能最好通过使用狭窄且高度特定的术语来实现,这些术语能够从大量非相关项中隔离出少量相关项。在实践中,通常会通过使用足够广泛的术语来实现合理的召回水平,同时不会产生过低的精度。
不同的召回和精确度要求有利于使用包含召回和精确度增强组件的复合术语权重因子。在这方面,有三个主要考虑因素。首先,在单个文档或文档摘录中频繁提及的术语似乎可以作为召回增强设备。这表明,在术语加权系统中可以使用词频(tf)因子来衡量文档或查询文本中术语的出现频率。词频权重已经在自动索引环境中被使用了很多年 [l-4]。
其次,仅凭词频因素无法确保可接受的检索性能。具体来说,当高频词汇不是集中在少数特定文档中,而是广泛分布在整个文集中,所有文档都有可能被检索到,这会影响搜索的精确度。因此,必须引入一个新的与集合相关的因素,有利于集中在集合中少数文档中的术语。众所周知的逆文档频率(idf)(或逆集合频率)因子可以起到这个作用。idf因子与分配给N个文档集合中一个术语的文档数量n成反比。一个典型的idf因子可以计算为log N/n[38]。
术语歧视考虑表明,对于文档内容识别,最佳术语是那些能够从整个集合中区分特定个体文档的术语。这意味着最好的术语应该具有高词频但低总体集合频率。通过使用词频和逆文档频率的乘积(tf x idf)[39-41],可以获得术语重要性的合理度量。
歧视模型”这个术语受到了批评,因为它并没有很好地展示出理论属性。这与概率信息检索模型形成了对比,在概率信息检索模型中,文档的相关性属性被考虑在内,并推导出了一个理论上有效的词相关性权重[42-44]。相关性权重定义为相关文档中出现该术语的比例除以非相关项中出现该术语的比例,然而,在不了解术语在文档集合的相关和非相关部分的发生属性的情况下,无法立即计算出相关性权重。许多方法已被提出用于在缺乏完整相关性信息的情况下估计术语的相关性因素,这些方法表明,在明确的条件下,术语相关性可以简化为逆文档频率因子的形式,如log ((N - n)/n) [45-461]。因此,复合(tf x idf)术语权重系统可以直接与其他具有理论吸引力的检索模型相联系。
第三个词频权重因素,除了词频和逆文档频率外,对于具有广泛变化向量长度的系统似乎有用。在许多情况下,短文倾向于由短项向量表示,而较长的文档则被分配给更多的项集。当用于文档表示的词汇数量很多时,查询和文档之间的匹配几率很高,因此较长的文档比短的文档更有可能被检索出来。通常,所有相关文件在检索目的方面应被视为同等重要。这表明应在词权重公式中引入一个归一化因子来使文档向量的长度相等。假设w代表词t的权重,那么最终的词权重可以定义为:
在前面关于词权系统的讨论中,假定文档和查询都是由加权词组成的集合或向量。词权系统也已被应用于布尔查询语句,并且已经设计出了扩展的布尔系统,在这些系统中,布尔查询语句有效地被简化为向量形式[47-54]。因此,关于词权的先前考虑在某种程度上也适用于布尔查询处理。
3. 术语加权实验
本笔记的剩余部分描述了许多术语加权实验,这些实验使用了词频、集合频率和长度归一化组件的组合,以及六个大小不同、涵盖不同子主题的文档集。在每种情况下,都使用用户查询集合进行检索,性能是根据可用用户查询的数量平均计算的。 对于每个实验,计算三种不同召回率下的平均搜索精度,包括低召回率为0.25、平均召回率为0.50和高召回率为0.75。然后,将这些平均搜索精度进一步平均化以涵盖所有可用的用户查询。此外,为了精确测量,使用权重方法的排名作为评估标准,其性能从高到低依次降低。实验中总共使用了1800种不同的术语权重分配组合,其中发现了287种是不同的。因此,排名第一表示最佳性能,287则表示最差性能。
在当前的实验中,每个术语权重组合都通过两个三元组来描述,这两个三元组分别表示文档术语(第一个三元组)和查询术语(第二个三元组)的术语频率、集合频率和向量规范化因素。主要的权重成分在表1中定义。三种不同的词频权重,包括二进制权重(b)、普通词频(t)以及在0.5到1之间的一种归一化词频(n)。这三种集合频率组件分别代表了一个忽略集合频率的1倍(x)、一个传统的反向集合频率因子(f)和一种概率性的反向集合频率(p)。最后,长度归一化因子可以不存在(x作为第三个组件),也可以存在(c)。在之前提到的完整的1800个不同的术语权重分配中,还尝试了未包含在表1中的其他加权组件。这些额外的组件并未提供任何新的基本见解或优势。
表格1:词权重计算组件
表2显示了一些知名术语权重系统的实际公式。协调级别匹配,简单反映了在文档和查询中出现的匹配术语的数量,由sextuple bxx~bxx描述。类似地,使用二进制文档术语但对查询术语使用概率逆集合频率权重的概率二元独立系统表示为bxxebpx。 一个典型的复杂术语权重方案,描述为tfcenfx,使用了一个经过归一化的tf乘以idf权重来表示文档中的术语,以及一个增强的、但未归一化的tf乘以idf因子来表示查询。(由于查询向量对于所有文档集合而言保持不变,因此查询归一化只是简单地在所有查询-文档相似度测量中添加一个常数因子,这不会影响最终的文档排名。)
表格2:典型术语权重计算公式
实验中使用的六个集合的特征在于表3中的统计数据。最小的集合是一个生物医学(MED)集合,包括1033篇文档和30个查询,而最大的集合(INSPEC)包含12684篇文档和84个查询,涵盖计算机工程领域。在所有情况下,查询向量都比相应的文档向量短得多。
表格3. 收集统计数据(包括平均向量长度和向量长度的标准偏差)
NPL(国家物理实验室)集合包含11429篇文档和100个查询,这些内容仅以索引形式提供(即文档和查询向量的形式),而不是原始自然语言形式。这可能解释了它的特殊构成。与其它集合相比,NPL集合中的文档和查询向量要短得多,并且查询长度的变化也非常小(平均7.16个查询词的方差为2.36)。此外,对于NPL集合,词频尤其低:每个查询词在查询中仅出现一次,而文档中词的平均频率仅为1.21。在这种情况下,词频加权和长度归一化操作无法发挥其预期功能。可以推测,NPL索引项是经过精心选择的,并且实际上可能代表特别控制的术语,而不是自由选择的自然语言条目。
典型评估输出如表4和表5所示。除了少数几个小例外,表4中的五个数据集的结果是同质的,意思是在所有数据集中,最好的结果是由相同的术语权重系统产生的,最差的结果也是如此。然而,表4的结果与表5中NPL集合的结果相差甚远。首先考虑表4的结果,可以得出以下结论:
- 方法1和方法2在所有集合上都能产生相当的性能,对于文档来说长度归一化很重要,而对于查询来说增强的查询权重是有效的。这些建议适用于传统的自然语言文本和文本摘要。
- 方法3不包括向量长度的归一化操作,也没有增强查询权重。这种未归一化的(tf x idf)加权方法对于像CRAN和MED这样的集合来说很差,因为它们使用非常短的查询向量,且查询长度几乎没有变化。在这种情况下,增强查询权重(n因子)显得尤为重要。
- 方法4代表了概率加权系统中最好的一种方法。然而,这种方法的效用不如方法1和2中的增强加权方案。尤其在像CISI和INSPEC这样的集合上,当使用长查询向量时,此方法的效果不佳,而此时查询词加权所提供的术语鉴别能力是至关重要的。
- 方法5到7分别代表了经典的逆文档频率权重、概率性二元项独立系统和经典词频权重。如图所示,这些方法在所有集合中通常都不如人意。
- 二元向量的协调水平匹配是可能的最糟糕的检索策略之一。
表格4. 八种术语权重方法的性能结果在5个集合上的平均值
表格5,NPL集合的性能结果(11429个点,100个查询)
表格5中的NPL集合结果与表格4的差异很大。在这里,使用二进制查询权重和未归一化的文档向量的概率性方案更受欢迎。这是由于该集合的特殊性质导致的直接结果:非常短的查询语句和几乎没有长度偏差的文档要求完全加权的查询词(b=l),而且应该避免使用通常有效的词频权重,因为许多重要的词汇在短文档向量中会被降级。因此,更高级别的词频权重(n因子)或者全权重(b=1)是首选。对于NPL检索结果,之前曾被用来声称概率性术语加权系统的优势[55]。然而,表4和表5的结果并不支持这一观点,因为它们针对的是传统的自然语言文档和查询。
4 推荐
从本研究中报告的实验证据可以得出以下结论:
4.1 查询向量
- 词频成分
- 对于短查询向量,每个词都很重要;因此,增强的查询词权重是首选:第一组件n。
- 长查询向量需要根据词频对查询词进行更大的区分:第一组件t。
- 当所有查询词的出现频率等于1时,可以忽略词频因素。
- 收集频率组件
- 逆收集频率因子f与概率项独立性因子p非常相似,最佳方法使用f。
- 规范化组件
- 查询规范化不影响查询-文档排名或整体性能,使用x。
4.2 文档向量
- 词频组件
- 对于技术词汇和有意义的术语(如CRAN、MED集合),使用增强的频率权重:第一部分为n。
- 对于更多元化的词汇,通过常规频率权重区分术语:第一部分为t。
- 对于可能基于受控词汇的简短文档向量,使用完全加权的术语:第一部分b=1。
- 收集频率组件
- 逆文档频率因子f与概率性项独立权重p类似:通常使用f。
- 对于动态集合,当文档集合构成发生许多变化时,需要更新f因子;在这种情况下,忽略第二个组件:使用x。
- 长度归一化组件
- 当向量长度偏差很大时,例如在文本索引系统中通常如此,使用长度归一化因子c。
- 对于长度均匀的短文档向量,可以忽略归一化因子;在这种情况下,使用x。
以下的单术语权重系统应作为标准,用于与使用词库和其他知识工具产生复杂多术语内容识别的增强文本分析系统的比较:
最佳文档权重:tfc(词频-逆向文件频率),nfc(邻近频率-逆向文件频率)(或tpc(词频-逆向文档频率),npc(邻近频率-逆向文档频率))
最佳查询权重:nfx(邻近频率-逆向文件频率),tfx(词频-逆向文件频率),bfx(布尔频率-逆向文件频率)(或npx(邻近频率-逆向文档频率),tpx(词频-逆向文档频率),bpx(布尔频率-逆向文档频率))