NLU 分支介绍 - tedrepo/SimDial GitHub Wiki

  1. 日期 数字 实体提取方案: https://github.com/zxsted/ChatterBot/blob/master/chatterbot/parsing.py

  2. 基于 相似度的ranker方案: https://github.com/zxsted/ChatterBot/blob/master/chatterbot/comparisons.py

      https://github.com/zxsted/ChatterBot/blob/master/chatterbot/response_selection.py
    
  3. 百度学院介绍的 units dm kit 的视频教程: http://bit.baidu.com/course/detail/id/363/by/2/column/127.html

  4. DM kit 示例场景 https://github.com/baidu/unit-dmkit/blob/master/docs/demo_skills.md

  5. DM kit 快速上手 https://github.com/baidu/unit-dmkit/blob/master/docs/tutorial.md#%E6%8A%80%E8%83%BD%E9%85%8D%E7%BD%AE

  6. us kit https://github.com/baidu/unit-uskit

  7. us kit 含有的模块 :a. 表达式引擎:负责表达式的解析和执行求值 b. 后端服务管理引擎:负责后端服务的接入、请求构造和结果解析抽取等策略的管理 c. 排序策略管理引擎:负责技能的排序规则的管理,用于多技能的排序 d. 对话流程管理引擎:负责对话中控流程的策略的管理,用于定义机器人中控的逻辑执行流程:包括调用后端服务引擎召回技能(recall)、调用排序引擎进行技能排序(rank)、结果选择和输出等

  8. 办事引导系统:基于百度unit实现多轮会话 (含有引导话术到引导意图的的映射例子) : https://ai.baidu.com/forum/topic/show/940959

  9. dm kit 视频例子: https://ai.baidu.com/unit/v2#/dmKit

  10. 长query导航场景的实现思路

1\ 在导航场景中其意图是要寻找一条导航的路线,句子中涉及的关键信息包括两类:一类是重要的地点信息(POI,point of interest),另一类是路线的附加属性。

以上面句子为例,POI信息包括起点(三里图的团结湖地铁站)、途经点(望京的家乐福、南锣鼓巷)和终点(家),附加属性包括红绿灯少、不拥堵和时间快,识别得到这些信息,就可以满足导航场景下的需求,达到理解句子的目的。

2、UNIT提供了无序模板匹配技术,可以将关键信息作为核心,无序匹配关键信息的片段,实现对句子的处理和理解。

同样以上面句子为例,起点的信息片段为“从POI出发”,途经点的信息片段为“先去POI”和“然后去POI”,而终点的信息片段为“最后回POI”,附加属性的信息片段即为其本身。在UNIT平台,POI复用系统地理位置词槽,同时利用无序模板匹配信息片段,即可得到关键POI信息和附加属性信息,满足导航场景下的需求。

导航中包含的四个模板片段分别为:

1.[D:kw_after_go] [D:user_pass_by]——途径某地的说法

  1. [D:kw_navigation] [D:user_destination]——导航到目的地的各种说法

  2. [D:kw_start_prefix] [D:user_start] [D:kw_start_suffix]——出发地的各种说法

  3. [D:kw_multi_node] [D:user_pass_by]——途径多个地方的说法

l 模板片段顺序:标记为0,表示为无序模板

l 阈值:设置为0.7,表示识别的内容占query的长度的70%+,则命中该模板

l 模板片段无须匹配:所有片段都标注为“否”,表示用户query中只要包含其中一个片段且阈值大于0.7,则命中该模板

这样,用户各种导航需求都可以用以上一条训练数据实现了。即使是超长query,也能准确解析识别。

  1. 多种方式对话融合的例子 儿童故事机示例: http://ai.baidu.com/forum/topic/show/892097

  2. 外呼实现方案: http://ai.baidu.com/support/news?action=detail&id=421

13 UNIT2.0中为对话模板提供了更强大的用法,多个模板片段组成一个对话模板,每个模板片段都可以由词槽、特征词、特定文本单独或组合而成,而且多个模板片段可以是有序的,也可以是无序的。此外还可以设置模板片段是否必须在用户提问中出现。另外,UNIT2.0新增的PowSLU能力,有效融合模板规则技术与机器学习技术的混合策略模型,提供了更加灵活的意图解析机制。PowSLU内部通过具有由高到低不同置信度等级的多级分析机制,实现了比基于规则模板的SmartSLU更好的召回能力,取得了更高的口语理解精度。

  1. unit2.0 案例 https://ai.baidu.com/docs#/UNIT-v2-sample/top

