赞
踩
0、
- 电话营销机器人
- 智能客服
- 智能助手
- 游戏智能机器人
- 聊天机器人
- 1、模板与规则:精确度极高,召回率较低,使用于某一个很狭窄的领域(车票查询、商品查询、天气查询...),
- 例如百度的高考问答系统:关键词一定要覆盖广泛,密切注意 关键词的近似词,如 电脑 --- 计算机 、脚踏车 ----
- 自行车,以保证较高的召回率。
规则模板解析: 需要基于 分词、词性标注、命名实体识别、依存句法分析、语义分析 的前提下 才能完成
而且数据中使用的也是字典形式(key hash 结构),查询速度较快。
- 特点:人力物力耗时巨大
- 技术:规则模板 需要在 分词(HMM等)、词性标注、NER、依存句法分析(hanlp/ltp)、语义分析 的前提下 完成。
- eg {('n','爱吃','n'):0,('n','到','n'):1, ... } ------ 规则模板的字典
- 2、词距匹配:一般使用 编辑距离/simhash 来求 当前query 与 内部问答库中的 问题的相似度,一般取出相似度>0.8的问题
- 的答案作为当前query的答案。说白了就是答案问答库里已经有了,不是机器现场组织出来的答案。
- 技术:① sim hash
- ② 编辑距离: 将两句话进行 添加/删减/替换,使得两个字符串相等的最小的操作次数(即最小的距离 )为 编辑距离。
- 根据这个编辑距离来求 相似度。
- 3、语义匹配:利用doc2vec来计算当前query与问答库中问题的相似度,类似词距匹配,获取问答库的答案。
- 技术:① doc2vec/word2vec、n-gram、LDA/LSA(潜在语义分析,根据矩阵分解奇异值大小) tip:词语级语义分析
- ② 语义角色标注、依存句法分析 ----- ltp、hanlp 提取三元组:(主体obj,关系谓语rel,客体obj) 精确率
- 较高,因此比较适合做比较狭窄的领域,比如:买票查询
- tip:句子语义分析:实施关系,受事关系,时间,地点
-
自然语言处理(NLP)语义分析--文本分类、情感分析、意图识别
- ③ 基于规则模板(booststriping,主干抽取:三元组),召回率和精确率都不错,需要人工干涉,是一种成熟的技术
- https://blog.csdn.net/qq_16555103/article/details/103792301 -----信息抽取(booststraping、深度学习..)
- 以上两个方式:耗时较短
- 大致实现:利用NER抽取实体,利用 分词、词性标注、依存句法分析 去除句子修饰词,利用实体做种子搜索匹配模板。
- 4、状态机与行为树:用于特定的任务场景中。场景:相对复杂的流程,包括 引导、反问、提示、确认 等功能(例如:售后服
- 务【第一步:。。。第二步:。。。】)
- 5、知识图谱:主要用于推理过程的回答。场景:相对复杂的关系推理
- 例:小明的爸爸的孙子是谁?
- 理解:
- 知识图谱本质上也是一种规则模板,而且其构建过程用的是三元组的结构( ('苹果','颜色','红') ),
- 技术:知识图谱是建立在 信息抽取(方法:前面文章) 的前提下,将 信息抽取 获得的三元组进行 知识图谱。
注意:以上五种方式获取答案的结果都是在问答库中搜寻答案获取的,机器只是分析了问题query寻找答案而已,并不是现场组织的语言进行回答。
- 5.. 信息抽取
- 链接:https://blog.csdn.net/qq_16555103/article/details/103792301 ---- 信息抽取(booststraping、深度学习..)
6、命名实体识别NER:
7、seq2seq+attention:场景:QA对话闲聊
- 1、基于词典以及模版的规则方法
- 不同的意图会有的不同的领域词典,比如书名,歌曲名,商品名等等。当一个用户的意图来了以后我们根据意图和词典的匹配
- 程度或者重合程度/或者打分来进行判断,最简单一个规则是哪个domain的词典重合程度高,就将该query判别给这个领域。
-
- 2、基于查询点击日志
- 如果是搜索引擎等类型业务场景,那么我们可以通过点击日志得到用户的意图。
-
- 3、基于分类模型来对用户的意图进行判别
- 因为意图识别本身也是一个分类问题,其实方法和分类模型的方法大同小异。
-
- 4、意图识别的难点
- 意图识别工作最大的难点其实是在于标注数据的获取。目前标注数据的获取主要来自两方面,一方面是专门的数据标注团队对数据
- 进行标注,一方面是通过半监督的方式自动生成标注数据。
- 5.意图识别的做法:
- 两种方式:
- ① 基于规则模板解析; 例 1公斤等于多少斤? >>>>> 模板: 【数量】【单位】 是/等于 【数量】【单位】
- 需要基于 分词、词性标注、命名实体识别、依存句法分析、语义分析 的前提下 才能完成
-
- tip思想:利用词性标注,依存句法分析去除修饰词并获得意图动词,利用NER判别实体,由实体命中
- 各个子模型的主域,意图动词命中领域,用领域模板进行匹配的方式,输出所有子模型中重合度最大
- 的模型作为预测模型。
-
- 而且数据中使用的也是字典形式(key hash 结构),查询速度较快。
- ② 基于机器学习、深度学习分类算法:
- 机器学习的算法:
- 例:doc2vec + LR、SVM、XGboost、KNN
- 贝叶斯算法 ------- 算法特性 适合短文本 分类
- 深度学习的算法:
- 例: LSTM、GRU、BiLSTM + attention 分类模型
- transformer、BERT 结构
- 9、情感分析:前面文章
- 情感分析与意图识别一样,属于分类模型的范畴
-
- 基于情感词典的方法:
- ①建立带类别(喜、怒、哀、乐等)和分值等级与极性的情感词典;
- ②建立带分值的程度词典(非常、有点、稍微等);
- ③建立否定词字典
-
- 依存句法分析 去除修饰词分割句子 得到情感动词、否定词、程度词,算分公式:sum(程度词分值*情感词分值*否定词*极性);
- 扩充情感字典的思想:
- 对于新词 使用 word2vec 中skip-gram 找出 周围相近的词,用这些
- 词评分的平均值作为新词的平均值。
- 基于 依存句法分析 + 评分 的方法:
- https://blog.csdn.net/qq_16555103/article/details/100710191 ------- 第一章的第二小节
- 基于机器学习或深度学习的方法:
- 输入为语料中的句子;
- 输出为打情感的label和分数;
- 评级并标记label较为困难;
-
- 技术:情感分析是一个分类的模型
- ① 基于模型:
- 深度学习:
- word2vec + LSTM / .... /依存句法分析(核心谓词 是 情感词,然后找出程度词 >>>>> 最后评分)
- 机器学习:
- doc2vec + 机器学习分类器(贝叶斯、KNN、svm、LR) 或者 tf-idf + 贝叶斯、svm ....
- ② 基于情感词典:
- eg:我十分喜欢旅游 label:正 score:45 (基本的手段:程度词 分数 * 情感词 分数)
- eg:我有点讨厌旅游 label:负 score:-10
https://blog.csdn.net/qq_16555103/article/details/95625946 ------- NLP领域基本名词、算法(情感分析)
https://blog.csdn.net/qq_16555103/article/details/100939224 -------- NLP常见项目领域(算法思路)【情感分析】
- 10、文本分类与聚类:
- 1)文本分类(有监督学习):
- (1)机器学习算法:
- ① tf-idf + 贝叶斯(需要用PCA降维并获取独立特征)、svm、LR、XGboost、KNN ....
- ② doc2vec + 机器学习分类器(贝叶斯、KNN、svm、LR)
- 为什么用 doc2vec?查看文章(Doc2vec小节):
- https://blog.csdn.net/qq_16555103/article/details/98748593
- (2)深度学习算法:
- ① word2vec + LSTM / GRU + attention + softmax/CRF
- ② BERT、transformer、GPT
- 2)文本聚类(无监督学习):
- (1)机器学习算法:
- ① TF-IDF + KMeans 、 密度聚类 ----- 效果可能不好
- ② Doc2vec + Kmeans 、密度聚类
- 为什么用Doc2vec?查看文章(Doc2vec小节):
- https://blog.csdn.net/qq_16555103/article/details/98748593
- 问答系统 QA:
- 四个模块:
- 1、闲聊
- 2、车票
- 3、天气
- 4、售后
意图识别大致有两种方式:① 规则模板解析(分词、词性标注、命名实体识别、句法分析、语义分析的前提下)
② 基于机器学习/深度学习做分类预测
https://blog.csdn.net/qq_16555103/article/details/100767984 ----------- 意图识别
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。