下面我要描述的模式/算法有名字吗?。。。
假设你有一个像这样的相关性数据树:
- IDE
- Visual Studio
- Visual Studio 2008
- Visual Studio 2010
- Eclipse
然后我有一个对象,它包含对"Visual Studio 2010"的引用。
然后我在这个对象上搜索"Visual Studio",想知道这个匹配有多相关
在单独设置节点之间的特定值来构建树时,这是最好的做法吗?或者我可以/应该设置,例如,一级差10点,两级差5点,等等?
多个节点可能链接到多个其他节点。或者这是个坏主意?Visual Studio也是一款"微软软件"等等
这也可以是双向的吗?树上和树下都有点。
这是我对测试和构建某种相关性引擎的初步想法。请帮我走上正轨。
这是一个很大的蠕虫罐头,所以如果这是波浪形的,请原谅我。在这个数据结构中可以建立各种各样的关系。目前,您有一个关系分类法。你还提到了另一类"微软软件",它将交叉你的分类法。然后你就可以建立关系,等等。
更普遍地说,你说的是本体论。虽然已经有很多关于如何构建和搜索它们的研究,但我不知道有哪个大型项目通过编程构建了丰富的本体,即使你让专家手工构建本体,也不总是清楚如何为"相关性引擎"加权。我并不处于这方面的前沿,但大多数效果最好的信息检索技术都是在简单结构上操作的统计技术,而不是结构丰富的数据模型。
我认为你走在正确的轨道上。我的建议——尽量简单。我会将层次结构构建为一个通用图,并根据图的距离建立相关性,如果必要的话,在每条边上加一个权重。双向性在这里也很好,所以你可以根据需要对泛化/规范进行惩罚。这里没有真正的食谱方法,你必须实验