西班牙语的形态学实现

Morphological realisation for the Spanish language

有谁知道形态学实现工具(最好是Java)。 我正在做一个项目,我需要意识到正确的动词 "to be" 提供如果它是针对 male/female - singular/plural - 第一个 person/third 人并且关于这样的输入生成正确的动词"to be"。 SimpleNLG 是包含形态学实现的理想软件,但它仅适用于英语和 French.For 示例:如果特征是男性第一人称单数,结果将是 "I",如果特征是复数第三人称男性结果将是 "they".

您可以查看FOMA which is a C library (It is also available as standalone executable for Windows). It is based on Kimmo Koskenniemi's computational model that utilizes finite-state transducers. It is the open source version of xfst. You can see a quick crash course here

使用foma非常简单。 github 上的 This repo 可以作为示例(查看 spanish.lexcspanish.foma 文件)。如果启动 foma 并将两个脚本放在同一目录中,则可以加载文件并测试形态实现器:

foma[0]: 来源 spanish.foma
正在打开文件 'spanish.foma'.
定义字:1.6 kB。 2 个状态,64 个弧,循环。
定义清理:276 字节。 1 个状态,2 个弧,循环。
根...5,A...2,N...2,V1...65,V2...65,V3...65
建立词典...
正在确定...
最小化...
完成!
7.9 KB。 289 个状态,441 条弧,199 条路径。
定义词典:7.9 kB。 289 个状态,441 条弧,199 条路径。 9.2 KB。 290 个状态,505 个弧,循环。

现在 FOMA 的好处是它是双向的。它可以同时实现和分析形态。如果你应用 up 它会分解形式,但如果你应用 down 它会作为一个实现者:

foma[1]: up                       
apply up> leo                     
leo+N+Sg                          
leo+A+Sg                          
leir+V+3C+PresenteIndicativo+1P+Sg
leer+V+2C+PresenteIndicativo+1P+Sg
lear+V+1C+PresenteIndicativo+1P+Sg

在未来的情况下,这里有一个如何使用换能器作为实现器的例子:

foma[1]: down
apply down> estar+V+1C+PresenteIndicativo+3P+Sg
esta

请记住,您在 lexc 脚本的开头自行定义了标签,因此您可以轻松更改或扩充该存储库中的现有脚本。如果你真的通读了文档,你会很快掌握它的窍门。它非常方便且易于使用。祝你好运!