NLP 中,文本匹配技术,不像 MT、MRC、QA 等属于 end-to-end 型任务,通常以文本相似度计算、文本相关性计算的形式,在某应用系统中起核心支撑作用,比如搜索引擎、智能问答、知识检索、信息流推荐等。本篇将纵览文本匹配的技术发展,并重点介绍文本语义相似度计算技术,以及多轮对话场景中的文本语义相似度计算技术。
1、文本匹配任务
在真实场景中,如搜索引擎、智能问答、知识检索、信息流推荐等系统中的召回、排序环节,通常面临的是如下任务:
从大量存储的 doc 中,选取与用户输入 query 最匹配的那个 doc。
在搜索引擎中,“doc”对应索引网页的相关信息,如 title、content 等,“query”对应用户的检索请求,“最匹配”对应(点击行为)相关度最高。
在智能问答中,“doc”对应 FAQ 中的 question,“query”对应用户的问题,“最匹配”对应语义相似度最高。
在信息流推荐中,“doc”对应待推荐的 feed 流,“query”对应用户的画像,“最匹配”对应用户最感兴趣等众多度量标准。
解决这些任务,无监督和有监督学习都提供了一些具体方法,我们这里先谈论有监督学习。通常,这些任务的训练样本具有同样的结构:
共 N 组数据,每组数据结构相同:1 个 query,对应的 M 个 doc,对应的 M 个标签。
在搜索引擎中,query 会被表征为包含文本语义和用户信息的 embedding,doc 会被表征为包含索引网页各项信息的 embedding
在智能问答中,query 会被表征为以文本语义为主的 embedding,doc 同样表征为以文本语义为主的 embedding
在信息流推荐中,query 会被表征为包含文本特征各项信息的 embedding,doc 会被表征为包含用户历史、爱好等信息的 embedding
可见,query 和 doc 的表征形式较固定,至于具体 embedding 包含的信息根据具体任务、场景、目标变化极大,按需设计。
但至于训练样本中的标签,形式则区别甚大。可以分成下述三种形式:
pointwise,M 通常为 1,标签形式为 0 或 1,标签 0 表示 query 与该 doc 不匹配,标签 1 表示匹配。M 也可大于 1 ,此时,一组数据中只有一个 1 其余全为 0,表示这 M 个 doc 中只有这一个与 query 匹配,其余全都不匹配。
pairwise,M 通常为 2,标签形式为 0 或 1 ,标签 0 表示 query 与第一个 doc 比与第二个 doc 更匹配,标签 1 表示 query 与第二个 doc 比与第一个 doc 更匹配,当然也可以反之。
listwise,M 通常大于等于 2,标签形式为 1 到