首先,这个问题似乎微不足道:给定两个本体,本体论中的术语A最好是指本体论中的术语B. 但它的简单性具有欺骗性:这个问题非常困难,目前已导致成千上万的学术出版物,但未就如何解决这一问题达成共识。
天真地,人们会期望只是在两个本体中看“心脏病发作”一词就足够了。 但是,本体几乎从不编码相同的短语。 在简单的情况下,“心脏病发作”可能被编码为“心脏病发作”或“心脏病发作(非致命)”,但在更复杂的情况下,它可能只被编码为“心肌梗塞”。 在其他情况下,它甚至更复杂,例如处理复合(组合)术语。
更重要的是,简单地匹配术语(或字符串)会忽略“本体结构”。
如果本体A中的“心脏病发作”被编码为caused-by
高血压,而在本体B中它可能被编码为withdrawl-from-trial-non-fatal
。
在这种情况下,可能有效匹配这两个术语,但并非如此。
这假设所有都存在等效术语。
这是一个称为语义/本体匹配,对齐或协调的经典问题。那里的研究涉及词汇相似性,自由文本中的术语用法,图形同态,策划映射(如MeSH / WordNet),主题建模和逻辑推理(一阶或更高阶逻辑)。但是哪个是用户友好且生产就绪的解决方案,可以集成到Java(/ Clojure)或Python应用程序中?我看过Ontology matching: A literature review,但他们似乎没有推荐任何建议或经验?
答案 0 :(得分:1)
看看http://oaei.ontologymatching.org/2014/results/。有几条轨道可供发送者使用并进行评估。并非每个匹配者都参与每个赛道。因此,您可能需要阅读跟踪说明并选择一个与您的问题最相似的说明。例如,如果您不必处理多种语言,则可能不必检查MultiFarm轨道。之后,查看结果,查看Recall
,Precision
和F-Measure
,然后自行决定。您可能还想查看一些早些年。