【问题标题】:Working with wordNet synsets in SICStus prolog在 SICStus prolog 中使用 wordNet 同义词集
【发布时间】:2023-12-28 16:04:01
【问题描述】:

我想查找 wordNet 中最*的同义词集(*别)是什么,我该如何找到它们?我怎么知道每个*同义词下面有多少个 dauhter 同义词?通常我们使用hyp关系来做,我试着写:

hyp(I, J), %[I would like to write here, be sure that there is no parent for I].  

你能帮我解决一下吗?

【问题讨论】:

    标签: prolog nlp


    【解决方案1】:

    所有*事实:

    root_hyp(H) :- hyp(H, _), \+ hyp(_, H).
    

    叶子没有孩子:

    leaf_hyp(L) :- hyp(_, L), \+ hyp(L, _).
    

    如果你的 Prolog 没有库(聚合),你可以用这个 sn-p 计算元素

    count_synset_daughters(S, N) :-
        s(S,_,_,_,_,_),
        setof(D, hyp(S,D), L),
        length(L, N).
    

    然后简单地组合(加入)它们:

    ?- root_hyp(R), count_synset_daughters(R, N).
    

    【讨论】:

    • @user3633694:好吧,如果对你有帮助,别忘了接受答案
    • 但是有没有办法查出每个日落有几个女儿?
    最近更新 更多