我的目标是编写一个智能聊天机器人。他应该像人类大脑一样保存已知的信息。
因此,我正在寻找一种能够将数据存储为连接关键词网络的文件类型。哪种文件类型或数据库系统可以实现这一点?
进一步的信息:
信息输入将来自维基百科、谷歌搜索以及在对话中由人类教授的事实。
我可以提供关于我的需求和愿望的具体信息,但我不知道是否存在任何这方面的尝试。也许有比我的想法更有用的具体要求。
举个例子:连接应该有权重。请求信息网络时,应该增加所使用连接的权重。
我期望的是,聊天机器人能够利用数据网络获得真正的关联(或想法)。
回答:
作为我上述评论的补充:
就数据表示而言,图形绝对是你想要采用的方式……它完美地映射到你的问题描述上。
你似乎在问如何[持久化]将这些信息存储在磁盘上(而不是内存中)。这完全取决于你需要的约束条件。有一种“图数据库”,它比关系或层次数据库更适合存储图形,并且在性能上会远优于将你的邻接矩阵或列表推送到一个平面文件中。这里是维基百科的条目:
http://en.wikipedia.org/wiki/Graph_database
现在,当你有太多的节点和边,以至于无法一次将它们全部加载到内存中时,会发生什么问题,不幸的是,如果你有与每个其他节点相连的节点,这可能会成为一个问题(因为你将无法加载完整/有效的图形)。我现在无法回答这个问题,但我相信有解决这个问题的范式。我会在一些研究后更新我的回答。
编辑 – 你可能需要咨询更了解图数据库的人。可能有办法从数据库中加载图形的部分,而不需要加载整个图形。如果这是你的问题所在,你可能需要重新形成一个关于处理存储在图数据库中的大型图形的问题,并再次发布,标记为graphs
、databases
、algorithms
等相关标签,并以更具体的方式再次发布。