From c5f17d75db97ce36e33f2cb067d34ee2e3eec458 Mon Sep 17 00:00:00 2001 From: w5688414 Date: Fri, 23 Sep 2022 08:23:01 +0000 Subject: [PATCH] Add more details for ranking model --- applications/neural_search/README.md | 6 ++++-- pipelines/examples/FAQ/Install_windows.md | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/applications/neural_search/README.md b/applications/neural_search/README.md index 0fee25d3bfc5..c5e3070820de 100644 --- a/applications/neural_search/README.md +++ b/applications/neural_search/README.md @@ -51,7 +51,7 @@ -以上是nerual_search的系统流程图,其中左侧为召回环节,核心是语义向量抽取模块;右侧是排序环节,核心是排序模型。召回环节需要用户通过自己的语料构建向量索引库,用户发起query了之后,就可以检索出相似度最近的向量,然后找出该向量对应的文本;排序环节主要是对召回的文本进行重新排序。下面我们分别介绍召回中的语义向量抽取模块,以及排序模型。 +以上是nerual_search的系统流程图,其中左侧为召回环节,核心是语义向量抽取模块;右侧是排序环节,核心是排序模型。召回环节需要用户通过自己的语料构建向量索引库,用户发起query了之后,就可以检索出相似度最高的向量,然后找出该向量对应的文本;排序环节主要是对召回的文本进行重新排序。下面我们分别介绍召回中的语义向量抽取模块,以及排序模型。 #### 2.2.2 召回模块 @@ -74,7 +74,9 @@ #### 2.2.3 排序模块 -排序模块有2种选择,第一种基于前沿的预训练模型 ERNIE-Gram,训练 Pair-wise 语义匹配模型;第二种是基于RocketQA模型训练的Cross Encoder模型,用户可以根据自身数据情况进行实验选择最优的方式。召回模型负责从海量(千万级)候选文本中快速(毫秒级)筛选出与 Query 相关性较高的 TopK Doc,排序模型会在召回模型筛选出的 TopK Doc 结果基础之上针对每一个 (Query, Doc) Pair 对进行两两匹配计算相关性,排序效果更精准。 +召回模型负责从海量(千万级)候选文本中快速(毫秒级)筛选出与 Query 相关性较高的 TopK Doc,排序模型会在召回模型筛选出的 TopK Doc 结果基础之上针对每一个 (Query, Doc) Pair 对进行两两匹配计算相关性,排序效果更精准。 + +排序模块有2种选择,第一种基于前沿的预训练模型 ERNIE,训练 Pair-wise 语义匹配模型;第二种是基于RocketQA模型训练的Cross Encoder模形。第一种是Pair-wise的排序算法,基本思路是对样本构建偏序文档对,两两比较,从比较中学习顺序,第二种是Poinet-Wise的算法,只考虑当前Query和每个文档的绝对相关度,并没有考虑其他文档与Query的相关度,但是建模方式比较简单。第一种Pair-wise模型可以说是第二种point-wise模型的改进版本,但对于噪声数据更为敏感,即一个错误的标注会导致多个pair对的错误,用户可以先使用基于Point-wise的Cross Encoder构建一个基础模型,需要进一步优化可以使用Pair-wise的方法优化。 ## 3. 文献检索实践 diff --git a/pipelines/examples/FAQ/Install_windows.md b/pipelines/examples/FAQ/Install_windows.md index 916cb12e3999..fb1e50dcfe68 100644 --- a/pipelines/examples/FAQ/Install_windows.md +++ b/pipelines/examples/FAQ/Install_windows.md @@ -27,7 +27,7 @@ python setup.py install ```bash # 我们建议在 GPU 环境下运行本示例,运行速度较快 python examples/frequently-asked-question/dense_faq_example.py --device gpu -# 如果只有 CPU 机器,安装CPU版本的paddle后,可以通过 --device 参数指定 cpu 即可, 运行耗时较长 +# 如果只有 CPU 机器,安装CPU版本的Paddle后,可以通过 --device 参数指定 cpu 即可, 运行耗时较长 python examples/frequently-asked-question/dense_faq_example.py --device cpu ```