15 人工智能:将客户体验和数据分析推向新的水平 https://baijiahao.baidu.com/s?id=1578879131907218173&wfr=spider&for=pc

16 茹来 https://rul.ai/

17 基于rasa的对话系统搭建 (上): https://www.jianshu.com/p/7f8ca4ac16e7

18 基于rasa的对话系统搭建 (下): https://www.jianshu.com/p/515385a7c7f0

19 Rasa Core源码之Policy训练 https://www.jianshu.com/p/52c13eb39ab5

20 基于rasa-nlu和rasa-core 搭建的对话系统demo https://github.com/tedrepo/rasa_chatbot_cn

21 基于rasa的对话系统搭建 http://ezingsoft.com/post/5ac4b712614b4829ff370256

22 对话系统采坑记 : https://www.jianshu.com/u/4b912e917c2e

  1. rasa_chatbot_cn : https://github.com/GaoQ1/rasa_chatbot_cn

  2. Rasa_NLU 源码分析 https://www.jianshu.com/p/e00cc62ea67a

  3. 基于rasa_nlu 模块的多意图识别 https://www.jianshu.com/p/b47f9147c96a https://github.com/RasaHQ/tutorial-tf-pipeline

  4. 多标签分类策略 https://www.jianshu.com/p/d0915293bed8

  5. How to handle multiple intents per input using Rasa NLU TensorFlow pipeline http://blog.rasa.com/how-to-handle-multiple-intents-per-input-using-rasa-nlu-tensorflow-pipeline/

  6. rasa doc https://rasa.com/docs/nlu/0.13.7/choosing_pipeline/

  7. 使用 Rasa 构建天气查询机器人 https://www.jianshu.com/p/2efe23cf3712

30 blue 计算方法: https://github.com/bzantium/Natural-Language-Processing-with-TensorFlow/blob/master/ch10/bleu_score_example.ipynb

31 标注工具 介绍 https://github.com/mingx9527/Data_Label_Tools

  1. 中文日期提取: https://ask.hellobi.com/blog/KennySayHi/12332

              https://blog.csdn.net/lilong117194/article/details/81212961
    

    java 版: https://blog.csdn.net/lzc4869/article/details/79528931

            https://blog.csdn.net/hereiskxm/article/details/51941955
    

    scipy: https://www.jianshu.com/p/709eae578336 http://www.atyun.com/27129.html

    模型化 ner 系列 https://www.lookfor404.com/category/note/%E5%91%BD%E5%90%8D%E5%AE%9E%E4%BD%93%E8%AF%86%E5%88%AB/

          https://www.jianshu.com/u/ba83fba00eef
    

33 指代消岐 : https://blog.csdn.net/blmoistawinde/article/details/81782971

    在对话机器人上的应用 : https://blog.csdn.net/blmoistawinde/article/details/81782992
  1. 深度:机器如何模仿人类的学习方式? Memory-Augmented Neuaral Networks(MANN,《One-shot Learning with MemoryAugmented Neuaral Networks》) https://www.leiphone.com/news/201609/dPooXkjsRTp76YjG.html github: https://github.com/snowkylin/ntm

35 tf.nn.depthwise_conv2d如何实现深度卷积? https://blog.csdn.net/mao_xiao_feng/article/details/78003476 看普通的卷积,我们对卷积核每一个out_channel的两个通道分别和输入的两个通道做卷积相加,得到feature map的一个channel,而depthwise_conv2d卷积,我们对每一个对应的in_channel,分别卷积生成两个out_channel,所以获得的feature map的通道数量可以用in_channel* channel_multiplier来表达,这个channel_multiplier,就可以理解为卷积核的第四维。

  1. tensorflow 之tf.nn.depthwise_conv2d and separable_conv2d实现及原理 https://www.cnblogs.com/ranjiewen/p/9278631.html