在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:AnyQ开源软件地址:https://gitee.com/baidu/AnyQ开源软件介绍:AnyQAnyQ(ANswer Your Questions) 开源项目主要包含面向FAQ集合的问答系统框架、文本语义匹配工具SimNet。 详细介绍FAQ问答系统框架AnyQ系统框架主要由Question Analysis、Retrieval、Matching、Re-Rank等部分组成,框架中包含的功能均通过插件形式加入,如Analysis中的中文切词,Retrieval中的倒排索引、语义索引,Matching中的Jaccard特征、SimNet语义匹配特征,当前共开放了20+种插件。AnyQ系统的配置化、插件化设计有助于开发者快速构建、快速定制适用于特定业务场景的FAQ问答系统,加速迭代和升级。AnyQ的框架结构如下图: 配置化AnyQ系统集成了检索和匹配的众多插件,通过配置的方式生效;以检索方式和文本匹配相似度计算中的插件为例:
插件化除框架外,AnyQ的所有功能都是通过插件形式加入,用户自定义的插件很容易加到AnyQ系统中,只需实现对应的接口即可,如自定义词典加载、Question分析方法、检索方式、匹配相似度、排序方式等,真正实现可定制和插件化。 文本语义匹配框架SimNetSimNet是百度自然语言处理部于2013年自主研发的语义匹配框架,该框架在百度各产品上广泛应用,主要包括BOW、CNN、RNN、MM-DNN等核心网络结构形式,同时基于该框架也集成了学术界主流的语义匹配模型,如MatchPyramid、MV-LSTM、K-NRM等模型。SimNet使用PaddleFluid和Tensorflow实现,可方便实现模型扩展。使用SimNet构建出的模型可以便捷的加入AnyQ系统中,增强AnyQ系统的语义匹配能力。 按照文本语义匹配网络结构, 可将SimNet中实现的网络模型主要分为如下两类:
SimNet使用PaddleFluid和Tensorflow实现,更多文档请参考: 基于海量搜索数据的语义模型基于百度海量搜索数据,我们训练了一个SimNet-BOW语义匹配模型,在一些真实的FAQ问答场景中,该模型效果比基于字面的相似度方法AUC提升5%以上,模型使用和获取方法参考Demo。 代码编译Linuxcmake 3.0以上(推荐3.2.2版本),g++ >=4.8.2,bison >=3.0 mkdir build && cd build && cmake .. && make Others针对MacOS、Windows等环境,推荐使用docker方式 # paddle官方镜像docker pull paddlepaddle/paddle:latest-dev# paddle国内镜像docker pull hub.baidubce.com/paddlepaddle/paddle:latest-dev Demo构建索引、配置 # 获取anyq定制solr,anyq示例配置cp ../tools/anyq_deps.sh .sh anyq_deps.sh# 启动solr, 依赖python-json, jdk>=1.8cp ../tools/solr -rp solr_scriptsh solr_script/anyq_solr.sh solr_script/sample_docs
./run_server# 请求示例:http:${host}:${port}/anyq?question=XXX
./demo_anyq sample_input_json 更多文档如何贡献
Copyright and LicenseAnyQ is provided under the Apache-2.0 license. |
请发表评论