【问题标题】:Handle context in a chatbot在聊天机器人中处理上下文
【发布时间】:2017-02-22 14:18:12
【问题描述】:

我使用 Tensorflow 的 translation model(进行了一些修改)制作了一个聊天机器人,通过 Ubuntu 对话语料库中的消息-响应对向它提供。 我想知道是否有人对我如何处理对话中的上下文有任何想法?即我不想让聊天机器人在我输入一个新句子后忘记我之前说过的话。

我只能想到一种策略,就是在预处理中处理上下文。假设我有这个对话:

M1:嗨,你好吗?
R1:嘿,很好!我刚在餐厅完成工作。你好吗?
M2:好。它曾是怎样的?
R2:精疲力竭……
M3:很多客户?
R3:是的,他们也没有给小费!

然后我可以像这样将它们成对放置:(M1-R1)、(R1M2-R2)、(R2M3-R3) 等...另一种选择是在每对中保存来自 M1 的上下文,例如(M1-R1),(M1R1M2-R2),(M1R1M2R2M3-R3) - 但是训练句子的长度会增加(很多) - 导致训练期间分配更多的内存,我可能需要减少我的网络(每层中的神经元更少)。

他们在this paper 中做了类似的事情,但我不明白他们的模型是如何构建的以及它将如何处理这个问题。

【问题讨论】:

  • 你有解决办法吗?

标签: tensorflow nlp chatbot


【解决方案1】:

Bot-context 是一个很酷的库,它提供了一种简单的方法来维护上下文。相关的blog post

【讨论】:

  • 我目前正在开发一个生成式聊天机器人,看起来 bot-context 更适合检索一个
猜你喜欢
  • 2017-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-15
  • 2022-12-23
相关资源
最近更新 更多