在实现一个对话机器人的过程中,常用的一些工具:
- Jieba: 中文分词和词性标注Python包
- CoreNLP: 斯坦福的NLP工具(Java)
- NLTK: 自然语言工具包
- TextGrocery:高效的短文本分类工具(注:只适用于 Python2)
- LTP: 哈工大的中文自然语言处理工具
- Gensim:文本分析工具,包含了多种主题模型
- Word2vec: 高效的词表示学习工具
语言理解(SLU):把用户输入的自然语言转变为结构化信息——act-slot-value三元组。例如餐厅订座应用中用户说“订云海肴中关村店”,我们通过NLU把它转化为结构化信息:“inform(order_op=预订, restaurant_name=云海肴, subbranch=中关村店)”,其中的“inform”是动作名称,而括号中的是识别出的槽位及其取值。
NLU可以使用语义解析或语义标注的方式获得,也可以把它分解为多个分类任务来解决,典型代表是Semantic Tuple Classifier(STC)模型。
创建一个类似QQ智能客服、淘宝工作台、微信等智能客服是要求智能客服有下面3方面的的能力的。
智能客服可以进行语义归类、语义分析、意图分析等自然语言的处理
智能客服须要支持上下文语境
智能客服必须拥有自己企业的业务知识,以应对客户提出的专业问题
对于第一个需求,如今有非常多的机器人接口,我们随便接入一个平台就能够搞定。可是眼下大部分的机器人还不能支持上下文以及语境分析,所以到第二条就能pass掉一大批的智能机器人接口和平台。再来看第三条。众所周知,每个企业的客户问题和业务是相匹配的,而企业间的业务则迥然不同,所以企业智能客服的兼容性基本为零。智能客服必须拥有自己企业的业务知识。才干应对客户提出的专业问题。才干使得智能客服有存在的价值。