例如...
鸡是一种动物。
墨西哥卷饼是一种食物。
WordNet 允许您执行“is-a”...层次结构功能。
但是,我怎么知道什么时候停止爬树呢?我想要一个级别。
那是一致的。
例如,如果呈现一堆单词,我希望 wordNet 对所有单词进行分类,但在一定的级别上,所以它不会走得太远。将“墨西哥卷饼”归类为“事物”过于宽泛,而“墨西哥包裹食品”则过于具体。我想上升或下降..直到正确的水平。
WordNet 是一个词典而不是一个本体,所以“级别”并不真正适用。
有SUMO,如果你想要一个有向格而不是网络,它是一个与 WordNet 相关的上层本体。
对于某些领域,SUMO 的中级本体可能是您想要查看的地方,但我不确定它是否有“墨西哥包装食品”,因为它的大部分主题都是科学或工程。
WordNet 的层次结构是
beef burrito < burrito < dish/2 < victuals < food < substance < entity.
实体是一个顶级概念,因此如果您停止使用以下物质,您将获得墨西哥卷饼。您可以基于此计算一个级别,但它不一定与 SUMO 一样一致,或者生成您自己的一组有用的中级概念来终止。WordNet 中没有“墨西哥包装食品”步骤。
[请感谢 Pete Kirkham,他首先提到了 SUMO,这很可能回答了 OP 亚历克斯提出的问题]
(我只是在这里提供补充信息;我从评论字段开始,但很快就用完了空间和布局能力......)
亚历克斯:相扑大部分是科学还是工程?它不包含食物、人、汽车、工作等日常用语吗?
Pete K:SUMO 是一个上层本体。页面上列出的中级本体(您可以在其中找到“事物”和“牛肉卷饼”之间的概念)不包括食物,但反映了资助该项目的组织的种类。人们有一个中级本体。还有一个用于行业(以及因此的工作),包括食品供应商,但如果你 grep 的话,就没有提到墨西哥卷饼。
我的两分钱
100% 的 WordNet(3.0 即最新版本和旧版本)映射到 SUMO,这可能正是 Alex 需要的。与 SUMO(或者更确切地说与 MILO)相关的中级本体有效地在特定领域中,目前不包括 Foodstuff,但由于 WordNet 确实(包括所有 - 嗯,许多 - 这些日常事物)不需要利用任何“在”SUMO 下的正式本体,而是使用 Sumo 的 WordNet 映射(可能除了 WordNet 之外,WordNet 再次不是本体,但其非正式和松散的“层次结构”也可能有所帮助。
然而,一些困难可能来自两个领域(然后是一些;-)?):
在提出这些问题时,我的意思不是批评 WordNet 或 SUMO 及其相关本体,而是简单地说明与构建本体相关的一些挑战,特别是在中级。
尽管基于 SUMO 和 WordNet 的解决方案存在一些可能的缺陷和不足,但实际使用这些框架很可能“符合要求”(85% 的时间)
为了获得关卡,您需要预定义每个关卡的内容。本体通常将这些定义为特定概念的直接 IS_A 子级,但如果不存在,您需要自己开发一种方法。
下一步是优先考虑每个概念,以防您只想为每个单词呈现一个类别。优先级可以通过多种方式完成,例如作为类别和单词之间的 IS_A 关系的计数,或者为每个类别手动选择优先级。对于每个单词,您可以选择具有最高优先级的类别。例如,您可能希望肉类成为“食物”而不是化学物质。
您可能还想选择一些单词,如果它们在路径中,它们会改变优先级。例如,如果您希望将某些也是食品的化学物质宣布为化学物质,但其他化学物质仍应为食品。
WordNet 的上位词树以“实体”一词的单个根同义词集结尾。如果您使用的是 WordNet 的 C 库,那么您可以使用 为同义词集的祖先获得一个 while 递归结构,并且您可以通过递归跟踪和指针traceptrs_ds
来获得整个同义词集树,直到您命中指针。nextss
ptrlst
null
对不起,请问哪个工具可以判断句子的“难度级别”?我希望找出句子的“相似难度级别”供用户阅读。