xml - 如何最好地为聊天机器人存储数据?

标签 xml chatbot

我在互联网上寻找聊天机器人。这只是乐趣。但是现在,我非常喜欢这个主题,所以我想开发自己的聊天机器人。
但第一件事是寻找一种管理我的聊天机器人“大脑”的好方法。我认为将所有内容保存在 XML 文件中是最好的解决方案,不是吗?
所以文件类型一目了然。谈到不同名词之间的关系等。当我有一个名词时,例如一颗树。一棵树有叶、有枝、有根,我怎么保存最好。一棵树需要水和阳光才能生存吗?
我应该这样保存还是以其他方式保存?

对于这棵,这将是我的 XML - 示例:

<nouns>
    <noun id="noun_0">
        <name>tree</name>
        <relationship>
            <has>noun_1</has>
            <has>noun_2</has>
            <has>noun_3</has>
            <need>noun_4</need>
            <need>noun_5</need>
        </relationship>
    </noun>
    <noun id="noun_1">
        <name>root</name>
    </noun>
    <noun id="noun_2">
        <name>branch</name>
        <relationship>
            <has>noun_3</has>
        </relationship>
    </noun>
    <noun id="noun_3">
        <name>leaf</name>
    </noun>
    <noun id="noun_4">
        <name>water</name>
    </noun>
    <noun id="noun_5">
        <name>light</name>
    </noun>

    . . .

</nouns>

最佳答案

数据存储选择:视情况而定

简单的非学习机器人:XML 很好

看起来您已经制定了基本的 XML 结构。对于刚刚开始的人来说,我认为这很好,尤其是对于 AI 支持聊天类机器人(if userMsg.contains('lega') then print('TOS & Copyright...') .

当然,切换到任何新格式都需要时间和开销。

学习,复杂的机器人:数据库!

如果你想做一些更大的事情,特别是如果你有 CleverBot请记住,我认为您将需要一个数据库。这是因为当您的文件 .. 是一个文件并且很大并且试图将其全部保留在内存中时会占用大量资源。对于这种项目,我会推荐一个数据库。

为什么?英语很复杂

前阵子我写了一个 nieve bayes 垃圾邮件分类器。大约需要 10,000 条垃圾邮件才能以 7% 的准确率“训练”它,这需要大约 6 个小时和 1.5GB 的 RAM 来将数据保存在内存中。这是很多数据。英语非常难,不能真正分解为 if 'pony' then 'saddle',因此对于要“学习”最佳响应的机器人来说,您的数据库将变得庞大且非常快.

关于xml - 如何最好地为聊天机器人存储数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7450560/

相关文章:

chatbot - 如何在 Google Home 对话框流中添加进度消息

jQuery 创建空的自闭标签

xml - 命名空间停止 XSLT 工作

facebook - 如何让用户选择多个选项作为 Facebook Messenger 聊天机器人中的输入?

node.js - Microsoft Bot Framework - 当对话框存储在单独的文件中时,自适应卡不会发送

testing - 我们可以根据测试用例中的值将 URL 参数附加到端点吗?

node.js - 我无法从 Watson Discovery 收到任何答复

sql - 在 SQL 中使用 FOR XML 为同一属性选择多个值

php - Chrome 上文档末尾的额外内容

sql - 如何使用一个 sql 查询将任何数据库结构转换为 xml?