智能问答机器人(基于SVM+AIML)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
处理框架 API接口,将文本转换为可以播放 的mp3文件。 中文普通话、中英文混读、男声、女声任你选,更支持语速、音调、音量设置, 让你的应用拥有最甜美和最磁性的声音! 只有MP3一种输出格式,没有其它格式或者编码选项。 多音字可以通过标注自行定义发音。格式如:重(chong2)报集团。 注意事项 仅支持最多512字(1024 字节)的音频合成,合成的文件格式为mp3。 没有其他额外功能。 如果需要使用离线合成等其它功能,请使用Android 或者iOS 合成 SDK
・检索aiml问答集取得答案
・补足后的问题和答案做余弦(COS) 相似度比较
・选取余弦值最高的,作为答案
Thulac
THUCTC (Liblinear)
Model Category语料集 (分类与答案的对应集
)
Aiml问答集
8
系统架构
前端 chat-robot-frontend
VUE webpack
后台 chat-robot-background
JAVA
MVC
RESTFUL API
Service
Redis 缓存DB
Category语料集 (分类与答案的对
应集)
python Spring boot
Aiml
aiml问答集
前端页面采用VUE,通过webpack打包。
shelve
后台使用JAVA开发,基于Spring boot的MVC,RESTFUL API实现。
系统运行命令(开发环境为例说明)
环境的运行部署是说明对象外,此处只简单说明一下运行命令。 后台:
gradle clean build gradle release java –jar chat-robot-background-1.0-SNAPSHOT.war 前端: npm run build npm run start
注意事项 如果需要使用实时识别、长语音、唤醒词、语义解析等其它语音功能, 请使用Android或者iOS SDK 或 Linux C++ SDK 等。 请严格按照文档里描述的参数进行开发,特别请关注原始录音参数以 及语音压缩格式的建议,否则会影响识别率,进而影响到产品的用户 体验。 目前系统支持的语音时长上限为60s,请不要超过这个长度,否则会 返回错误。
11
语料集准备—分类模型
分类模型的训练----②训练结果
12
语料集准备—分类模型
分类模型的训练----③训练程序
13
语料集准备—aiml
Aiml问答集的数据准备----aiml文件的做成
14
系统运行
系统配置要求
机器内存:语料大小的2~5倍 尽量使用64位系统 避免在window系统上使用较大的语料进行训练
AI智能问答机器人(基于SVM+AIML)
功能介绍 系统简介 处理框架 系统架构 语料集准备 系统运行 附:问句示例
2
系统简介
本智能问答机器人是面向售 后的智能客户问答系统,在 问题咨询,产品投诉,报修 等方面为客户提供服务,并 可以有效减轻客服人员的工 作,提高生产效率。
3
处理框架----工具介绍
Liblinear和Libsvm的选取标准 他们两个都是用来做分类的,Liblinear,是专门为百万级别的数据和特征实现的线性
分类器。相对来说Libsvm应用的范围较广,而Liblinear主要用于处理大数据量。在什么 样的情况下,选择Liblinear而不是Libsvm呢?
1. 当你面对海量的数据时,这里的海量通常是百万级别以上。海量数据分为两个方面: 样本数量和特征的数量。
Liblinear本身是为了解决较大规模样本的模型训练而设计的,即便百万 千万级别的数据, Liblinear也可以轻松搞定。
aiml(人工智能标记语言: Artificial Intelligence Markup Language ) 一种用于自然语言的XML语言,常用于问答系统的语料集。
5
处理框架----工具介绍
2.使用线性和非线性映射训练模型得到相近的效果。 3.对模型训练的时间效率要求较高。
4
处理框架----工具介绍
Liblinear Liblinear是一个针对线性分类场景而设计的工具包,除了支持线性SVM
外,还可以支持线性的Logistic Regression (逻辑回归)等模型,但是无 法通过定义核函数方式实现非线性的分类器。
Category语料集通过Redis存储,aiml问答集通过shelve存储。
后台服务启动时加载分类模型,Category语料集,aiml问答集
语音识别ASR和语音合成TTS是基于的在线API实现。9语料集准备—分类模型
分类模型的数据准备
10
语料集准备—分类模型
分类模型的训练----①训练页面
7
处理框架----处理流程
问题提出 (语音输入-->文字 或者直接文字入力)
问题理解
・分词/词性分析/主干提取 ・上下文理解 ・主宾补足
答案输出 (文字出力同时声音
播放)
问题检索 匹配答案
・调用分类模型(Liblinear) 预测分类
・从Category语料集取得答案, 取得对应分数
・分数>=0.1(评分阈值)的答案中 选取分数最高的,作为答案 *评分标准阈值:0.1 开发者提供一个通用的 HTTP 接口。 上传需要完整的录音文件,录音文件时长不超过60s。 支持语种:普通话、英语、粤语、四川话 格式支持:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)。 推荐pcm 采样率 :16000 。本系统采用8000。 编码:16bit 位深的单声道。
THUCTC
文本分类通常包括特征选取、特征降维、分类模型学习三个步骤。如何选取合适的文 本特征并进行降维,是中文文本分类的挑战性问题。在THUCTC中选取二字串bigram作 为特征单元(特征提取与特征选择),特征降维方法为Chi-square(卡方选择:计算的是特 征与类别之间的联系程度),权重计算方法为tf-idf (词频-逆文档频率) ,分类模型使用 的是LibSVM或LibLinear。THUCTC对于开放领域的长文本具有良好的普适性,不依赖 于任何中文分词工具的性能,具有准确率高、测试速度快的优点。
处理框架 API接口,将文本转换为可以播放 的mp3文件。 中文普通话、中英文混读、男声、女声任你选,更支持语速、音调、音量设置, 让你的应用拥有最甜美和最磁性的声音! 只有MP3一种输出格式,没有其它格式或者编码选项。 多音字可以通过标注自行定义发音。格式如:重(chong2)报集团。 注意事项 仅支持最多512字(1024 字节)的音频合成,合成的文件格式为mp3。 没有其他额外功能。 如果需要使用离线合成等其它功能,请使用Android 或者iOS 合成 SDK
・检索aiml问答集取得答案
・补足后的问题和答案做余弦(COS) 相似度比较
・选取余弦值最高的,作为答案
Thulac
THUCTC (Liblinear)
Model Category语料集 (分类与答案的对应集
)
Aiml问答集
8
系统架构
前端 chat-robot-frontend
VUE webpack
后台 chat-robot-background
JAVA
MVC
RESTFUL API
Service
Redis 缓存DB
Category语料集 (分类与答案的对
应集)
python Spring boot
Aiml
aiml问答集
前端页面采用VUE,通过webpack打包。
shelve
后台使用JAVA开发,基于Spring boot的MVC,RESTFUL API实现。
系统运行命令(开发环境为例说明)
环境的运行部署是说明对象外,此处只简单说明一下运行命令。 后台:
gradle clean build gradle release java –jar chat-robot-background-1.0-SNAPSHOT.war 前端: npm run build npm run start
注意事项 如果需要使用实时识别、长语音、唤醒词、语义解析等其它语音功能, 请使用Android或者iOS SDK 或 Linux C++ SDK 等。 请严格按照文档里描述的参数进行开发,特别请关注原始录音参数以 及语音压缩格式的建议,否则会影响识别率,进而影响到产品的用户 体验。 目前系统支持的语音时长上限为60s,请不要超过这个长度,否则会 返回错误。
11
语料集准备—分类模型
分类模型的训练----②训练结果
12
语料集准备—分类模型
分类模型的训练----③训练程序
13
语料集准备—aiml
Aiml问答集的数据准备----aiml文件的做成
14
系统运行
系统配置要求
机器内存:语料大小的2~5倍 尽量使用64位系统 避免在window系统上使用较大的语料进行训练
AI智能问答机器人(基于SVM+AIML)
功能介绍 系统简介 处理框架 系统架构 语料集准备 系统运行 附:问句示例
2
系统简介
本智能问答机器人是面向售 后的智能客户问答系统,在 问题咨询,产品投诉,报修 等方面为客户提供服务,并 可以有效减轻客服人员的工 作,提高生产效率。
3
处理框架----工具介绍
Liblinear和Libsvm的选取标准 他们两个都是用来做分类的,Liblinear,是专门为百万级别的数据和特征实现的线性
分类器。相对来说Libsvm应用的范围较广,而Liblinear主要用于处理大数据量。在什么 样的情况下,选择Liblinear而不是Libsvm呢?
1. 当你面对海量的数据时,这里的海量通常是百万级别以上。海量数据分为两个方面: 样本数量和特征的数量。
Liblinear本身是为了解决较大规模样本的模型训练而设计的,即便百万 千万级别的数据, Liblinear也可以轻松搞定。
aiml(人工智能标记语言: Artificial Intelligence Markup Language ) 一种用于自然语言的XML语言,常用于问答系统的语料集。
5
处理框架----工具介绍
2.使用线性和非线性映射训练模型得到相近的效果。 3.对模型训练的时间效率要求较高。
4
处理框架----工具介绍
Liblinear Liblinear是一个针对线性分类场景而设计的工具包,除了支持线性SVM
外,还可以支持线性的Logistic Regression (逻辑回归)等模型,但是无 法通过定义核函数方式实现非线性的分类器。
Category语料集通过Redis存储,aiml问答集通过shelve存储。
后台服务启动时加载分类模型,Category语料集,aiml问答集
语音识别ASR和语音合成TTS是基于的在线API实现。9语料集准备—分类模型
分类模型的数据准备
10
语料集准备—分类模型
分类模型的训练----①训练页面
7
处理框架----处理流程
问题提出 (语音输入-->文字 或者直接文字入力)
问题理解
・分词/词性分析/主干提取 ・上下文理解 ・主宾补足
答案输出 (文字出力同时声音
播放)
问题检索 匹配答案
・调用分类模型(Liblinear) 预测分类
・从Category语料集取得答案, 取得对应分数
・分数>=0.1(评分阈值)的答案中 选取分数最高的,作为答案 *评分标准阈值:0.1 开发者提供一个通用的 HTTP 接口。 上传需要完整的录音文件,录音文件时长不超过60s。 支持语种:普通话、英语、粤语、四川话 格式支持:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)。 推荐pcm 采样率 :16000 。本系统采用8000。 编码:16bit 位深的单声道。
THUCTC
文本分类通常包括特征选取、特征降维、分类模型学习三个步骤。如何选取合适的文 本特征并进行降维,是中文文本分类的挑战性问题。在THUCTC中选取二字串bigram作 为特征单元(特征提取与特征选择),特征降维方法为Chi-square(卡方选择:计算的是特 征与类别之间的联系程度),权重计算方法为tf-idf (词频-逆文档频率) ,分类模型使用 的是LibSVM或LibLinear。THUCTC对于开放领域的长文本具有良好的普适性,不依赖 于任何中文分词工具的性能,具有准确率高、测试速度快的优点。