1. 背景
智能客服系统通过分析用户的自然语言,识别出问题分类,以及问题中的关键信息,自动对接后台的业务系统寻找答案,然后将答案反馈给用户。
问题分类模型是其中至关重要的部分,问题分类的准确率直接影响到用户体验。
2. 算法逻辑
3. 关键技术点
3.1 样本数据采集与格式化
我们选择JSON作为样本数据的载体,一方面具备较好的可读性,另一方面相关的解析框架较为成熟。另外JSON文件也便于HDFS的读写。示例:
{ "typeValue" : 0, "description" : "端午节是几号", "training" : [ "查一下端午节是几号", "今年的端午节是几号啊?", "麻烦问一下,端午节是哪一天?" ] } |
3.2 生成关键词表
由于采用朴素贝叶斯作为分类算法,我们需要将句子转换为算法可识别的数字序列,那么最直接的办法是把句子映射到一张关键词表中,句子中出现的关键词置为1,未出现的置为0。
例如,有关键词表["查","一下","短信","企业","套餐"],句子"查一下88888的剩余短信"将会转换为[1,1,1,0,0],句子"查88888套餐"将会转换为[1,0,0,0,1]。
生成关键词表的算法,采用HanLP这款专用于汉字处理的自然语言工具包。
POM文件追加引用:
<!-- https://mvnrepository.com/artifact/com.hankcs/hanlp --> <dependency> <groupId>com.hankcs</groupId> <artifactId>hanlp |