• 挖掘文本的奇妙力量:传统与深度方法探索匹配之道


    挖掘文本的奇妙力量:传统与深度方法探索匹配之道

    在这里插入图片描述

    文本向量表示咋做?文本匹配任务用哪个模型效果好?

    许多 NLP 任务的成功离不开训练优质有效的文本表示向量。特别是文本语义匹配(Semantic Textual Similarity,如 paraphrase 检测、QA 的问题对匹配)、文本向量检索(Dense Text Retrieval)等任务。

    1. 传统方法:基于特征的匹配

    • 基于 TF-IDF、BM25、Jaccord、SimHash、LDA 等算法抽取两个文本的词汇、主题等层面的特征,然后使用机器学习模型(LR, xgboost)训练分类模型
    • 优点:可解释性较好
    • 缺点:依赖人工寻找特征,泛化能力一般,而且由于特征数量的限制,模型的效果比较一般

    代表模型:

    • BM25

    BM25 算法,通过候选句子的字段对 qurey 字段的覆盖程度来计算两者间的匹配得分,得分越高的候选项与 query 的匹配度更好,主要解决词汇层面的相似度问题。

    2.深度方法:基于表征的匹配

    • 基于表征的匹配方式,初始阶段对两个文本各自单独处理,通过深层的神经网络进行编码(encode),得到文本的表征(embedding),再对两个表征进行相似度计算的函数得到两个文本的相似度
    • 优点:基于 BERT 的模型通过有监督的 Fine-tune 在文本表征和文本匹配任务取得了不错的性能
    • 缺点:BERT 自身导出的句向量(不经过 Fine-tune,对所有词向量求平均)质量较低,甚至比不上 Glove 的结果,因而难以反映出两个句子的语义相似度

    主要原因是:

    1.BERT 对所有的句子都倾向于编码到一个较小的空间区域内,这使得大多数的句子对都具有较高的相似度分数,即使是那些语义上完全无关的句子对。

    2.BERT 句向量表示的聚集现象和句子中的高频词有关。具体来说,当通过平均词向量的方式计算句向量时,那些高频词的词向量将会主导句向量,使之难以体现其原本的语义。当计算句向量时去除若干高频词时,聚集现象可以在一定程度上得到缓解,但表征能力会下降。

    代表模型:

    由于 2018 年 BERT 模型在 NLP 界带来了翻天覆地的变化,此处不讨论和比较 2018 年之前的模型(如果有兴趣了解的同学,可以参考中科院开源的 MatchZooMatchZoo-py)。

    所以,本项目主要调研以下比原生 BERT 更优、适合文本匹配的向量表示模型:Sentence-BERT(2019)、BERT-flow(2020)、SimCSE(2021)、CoSENT(2022)。

    3.深度方法:基于交互的匹配

    • 基于交互的匹配方式,则认为在最后阶段才计算文本的相似度会过于依赖文本表征的质量,同时也会丢失基础的文本特征(比如词法、句法等),所以提出尽可能早的对文本特征进行交互,捕获更基础的特征,最后在高层基于这些基础匹配特征计算匹配分数
    • 优点:基于交互的匹配模型端到端处理,效果好
    • 缺点:这类模型(Cross-Encoder)的输入要求是两个句子,输出的是句子对的相似度值,模型不会产生句子向量表示(sentence embedding),我们也无法把单个句子输入给模型。因此,对于需要文本向量表示的任务来说,这类模型并不实用

    代表模型:

    Cross-Encoder 适用于向量检索精排。

    更多优质内容请关注公号:汀丶人工智能;会提供一些相关的资源和优质文章,免费获取阅读。

  • 相关阅读:
    城市之间的联系
    Redis学习记录------Redis6的事务操作(九)
    Linux CentOS 8(计划任务_Cron)
    数据结构之链表详解(1)
    matlab这样子写为什么运行不出正确的结果嘞
    【嵌入式C语言】8.函数
    深究 DevOps 与平台工程的区别
    [网上摘录]Gerber RS274X-CAM文件格式详解
    使用百度EasyDL实现商品消费预测
    输电线路分布式故障监测装置:准确定位故障点、辨识故障原因
  • 原文地址:https://blog.csdn.net/sinat_39620217/article/details/133858354