问题描述
|
我要在下面描述的内容是否有模式/算法的名称?...
假设您有一棵相关数据树,如下所示:
集成开发环境
视觉工作室
Visual Studio 2008年
Visual Studio 2010
日食
然后,我有一个对象,该对象包含对“ Visual Studio 2010”的引用。
然后,我对该对象进行\“ Visual Studio \”的相关性搜索,并想知道此匹配的相关性。
在单独设置节点之间的特定值来构建树时,这是最好的做法吗?或者我可以/应该设置,例如,一个等级距离为10点,两个等级距离为5点,依此类推吗?
多个节点可能会链接到多个其他节点。还是一个坏主意? Visual Studio也是\“ Microsoft软件\”,依此类推。
还能将它做成2路吗?在树上和树下都有点。
这是我进行测试并构建某种相关性引擎的最初想法。请帮助我使我步入正轨。
解决方法
这是一大罐蠕虫,所以请原谅我是波浪形的手。您可以在此数据结构中建立各种关系。当前,您具有关系分类法。您还提到了另一类“ Microsoft软件”,它将横切您的分类法。然后,您可以进入has-a关系,依此类推。
一般来说,您是在谈论本体。尽管有很多关于如何构造和搜索它们的研究,但我不知道有任何大型程序以编程方式构建了丰富的本体,即使您有专家来手工构建本体,对于“关联引擎”,如何权衡事物并不总是很清楚。我并不是在这方面处于前沿,但是大多数效果最好的信息检索技术都是统计数据,它们可以在简单的结构上运行,而不是在具有丰富结构的数据模型的情况下运行。
我认为您的方向正确。我的建议-使其尽可能简单。我会将层次结构构造为一般图形,并根据图形距离建立相关性,如果有必要,则在每个边缘上赋予权重。双向性在这里也很好,因此您可以根据需要对归纳/规范进行惩罚。这里没有真正的食谱方法,您必须尝试一下