项目总结:蓝凌

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MrWilliamVs/article/details/88874716

核心,1)对数据建立索引(用于精确匹配);2. WMD(无监督的模型,相似度计算,排序,对于无法精确匹配的,设置阈值)

普通问答(问答类型的):返回相似度最高的匹配问句(后面可以接应用场景,返回库里对应的答案, 比如:特定领域的特定知识库)

指令(执行某种操作,命令型的):应用场景,语音助手等,1. 分类模型:识别指令类型,2.解析模型:对指令进行解析,提取出机构名(地名)、人名、时间,做什么。

接口1: index

数据更新

问法类型:
0:普通问答,
1:指令,
2:主数据(一些名词)

操作类型:0,新增/修改,1:删除

接口2: match
对发送过来的内容识别,判断是普通问答(0),还是指令(1)。或者是匹配到了相似问题(8),阈值太低(匹配不到9)

普通问答:问句匹配,(相似度计算)

指令:

主数据:字典,也会进行相似度匹配计算,有一样的就返回,没有就进行字,拼音的模糊匹配。返回最相似的。

扫描二维码关注公众号,回复: 6083967 查看本文章

结果总结:
指令问法随机分成5份,4份用来训练,1份用来测试。识别准确率平均87.6%。
错误的有:指令识别错误,场景识别错误。

4.10 面试总结:
蓝凌项目问题:

  1. 数据量那么少,训练不够怎么办,会过拟合?
    答案: 我们模型是私下预先训练好,迁移到项目里用的,在项目只进行微调,考验的是迁移能力;
    同时,有很多防止过拟合的操作机制,

发现过拟合:验证集上准确率饱和,就停止训练。

1.增大训练数据,人为构造数据;

  1. dropout: 随机删除网络中的一般隐藏的单元,输入层、输出层神经元保持不变。
    训练网络的健壮性,丢掉不同的神经元,相当于训练不同的神经网络,多次之后,相当于投票的方式,降低过拟合,提高泛化能力。

  2. 网络规范化,L1\L2规范化,学习小规模数据的权重,

2. 蓝凌项目细节
用户输入句子,不确定是问答还是指令,从两个库里都返回候选; 1)指令这边,分类模型分类(???错了怎么办),类别和指令候选进行比较,过滤掉类别不同的,同时还有wmd相似度计算排序;2)问答那边,相似度计算,排序,

最后,返回哪一个????

4.22 补充:
数据量多说点,8000条左右,效果还不错,够用。
输入可以带0,1(是普通问答,还是指令),只去相应的类别里去找。
不输入0,1时,两个模块都去找,看相似度最高的句子(WMD)是哪个类别。
CNN 分类,很简单,自己实现的。在自己数据集上做调整,匹配模型参考论文,自己实现的。

猜你喜欢

转载自blog.csdn.net/MrWilliamVs/article/details/88874716
今日推荐