作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以 Introduction to Latin Wikiversity 为例,考虑以下句子:
the sailor gives the girl money
sentence(s(NP, VP)) --> noun_phrase(NP), verb_phrase(VP).
noun_phrase(Noun) --> det, noun(Noun).
noun_phrase(Noun) --> noun(Noun).
verb_phrase(vp(Verb, DO, IO)) --> verb(Verb), noun_phrase(IO), noun_phrase(DO).
det --> [the].
noun(X) --> [X], { member(X, [sailor, girl, money]) }.
verb(gives) --> [gives].
?- phrase(sentence(S), [the,sailor,gives,the,girl,money]).
S = s(sailor, vp(gives, money, girl)) ;
nauta dat pecuniam puellae
nauta dat puellae pecuniam
nauta puellae pecuniam dat
puellae pecuniam dat nauta
puellae pecuniam nauta dat
dat pecuniam nauta puellae
sentence(s(NP, VP)) --> noun_phrase(NP), verb_phrase(VP).
sentence(s(NP, VP)) --> verb_phrase(VP), noun_phrase(NP).
nauta
属于主语名词短语,
puellae
属于宾语的名词短语从属于动词,但可以在动词之前。我想知道我是否应该首先像这样构建某种属性列表来处理它:
?- attributed([nauta,dat,pecuniam,puellae], Attributed)
Attributed = [noun(nauta,nom), verb(do,3,s), noun(pecunia,acc), noun(puella,dat)]
parse(s(NounPhrase, VerbPhrase), Attributed) :-
parse(subject_noun_phrase(NounPhrase, Attributed)),
parse(verb_phrase(VerbPhrase, Attributed)).
parse(subject_noun_phrase(Noun), Attributed) :-
member(noun(Noun,nom), Attributed).
parse(object_noun_phrase(Noun), Attributed) :-
member(noun(Noun,acc), Attributed)
最佳答案
Here我找到了一个相关的资源(PERMUTATIONAL GRAMMAR FOR FREE WORD ORDER LANGUAGES)。
似乎值得一读(嘿,我们都非常讨厌那些强制性的拉丁语类(class),早在 60 年代!)。
附录中有一个要测试的实现。
我忘了指出 Covington 的自由词序解析器(这只是一个草图......)
您可以在 PRoNTo 中找到工具包(为了完整起见,我在此报告,但我很确定您已经了解它)。
关于prolog - 解析屈折的非词序语言(例如拉丁语),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17939291/
我是一名优秀的程序员,十分优秀!