RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 608197
Accepted
user208916
user208916
Asked:2020-12-27 02:55:25 +0000 UTC2020-12-27 02:55:25 +0000 UTC 2020-12-27 02:55:25 +0000 UTC

如何教神经网络聊天机器人考虑对话的上下文?

  • 772

我有点理解什么是神经网络——反映现实世界的数学模型。您可以教神经网络识别文本、图像等。- 这很清楚。但我不知道如何教神经网络聊天机器人考虑对话的上下文?

Я: Меня зовут Ваня.
Я: Как меня зовут?
Чатбот: Тебя зовут Ваня. 
нейронные-сети
  • 4 4 个回答
  • 10 Views

4 个回答

  • Voted
  1. Best Answer
    Arnis Shaykh
    2020-01-11T18:43:39Z2020-01-11T18:43:39Z

    考虑到上下文,您可以使用神经网络,例如 LSTM(长短期记忆),或者简单地使用俄语 - 具有短记忆和长记忆的神经网络。它的本质在于这个网络的神经元有一个特定的参数,可以记住特定句子中所说的内容。例如对话:

    Я: Меня зовут Ваня. <- нейросеть теперь знает что общается с Ваней
    Я: Как меня зовут?
    Чатбот: Тебя зовут Ваня.
    Я: Сколько мне лет?
    Чатбот: Я не знаю, Ваня.
    
    Я: У меня есть друг и его зовут Саша. <- нейросеть теперь знает что теперь речь идет о Саше
    Я: Как зовут моего друга?
    Чатбот: Твоего друга зовут Саша.
    
    Я: Меня зовут Андрей.
    Чатбот: Тебя зовут Андрей. <- нейросеть забывает про Ваню и его друга и менят контекст
    

    当然,如何选择上下文也很重要,否则神经网络将不知道句子中哪些词重要,哪些不重要。为此,就有了NLP(Natural Language Processing),可以翻译为自然语言处理。这种技巧可以让您确定句子的语调,理解所说的内容并突出显示关键词。

    自然语言处理补充

    要了解 NLP 的全部本质,我建议您在链接https://cloud.google.com/natural-language/上使用来自 Google 的 API 。在这里你可以用一句话来驱动,虽然到目前为止只有英文,它会给出所有关于它的信息。例如,如果您也将所有内容都输入“我的名字是 Vanya”,那么 Google 会写道Vanya是一个人,这是一个名为name的参数。同样在connection选项卡中,你可以看到谷歌理解这个参数指的是写这句话的那个人,也就是to me。它是如何工作的问题在这里无法回答,因为 NLP 是一门完整的科学。

    • 1
  2. Clarence
    2020-12-27T03:05:26Z2020-12-27T03:05:26Z

    通常,不仅使用神经网络,还使用其他机器学习算法来实现聊天机器人。一个神经网络真的很难过。我把habr 的一篇文章带到了这个话题。微软有一个很好的框架来创建你自己的聊天机器人,如果你需要在不深入研究机器学习的情况下制作一个聊天机器人,那最好的办法

    • 0
  3. perfect
    2020-01-11T19:17:38Z2020-01-11T19:17:38Z

    我没有使用过神经网络,但对于任何系统,有两个条件可以确定:

    1. 通过关键字或短语识别
    2. 在对话之前,你需要问将讨论什么

    您还可以将从通信历史中获得的概率与此联系起来,其中有对主题领域的精确指示。但是有出错的可能。

    • 0
  4. Алекс
    2020-08-16T00:21:51Z2020-08-16T00:21:51Z

    神经网络不是反映现实世界的数学模型。如果仅仅是因为我们自己不了解真实世界是什么,思想是什么,我们无法解释大脑是如何工作的。神经网络是一组具有非线性激活函数和连接加权系数的阈值加法器,实际上是一种用于处理具有内置优化算法的大数据矩阵的数学设备。它们主要用于解决分类问题。存储上下文的任务可以通过不同的方式解决,例如,已经提到的 lstm。无论如何,这里没有而且永远不会有智慧和理性。

    • 0

相关问题

  • 训练神经网络的数据源

  • 为这些类型的任务选择什么样的神经网络?

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    如何停止编写糟糕的代码?

    • 3 个回答
  • Marko Smith

    onCreateView 方法重构

    • 1 个回答
  • Marko Smith

    通用还是非通用

    • 2 个回答
  • Marko Smith

    如何访问 jQuery 中的列

    • 1 个回答
  • Marko Smith

    *.tga 文件的组重命名(3620 个)

    • 1 个回答
  • Marko Smith

    内存分配列表C#

    • 1 个回答
  • Marko Smith

    常规赛适度贪婪

    • 1 个回答
  • Marko Smith

    如何制作自己的自动完成/自动更正?

    • 1 个回答
  • Marko Smith

    选择斐波那契数列

    • 2 个回答
  • Marko Smith

    所有 API 版本中的通用权限代码

    • 2 个回答
  • Martin Hope
    jfs *(星号)和 ** 双星号在 Python 中是什么意思? 2020-11-23 05:07:40 +0000 UTC
  • Martin Hope
    hwak 哪个孩子调用了父母的静态方法?还是不可能完成的任务? 2020-11-18 16:30:55 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    Arch ArrayList 与 LinkedList 的区别? 2020-09-20 02:42:49 +0000 UTC
  • Martin Hope
    iluxa1810 哪个更正确使用:if () 或 try-catch? 2020-08-23 18:56:13 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5