chatbot基本篇
Natural language processing(自然语言处理/NLP)
自然语言处理是人工智能的一个子集领域。自然语言处理是一项包罗万象且相当复杂的技术,它包含许多子集,如自然语言理解。
NLP指的是机器理解人类输入的所有东西。为此,NLP引擎将使用许多工具,如NLU,总结算法,情绪分析,标记化等等。Natural language understanding (自然语言理解/NLU)
自然语言理解是自然语言处理的一个子集。NLU和NLP经常被混淆,因为它们的意思非常接近。
NLU是NLP引擎中非常具体的部分,它检查话语并提取其实体和意图。用更通俗的话说,NLU允许机器理解用户在说什么。
说到聊天机器人,可以把NLU想象成阅读人类语言并识别文本不同部分的过程,把它分解成正确的意图和实体Chatbot(聊天机器人)
chatbot
是一个可对话的计算机程序。但是对话agent可能是形容这个程序更好的词汇。Utterance(表达)
用户对chatbot说的任何话,也可以看做是用户输入。例如,如果用户输入“给我看昨天的财经新闻”,整个句子就是Utterance
。Intent(意图))
Intent
代表了用户Utterance
的意义。Chatbot将会根据用户一系列的Intent
和对Intent
的理解来回应用户。例如,如果用户输入“show me yesterday’s financial news”,用户的意图是检索金融标题列表。Intent
通常是一个动词和一个名词,如“showNews”。Entity(实体)
Entity
通常修饰Intent
。例如,如果用户输入“show me yesterday’s financial news”,那么Entity
是“yesterday”和“financial”。Entity
会被赋予一个名称,例如“dateTime”和“newsType”。Entity
有时也被称为Slots
。
Broadcast(广播)
Broadcast
是预先发送给用户的消息。它不是对用户输入的响应。Broadcast
也被称为“订阅消息”,它相当于聊天机器人中的移动应用程序中的推送消息。Ambiguity
- Paraphrase
- metric
术语进阶篇
NLP常用术语
词级别
- 分词(Seg)
- 词性标注(POS)
- 命名实体识别(NER)
- 未登录词识别
- 词向量(word2vec)
- 词义消歧
句子级别
- 情感分析
- 关系提取
- 意图识别
- 依存句法分析(parser)
- 角色标注,
- 浅层语义分析,
- 指代消解
篇章级别
- 信息抽取:
- 本体提取:
- 事件抽取:
- 主题提取:
- 文档聚类:
- 舆情分析:
- 篇章理解:
- 自动文摘:
常用基础算法:
机器学习:
- 隐马尔科夫(HMM)
- 条件随机场(CRF)
- 支持向量机(SVM)
- 语言模型
- 主题模型(LDA)
- TF-IDF
- 互信息(PMI)
- 贝叶斯模型
- 概率图模型
深度学习:
Qustion Answering(QA)
Reinfoecement Learning(强化学习/RL)
Markov Decision Process(马尔科夫决策过程/MDP)
POMDP
Image captioning
Phonology
分词(Segment)
中英文都存在分词的问题,不过相对来说,英文单词与单词之间本来就有空格进行分割,所以处理起来相对方便。但是中文书写是没有分隔符的,所以分词的问题就比较突出。分词常用的手段可以是基于字典的最长串匹配,据说可以解决85%的问题,但是歧义分词很难。另外就是当下主流的统计机器学习的办法。
词性标注(Label)
基于机器学习的方法里,往往需要对词的词性进行标注。标注的目的是用来表示,词的一种隐状态,隐藏状态构成的转移就构成了状态转移序列。例如:苏宁易购/n 投资/v 了/u 国际米兰/n。其中,n代表名词,v代表动词,n,v都是标注。以此类推。
命名实体识别(Named Entity Recognition)
本质上还是标注问题的一种。只不过把标注细化了。比如,苏宁/cmp_s 易购/cmp_e 是/v B2C/n 电商/n。我们把苏宁易购 标注成cmp_s和cmp_e,分别表征公司名的起始和结束。这样,当遇上苏宁/云商/易购这种场景时,也可以完整得识别出它是一个公司名称。如果,按照传统的标注方式,苏宁/cmp 易购/cmp这样笼统地标注可能会有问题。
句法分析(Syntax Parsing)
句法分析往往是一种基于规则的专家系统。当然也不是说它不能用统计学的方法进行构建,不过最初的时候,还是利用语言学专家的知识来构建的。句法分析的目的是解析句子的中各个成分的依赖关系。所以,往往最终生成的结果,是一棵句法分析树。句法分析可以解决传统词袋模型不考虑上下文的问题。比如,张三是李四的领导;李四是张三的领导。这两句话,用词袋模型是完全相同的,但是句法分析可以分析出其中的主从关系,真正理清句子的关系。
指代消解(Anaphora Resolution)
中文中代词出现的频率很高,它的作用的是用来表征前文出现过的人名、地名等词。例如,苏宁易购坐落在南京,这家公司目前位于中国B2C市场前三。在这句话中,其实“苏宁易购”这个词出现了2次,“这家公司”指代的就是苏宁易购。但是出于中文的习惯,我们不会把“苏宁易购”再重复一遍。
AI模型篇
Deep Semantic Similarity Model(DSSM)
Triplet loss
Machine Reading Comprehension(MRC)
Knowledge Base-QA(KBQA)
- WordNet(1998)
- Freebase(2008)
- Yago(2007)
Knowledge base completion(KBC)
chatbot领域学习地图:
参考与引用
- https://www.microsoft.com/en-us/research/publication/neural-approaches-to-conversational-ai/
- https://chatbotsmagazine.com/chatbot-vocabulary-10-chatbot-terms-you-need-to-know-3911b1ef31b4
- https://blog.ubisend.com/discover-chatbots/chatbot-glossary
- https://blog.csdn.net/wangongxi/article/details/52662177
- https://www.jianshu.com/p/d7ec29abbcb8