必威体育Betway必威体育官网
当前位置:首页 > IT技术

百度开源 FAQ 问答系统(AnyQ)|FAQ数据集的添加

时间:2019-10-19 05:11:05来源:IT技术作者:seo实验室小编阅读:69次「手机版」
 

问答系统

1.FAQ

所谓FAQ(Frequently Asked Questions)问答,指的是通过构建一个数量巨大的问题答案库来作为语料库,当输入一个问题时,通过计算该问题与语料库中的所有问题的语义相似度,给出语义最相似的问题所对应的答案。两个问题语义相似度的计算方法,有:余弦相似度、Jaccard相似度、BM25相似度等。

2.AnyQ索引(Indexing)模块

在AnyQ系统中,索引(Indexing)模块的作用是根据所给定的问题答案数据集,通过将其转换为语义索引库,从而提供检索(Retrieval)、匹配(Matching)模块进行语义相似度计算,匹配出与所提问题最相似的答案。

在最初的AnyQ系统中,所提供的问题答案数据集如下所示,该数据集位于AnyQ/build/solr_script/sample_doc。

在这里插入图片描述

  • 根据https://github.com/baidu/AnyQ/blob/master/docs/semantic_retrieval_tutorial.md所说,要想将该数据集添加到索引模块,提供检索(Retrieval)、匹配(Matching)模块进行语义相似度计算,首先需要将其转换为JSON格式的数据,其中每条数据(包含一个问题,答案对)的格式如下:
{"question": "XXX", "answer": "XXX", "id": XXX}
  • 接下来,再为该JSON格式文件添加索引ID,即每一条数据前以一个ID开头。其命令如下:
awk -F "\t" '{print ++ind"\t"$0}' JSON文件 > JSON文件.index
  • 索引ID添加完毕以后,即可对已添加完索引ID的文件 JSON文件.index构建语义索引库

首先,需要分别对系统中的字典(Dict)模块,和解析(Analysis)模块设置问题解析时所用插件路径位于AnyQ/build/example/conf/):

dict_config{
	name: "fluid_simnet"
	type: "PaddleSimAdapter"
	path: "./simnet"
}
dict_config {
	name: "annoy_knowledge_dict"
	type: "String2RetrievalItemAdapter"
	path: "JSON文件.index文件路径"
}
analysis_method {
	name: "method_simnet_emb"
	type: "AnalysisSimNetEmb"
	using_dict_name: "fluid_simnet"
	dim: 128
	query_feed_name: "left" 
	cand_feed_name: "right" 
	embedding_fetch_name: "tanh.tmp"
}

然后,再为JSON文件.index构建语义索引库(在AnyQ/build下执行):

./annoy_index_build_tool example/conf/ example/conf/analysis.conf JSON文件.index 128 10 semantic.annoy 1>std 2>err
  • 语义索引库构建完毕后,即可在检索模块配置文件retrieval.conf中配置语义检索插件(路径位于AnyQ/build/example/conf/):
retrieval_plugin {
	name : "semantic_recall"
	type : "SemanticRetrievalPlugin"
	vector_size : 128
	search_k : 10000 
	index_path : "semantic.annoy文件路径"
	using_dict_name: "annoy_knowledge_dict"
	num_result : 10
}

到目前为止,语义索引库已经添加完毕,此时可启动系统进行测试。

提供一个25W的问答数据集进行测试:https://download.csdn.net/download/qq_28385535/10777706

相关阅读

百度ueditor工具栏和输入框分离问题

百度ueditor富文本编辑器,当工具栏超过屏幕输入内容会导致工具栏和输入框分离的问题。问题原因是ueditor中有一个autoFloatEnabled

百度分享代码--一键分享Baidu Share BEGIN

http://share.baidu.com/code/advance 一、概述 百度分享代码已升级到2.0,本页将介绍新版百度分享的安装配置方法,请点击左侧列表

百度图片爬虫

使用技术 python3 + requests模块安装requests模板pip install requests 实现目标 可以通过控制台输入爬取图片类型 指定爬取图

新网站如何提交链接让百度更快速的收录

对SEOer来说,新做好的网站如何让百度更快的收录,这是大家普遍关心的问题。做优化的最终目的是实现网站盈利,而要实现盈利就必须把网

PanDownload网页版全平台百度网盘资源免费高速下载解

声明:PanDownload!!! 注意:不需要登录百度网盘账号,不用担心账号、IP限速。 方式一(通过PanDownload网页版进行下载) 通过PanDownload网

分享到:

栏目导航

推荐阅读

热门阅读