在wordnet中,有多个单词分别用名词,形容词,advarb和动词文件分类。我们如何使用wordnet在特定域中获取某些单词或单词的域?
例如,假设我有一些词语(树皮,狗,猫),所有这些词都与动物有关。但是我们如何才能通过wordnet了解这一点?这有什么机制吗?
答案 0 :(得分:0)
你不能直接将基于WordNet的“bark”之类的动词与“动物”群集联系起来。但是,您可以通过搜索这些术语的上位词,将 dog , cat 等与不同种类的动物联系起来。 WordNet有一个树结构,其中任何单词是一个类别的成员。从任何单词向上移动此类别树最终将引导您到此树的根 entity 。
因此,您可以在此类别树中使用两个单词的lowest common ancestor(LCA)的概念。如果两个单词的LCA是 animal 或 animal 的下位词,则两者都是相关的。因此,如果您从一些先验知识开始(例如,“狗是动物”),那么您可以通过遵循此算法将其他动物添加到此群集中。
如果还包括“bark”,“moo”等术语,则需要采用更复杂的距离测量。这些指标可以查看不同类型的基于树的关系(例如路径得分或 Wu-Palmer 得分)或者词典定义之间的重叠程度单词(例如LESK)。
例如,“狗”和“树皮”之间的LESK得分是158,而“狗”和“弹射”之间的LESK得分是39.因此,高得分表示这些词属于相同(或类似)的类别。提供这种距离测量的优秀软件包(Java)是WS4J包。他们有online demo here。