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

1.FAQ

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

2.AnyQ索引(Indexing)模块

在AnyQ系统中,索引(Indexing)模块的作用是根据所给定的问题答案数据集,通过将其转换为语义索引库,从而提供检索(Retrieval)、匹配(Matching)模块进行语义相似度计算,匹配出与所提问题最相似的答案。
在最初的AnyQ系统中,所提供的问题答案数据集如下所示,该数据集位于AnyQ/build/solr_script/sample_doc。
在这里插入图片描述

{"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

phpMyFAQ是一个支持多语言的,用php技术开发的开源FAQ(问答)系统,类似百度知道,支持MySQL/SQLite等多种数据库。phpMyFAQ具有内容管理功能,图片管理,支持多用户,用户组、新闻系统、用户跟踪、语言模块,支持Microsoft Active Directry活动目录。phpMyFAQ 开源问答系统特性支持多种数据库 MySQL, PostgreSQL, SQLite, Sybase, MS SQL Server, IBM DB2, IBM Cloudscape, Apache Derby, Oracle, Interbase,or Firebird. 内容管理系统 我们可以进行用户,用户组、新闻、分类、FAQ记录、密码等多方面的管理操作 基于用户、用户组的权限管理 我们可以创建用户、用户组,分配指定用户、用户组权限,包括查看修改创建记录等操作 LDAP身份验证与HTTP身份验证 可以将基于OpenLDAP的身份验证加入phpMyFAQ 的用户管理,也可以仅仅使用基于HTTP身份验证 版本管理 可以在新老系统之间进行切换 社区模块 所有用户都可以在系统里提问,回答,还可以编辑已有的问题与答案。 FAQ 统计 通过追踪用户的访问,投票等等数据,对FAQ条目进行分析与统计。 备份与恢复 可以对所有的数据库内容进行一键备份与还原 模板 我们可以轻松的定制个性化的phpMyFAQ版本,包括使用XHTML和CSS。 搜索 通过搜索功能,我们的用户可以轻松找到问题的答案,可以搜索所有语言也可以选定一种。前端及时响应功能,使得用户在输入文字的同时,系统及时给出建议,(就是在百度框框里写一个字,系统自动给出可能的词),系统还提供热门搜索列表,在管理端可看到图形化报告。phpMyFAQ 开源问答系统截图
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值