我正在开发一个提供上下文知识查找的应用程序。该应用程序处于设计阶段。
我需要知道一个简单的图结构和遍历算法是否足够,或者我是否应该使用神经网络。我想选择最长期的解决方案。
我正在考虑用简单的节点来表示单个概念。假设我想查找 John 的头发颜色(黑色)。我想我需要四个概念节点:约翰、头发、颜色和黑色。这里有两种算法——哪一种最适合我的任务?
遍历查找算法
请参阅此图以供参考:http ://chadjohnson.ath.cx:8080/static/concept_map.png
- 输入(类似这样),按顺序:1. 人 2. 约翰 3. 头发 4. 颜色
- 找到与“人”对应的图形节点。
- 查看与“person”节点相邻的所有节点,并找到“john”节点。
- 查看与“john”节点相邻的所有节点,并找到一个同时链接到“头发”节点和“颜色”节点的节点。
另一种选择是将“头发颜色”表示为其自己的概念节点,使“金发”成为“头发颜色”概念。然后步骤(4)将变为
查看与“john”节点相邻的所有节点,并找到一个节点,即“头发颜色”概念。
神经网络算法
- 输入,无特定顺序:1. 人 2. 约翰 3. 头发 4. 颜色
- 训练网络将这些特定输入映射到“金发”概念。
对于任何反馈,我们都表示感谢。谢谢!
一个里程碑式的目标是能够回答“约翰的头发是什么颜色?”这个问题。
所以,我希望能够存储“人”的概念、不同人的概念、头发的概念、颜色的概念、多种不同颜色的概念,然后我想将不同的人与不同的头发颜色联系起来。
一旦这些知识及其关联到位,我希望能够查找给定人的头发颜色,给定(输入)对人的参考,头发的概念和颜色的概念。
这就是我的问题发挥作用的地方:遍历与神经网络。
如果它改变了你的回答方式,未来的里程碑将是:
- 计算机从零开始学习一门语言的语法
- 计算机使用其对语言语法的知识来回答问题
- 根据上下文和现有知识,将句子从一种语言正确翻译成另一种语言的计算机。在其最简单的形式中,它将存储一个概念,将给定语言的单词与该概念相关联,并将另一种语言的另一个单词与同一概念相关联。为了翻译,将找到并返回与概念相关联的目标语言单词(参见http://chadjohnson.ath.cx:8080/static/language_translation.png)。