首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apertium + Python: POS-tagger不提供表面形式

Apertium + Python: POS-tagger不提供表面形式
EN

Stack Overflow用户
提问于 2020-11-18 17:15:48
回答 1查看 61关注 0票数 1

我正试着用意大利语用阿珀提姆的标签标记一些句子。而根据白术GitHub页面,除了形态分析外,我还应该得到作为输出的表面形式,我只得到了分析。我也想要表面的形状。我不能推断它,因为标签不一定标记一个标记,所以我不能简单地标记原始句子并在其上循环,或者用标签的输出压缩它。

根据GitHub页面:

代码语言:javascript
复制
In [1]: import apertium
In [2]: tagger = apertium.Tagger('ita')
In [3]: tagger.tag('gatti').
Out[3]: [gatti/gatto<n><m><pl>]

我得到的是:

代码语言:javascript
复制
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>]

我怎样才能得到表面的形状?如果我一次提供一个令牌,这将不是一个问题,因为我知道令牌是什么。但在一个句子中,我不知道标签是如何生成块的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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添加到最后一个命令的末尾,因此文件如下所示

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64898002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档