我想在下面描述的内容中是否有模式/算法的名称?...
假设你有一棵相关树 - 这样的数据:
- 的IDE
- Visual Studio
- Visual Studio 2008
- Visual Studio 2010
- 的Eclipse
然后我有一个包含对“Visual Studio 2010”的引用的对象。
然后我在这个对象上搜索“Visual Studio”,并想知道这个匹配的相关性。
在构建树时,如果单独在节点之间设置特定值,或者可以/我应该设置一个特定值,这是最好的做法,例如,一个级别是10个点,两个级别是5个点,依此类推?
多个节点可能会链接到多个其他节点。或者这是一个坏主意? Visual Studio也是“Microsoft软件”等等。
这也可以双向制作吗?树上和树下都有点。
这是我最初考虑测试并构建某种相关引擎的想法。请帮我把我带到某种轨道上。
答案 0 :(得分:4)
这是一大堆虫子,所以请原谅我,如果这是手工波浪和一般。您可以在此数据结构中构建各种关系。目前,您拥有关系分类。您还提到了另一类“微软软件”,它将跨越您的分类。然后你可以进入有关系等等。
更一般地说,你在谈论an ontology。虽然有很多关于它们应该如何构建和搜索的研究,但我不知道有任何大型项目以编程方式构建了丰富的本体,即使你有专家手工构建本体,也并不总是很清楚如何为“关联引擎”加权。我不是处于这种情况的最前沿,但大多数最有效的信息检索技术是在简单结构上运行的统计数据,而不是结构丰富的数据模型。
我认为你走在正确的轨道上。我的建议 - 保持尽可能简单。我会将层次结构构建为一般图形,并根据图形距离进行基础相关,如果需要,可以在每个边缘上加权。双向性在这里也很好,所以你可以根据需要惩罚泛化/规范。这里没有真正的食谱方法,你必须进行实验