Java 西班牙语的形态实现

Java 西班牙语的形态实现,java,nlp,morphological-analysis,Java,Nlp,Morphological Analysis,有人知道形态实现工具吗(最好是Java工具)。 我正在从事一个项目,我需要认识到正确的动词“to be”,如果它是为男性/女性-单数/复数-第一人称/第三人称提供的,并就这些输入生成正确的动词“to be”。 SimpleNLG是包含形态实现的理想软件,但它仅适用于英语和法语。例如:如果特征是男性第一人称单数,结果将是“I”,如果特征是复数第三人称男性,结果将是“他们”。您可以查看哪个是C库(它也可以作为Windows的独立可执行文件提供)。它基于的计算模型,利用有限状态传感器。它是的开源版本。

有人知道形态实现工具吗(最好是Java工具)。 我正在从事一个项目,我需要认识到正确的动词“to be”,如果它是为男性/女性-单数/复数-第一人称/第三人称提供的,并就这些输入生成正确的动词“to be”。 SimpleNLG是包含形态实现的理想软件,但它仅适用于英语和法语。例如:如果特征是男性第一人称单数,结果将是“I”,如果特征是复数第三人称男性,结果将是“他们”。

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

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

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
foma[0]:源西班牙语。foma
正在打开文件“西班牙语.foma”。
定义字:1.6KB。2个状态,64个弧,循环。
定义清理:276字节。1个状态,2个弧,循环。
根…5,A…2,N…2,V1…65,V2…65,V3…65
建立词典…
确定…
最小化…
完成!
7.9KB。289个状态,441个弧,199条路径。
定义的词典:7.9KB。289个州,441个弧,199条路径。 9.2 kB.290个状态,505个弧,循环

现在,FOMA的优点在于它有两种方式。它可以同时实现和分析形态学形式。如果向上应用,它会分解形式,但如果向下应用,它会起到实现器的作用:

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
在未来的情况下,以下是一个如何将传感器用作realizer的示例:

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中的现有脚本。如果您真正阅读了文档,您将很快掌握诀窍。它非常方便且易于使用。祝您好运!

也发布在和上。请。每个社区都应该有一个honest尝试在不浪费任何人时间的情况下回答问题。如果在一周左右后你没有得到满意的答案,请随时标记迁移。我刚刚删除了冗余。我可以做你建议的所有事情,但到目前为止,我无法将其集成到我的Java项目中。你知道吗。我正在尝试以下命令“cat mytext.txt | flookup-x-i西班牙语.foma”,其中mytext.txt包含“estar+V+1C+presentedindicative+3P+Sg“还有标志——我应该执行down操作亲爱的Ahmed,恐怕我不知道你应该如何将它合并到Java中,因为我不是Java程序员。但是在Python和Windows中,我会执行类似于
subprocess.check_output的操作('键入mytext.txt | flookup-x-i西班牙语.foma',shell=True)
。Java中一定有类似的过程。您必须找到一个操作系统模块,它可以让您在shell中执行程序,并将结果发送回Java程序。好的,我会尝试一下。谢谢