西班牙语的形态实现

时间:2015-10-20 09:00:14

标签: java nlp morphological-analysis

有没有人知道形态实现工具(最好是Java工具)。 我正在研究一个项目,我需要认识到正确的动词"是"提供是否为男性/女性 - 单数/复数 - 第一人称/第三人,并且对于此类输入产生正确的动词"为#34;。 SimpleNLG是包含形态实现的理想软件,但它仅适用于英语和法语。例如:如果特征是男性第一人称单数,结果将是" I",如果特征是复数第三人称男性结果将是"他们"。

1 个答案:

答案 0 :(得分:1)

您可以查看FOMA这是一个C库(它也可作为Windows的独立可执行文件)。它基于Kimmo Koskenniemi的计算模型,利用有限状态传感器。它是xfst的开源版本。您可以看到快速速成课程here

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

foma [0]:source spanish.foma
打开文件' spanish.foma'。
定义字:1.6 kB。 2个状态,64个弧,循环。
定义清理:276个字节。 1状态,2弧,循环。
Root ... 5,A ... 2,N ... 2,V1 ... 65,V2 ... 65,V3 ... 65
建立词汇...
Determinizing ...
尽量减少...
完成!
7.9 kB。 289个州,441个弧,199个路径 定义Lexicon: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脚本的开头自己定义标记,因此您可以轻松更改或扩充该repo中的现有脚本。如果您真正阅读了文档,那么您将很快掌握它。它非常方便易用。祝你好运!