使用语言模型匹配来自不同域的文本
使用语言模型匹配来自不同域的文本
拥有大量收藏的组织( ** 语料库** ) 的文档经常需要查找类似的文档。对于赠款组织(例如像 Wellcome Trust 这样的慈善基金会),用例可能是通过将专家的出版历史与赠款申请相匹配来寻找专家来审查赠款申请。对于一家律师事务所,用例可能是找到与给定法庭案件最接近的法律先例。幸运的是,检索相似文档是一个经过深入研究的自然语言 (NLP) 问题。例如,谷歌必须为整个网络解决这个问题。
挑战:匹配来自不同域的文档块
文档相似性的一个有趣子问题是将文档块(例如句子或段落)与另一个引用相似内容的文档块匹配。当块来自具有非常相似上下文的文档时,这是相对微不足道的,但如果文档来自不同的领域,并且使用不同的词汇和语法,则要困难得多。让我们看一个来自策略域的示例,其中包含对生物医学出版物的引用以可视化问题
以下句子出现在 世界卫生组织疟疾指南 .本文档来自 ** 策略域** ,即它由制定政策的组织发布,该政策被全球其他组织采用。
系统评价 [54] 报告了高质量的证据,表明与没有蚊帐相比,ITN 可有效降低全因儿童死亡率。
上述文档中的句子是指生物医学领域的科学期刊文章中的一句话:
可能的好处:发现使用经杀虫剂处理的蚊帐可能降低胎儿流产的风险(RR 0.68, 95% CI 0.48 至 0.98;5 项 RCT;高质量证据)
正如我们所看到的,所使用的语言非常不同。驱虫蚊帐被写成经杀虫剂处理的蚊帐;儿童死亡率已变成胎儿丢失;率被称为风险,没有提到对照组(没有网络)。对于依赖关键字的传统信息检索系统,要找到这两个句子之间的链接将是一项挑战。建立这些联系需要一种能够理解文本语义相似的新方法,即使使用的单词完全不同。
这并不少见,链接来自不同域的文本是一个常见问题。例如,我们在将专利与法律案件、研究出版物的授权申请概要以及政策文件与他们引用的文件相关联时也会遇到这个问题。
那么我们如何使用模型来建立这些联系呢?这就是语言模型的用武之地。
什么是语言模型?
语言模型是机器学习模型,它捕获有关语言中出现的模式的信息,通常通过训练它们来预测序列中的下一个单词,或随机删除(屏蔽)文档中的单词。语言模型通常在特定领域进行训练,并且非常擅长对该领域的语言进行建模。
例如,有一个使用生物医学出版物训练的语言模型 考研 叫 PubMedbert ,另一位使用合同和欧洲法律文件进行培训 欧莱士 叫 法律伯特 .这些模型能够创建文本的语义表示:基于含义的表示,而不仅仅是使用的单词(语法)。这使得根据含义检索最接近的文本块成为可能,这正是我们想要的。
通常,这些模型在其特定领域之外不能很好地工作,因此在我们之前给出的将政策文档块与生物医学领域的科学出版物匹配的示例中,我们需要一个在政策文档上训练的模型,以及一个在生物医学出版物上训练的模型.我们可以将 PubMedBert 用于生物医学出版物,但目前还没有针对公开可用的政策文档进行训练的语言模型,因此我们需要训练自己的模型。
使用语言模型链接来自不同域的文本块
一旦我们有了两个领域的语言模型,我们就可以继续计算文档块之间的相似性。为了做到这一点,我们需要确保从这些文档中产生的表示在同一个“空间”中。由于这些模型只看到了来自各自领域的数据,因此他们无法知道一个块的含义何时与另一个域的块的含义一致。我们需要一些示例来执行此链接。你可以把它想象成我们的两个模型说不同的语言,比如英语和西班牙语。为了训练一个翻译模型,我们需要成对的英语和西班牙语句子来匹配意思。同样,为了“对齐”来自我们两个文档域的表示,我们需要成对的块,它们的含义已经匹配(通常是一个人)。查找或创建该数据集通常是此类项目中最困难的部分。
一旦我们有了 ** 对齐** 我们的两个特定领域的语言模型,我们已经准备好使用它们来匹配我们文档中的块,方法是使用对齐的表示和相似度度量找到最相似的块。或者,我们也可以训练一个模型来预测两个块是否匹配,使用相同的表示作为输入以及用于对齐它们的相同数据集。
我希望你喜欢这篇文章,现在更清楚了语言模型如何在看似困难的文档匹配案例中帮助你,其中语义起着重要作用。如果您在此类问题上需要帮助,或者您想与我们讨论更多有关此问题的信息,请随时联系 ** [email protected]** .
PS 这里的另一个重要方面,我们在这篇博文中已经讨论过,是如何将整个文档分成块——例如部分或句子。这可能是一个难题,并且可能最终成为一个项目。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明