Javen Chen's Blog

Tech and Life~

简介

在一个稍大一点的python项目中,我们很有可能会用到注册器(register)。这个注册器不是用户账号注册的模块,而是项目中注册模块的一个模块。举个例子,一个深度学习项目可能支持多种模型;具体使用哪种模型可能是用户在配置文件中指定的。最简单的实现方式,就是维护一个模型名称->模型类的字典。但每当你增加一个模型时,这个字典就需要手动维护,比较繁琐。本文介绍一种注册器的模块,你需要维护的是需要注册的模块的代码路径(相对简介些)。

这个模块在我们的开源项目Delta中也有使用。

点这里看完整源代码

要注册的模块

Read more »

简介

Few-Shot Generalization Across Dialogue Tasks, 2018 * pdf * rasa repo * project data and code

这篇paper来自于基于深度学习的开源对话系统RASA。本文介绍了一种名为“Recurrent Embedding Dialogue Policy (REDP)”的模型,它将系统动作和对话状态映射到同一个向量空间。REDP包含一个记忆组件基于神经图灵机的注意力机制

动机

  • 为什么是监督学习:强化学习的方案需要实现一个高精度的用户模拟器以及一个准确的奖励函数,对平台的应用开发者不友好。
  • 更好的领域适应:focus在对话策略的领域适应(不考虑NLU的错误)。
Read more »

动机

最近在极客时间上买了一个课程名字叫《Python核心技术与实战》。链接戳这里:https://time.geekbang.org/column/intro/176

我挺喜欢这种课程形式:一个业内比较资深的老师整理内容,然后找一个专业的声优再朗读一遍;文章中还有一些代码。我比较习惯上下班的时候听,这种碎片时间巩固下编程语言还是可以的。

不过后面感觉这个课程讲的不错,有些内容值得复习和深度阅读,因此开这篇笔记。

基础篇

Read more »

简述

Rasa是一个开源的基于机器学习的chatbot开发框架。其主要分成两大模块:Rasa NLU和Rasa Core。使用Rasa NLU + Rasa Core,开发者可以迅速构建自己的chatbot。本文先是分析了Rasa的结构组成,然后介绍开发者如何方便地利用Rasa构建自己的chatbot。

本文面向需要使用Rasa快速构建自己的chatbot的同学,还有想进一步了解Rasa框架结构的同学,以及想学习Rasa构建一个自己的chatbot框架的同学。

快速安装

1
pip3 install rasa-x --extra-index-url https://pypi.rasa.com/simple
Read more »

小爱开放平台技能开发平台:https://xiaoai.mi.com/skill/create/index

音箱 Hello World 自定义技能: https://xiaoai.mi.com/documents/Home?type=/api/doc/render_markdown/SkillAccess/SkillDocument/SkillExample/SoundboxHelloWorld

多轮对话

平台内置的模型工具中提供了两种实现上下文对话的功能。一是连续对话语料,能够实现在当前意图的多轮对话中进行槽位信息的传递,实现多轮对话。另外一个是前置意图,能够实现跨意图中的槽位信息传递。 https://xiaoai.mi.com/documents/Home?type=/api/doc/render_markdown/SkillAccess/BackendDocument/ImportantConcepts

续对话语料

Read more »

官网:https://ai.baidu.com/unit/home

UNIT(Understanding and Interaction Technology),是一个可定制的对话系统开发平台。

使用流程

  • 1.梳理业务逻辑。
  • 2.在网站上配置技能。
  • 3.标注对话数据。分成数据上传和交互式生成两种方式。
  • 4.对话训练和验证。
  • 5.在百度云上创建应用。

案例

Read more »

简介

稍微偏底层的网络框架:

  • 可以跨语言跨平台调用。
  • 可以用inprocIPCTCPTIPCmulticast多途径传递数据。
  • 提供常用的模式,如pub-sub(发布-订阅)push-pull(推送-拉取)router-dealer(路由器-经销商)等模式。
  • 快速的异步IO引擎。
  • 开源、免费。

文档

Read more »

7. n-step Bootstrapping

n-step Bootstrapping简介

  • MC方法和一步TD方法的结合
  • 资格痕迹eligibility traces,具体见第12章)的基础先验知识。

n-step TD Prediction

  • MC对应的回报:$G_t = R_{t+1}+\gamma R_{t+2}+…+\gamma^{T-t-1}R_T$
  • 一步TD对应的回报:$G_{t:t+1} = R_{t+1} + \gamma V_t(S_{t+1})$
  • n-step的回报:$G_{t:t+n} = R_{t+1} + \gamma R_{t+2}+…+\gamma^{n-1}R_{t+n}+\gamma^nV_{t+n+1}(S_{t+n})$
Read more »

6. Temporal-Difference Learning

时序差分(Temporal-Difference)简介

  • 时序差分是强化学习的核心观点。
  • 时序差分是DP和MC方法的结合。
  • MC要等一个完整的序列结束,比如玩21点扑克,直到玩完才能知道是胜是负;相反,时序差分每经历一步,都会更新价值函数,因为每一步都会观察到一个新的Reward,比如Grid World,每走一步都知道reward是什么。
  • TD往往比MC高效;TD和MC都使用经验(experience)来解决预测问题。
  • 所谓差分就是下一个时刻的估计和当前时刻的估计的差。

什么是stationary?

  • stationary:环境不随时间变化而变化;
  • non-stationary:环境会随时间变化而变化。
Read more »
0%