我正试着用意大利语用阿珀提姆的标签标记一些句子。而根据白术GitHub页面,除了形态分析外,我还应该得到作为输出的表面形式,我只得到了分析。我也想要表面的形状。我不能推断它,因为标签不一定标记一个标记,所以我不能简单地标记原始句子并在其上循环,或者用标签的输出压缩它。
根据GitHub页面:
In [1]: import apertium
In [2]: tagger = apertium.Tagger('ita')
In [3]: tagger.tag('gatti').
Out[3]: [gatti/gatto<n><m><pl>]我得到的是:
In [1]: import apertium
In [2]: tagger = apertium.Tagger('ita')
In [3]: tagger.tag('gatti') # 'gatti' is the surface form
Out[3]: [gatto<n><m><pl>]我怎样才能得到表面的形状?如果我一次提供一个令牌,这将不是一个问题,因为我知道令牌是什么。但在一个句子中,我不知道标签是如何生成块的。
发布于 2020-11-18 21:29:57
默认情况下,当创建语言ita标记时,它会查找/usr/share/apertium/modes/ita-tagger.mode。这是一个shell脚本,它调用各种apertium命令。意大利tagger脚本的命令碰巧配置为不包含表面命令(它缺少-p选项)。
一个快速而肮脏的解决方案是只使用sudo vim /usr/share/apertium/modes/ita-tagger.mode (或sudo nano或任何编辑器),并将-p添加到最后一个命令的末尾,因此文件如下所示
lt-proc -w '/usr/share/apertium/apertium-ita/ita.automorf.bin' | cg-proc '/usr/share/apertium/apertium-ita/ita.rlx.bin' | apertium-tagger -g $2 '/usr/share/apertium/apertium-ita/ita.prob' -p再做一次tagger = apertium.Tagger('ita')。
没有sudo的解决方案是复制模式文件,编辑,并将其添加到搜索路径中,请参阅https://github.com/apertium/apertium-python#installing-more-modes-from-other-language-data。
https://stackoverflow.com/questions/64898002
复制相似问题