Apertium + Python:词性标注器不提供表面形式
Apertium + Python: POS-tagger not providing surface form
我正在尝试使用 Apertium 的标注器对意大利语中的一些句子进行 POS-tag。
根据 Apertium GitHub page,除了形态分析之外,我还应该将表面形式作为输出,但我只得到了分析。我也想要表面形式。我无法推断它,因为标记器不一定标记单个标记,所以我不能简单地标记原始句子并循环它或用标记器的输出压缩它。
根据 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>]
如何获得表面形态?如果我一次提供一个令牌,这将不是问题,因为我会知道令牌是什么。但是总而言之,我不知道标记器是如何创建块的。
默认情况下,在创建语言 ita
的标注器时,它会查找 /usr/share/apertium/modes/ita-tagger.mode
。这是一个调用各种 apertium 命令的 shell 脚本。意大利语标记器脚本的命令恰好配置为不包括表面命令(它缺少 -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 '/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
我正在尝试使用 Apertium 的标注器对意大利语中的一些句子进行 POS-tag。 根据 Apertium GitHub page,除了形态分析之外,我还应该将表面形式作为输出,但我只得到了分析。我也想要表面形式。我无法推断它,因为标记器不一定标记单个标记,所以我不能简单地标记原始句子并循环它或用标记器的输出压缩它。
根据 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>]
如何获得表面形态?如果我一次提供一个令牌,这将不是问题,因为我会知道令牌是什么。但是总而言之,我不知道标记器是如何创建块的。
默认情况下,在创建语言 ita
的标注器时,它会查找 /usr/share/apertium/modes/ita-tagger.mode
。这是一个调用各种 apertium 命令的 shell 脚本。意大利语标记器脚本的命令恰好配置为不包括表面命令(它缺少 -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 '/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