2

我想在 Python 中使用立陶宛语词干分析器,但是,像NLTK这样的常用工具中没有立陶宛语。

但是,我可以在这里这里找到立陶宛词干分析器的雪球 .sbl 文件。

但是如何在Python中使用它们呢?

我能够找到的是获取 .c 文件的命令行方法。但接下来呢?

正如雪球官方页面中所述,有 PyStemmer - 雪球的 Python 接口。但是在那里我找不到任何方法来使用新的或自定义的 .sbl 算法。

那么如何将新的 .sbl 算法引入 Python 呢?

4

1 回答 1

0

截至目前,立陶宛语已添加到 Snowball git repo中,但 pyStemmer 使用的是该 repo 的旧版本,不包含它。我没有设法在 python 中正确安装新版本的 Snowball,而是使用带有 python 子进程模块的 c 可执行文件。

为此,您只需要克隆存储库,使用命令安装它,make然后您就可以获得可执行的词干词。您可以在 unix 终端中使用命令测试立陶宛语./stemwords -l lt,然后输入您想要处理的单词。

将它与 python 的子进程一起用于包含要逐行提取的单词的进程文件:

import subprocess
args = ("./stemwords", "-l", "lt", "-i", "input_file.txt", "-o", "output_file.txt")
popen = subprocess.Popen(args, stdout=subprocess.PIPE)
popen.wait()

输入文件:

Kodėl
moteriai
vienišai
ištekėjusiai

输出文件:

kod
mot
vieniš
ištekėjus
于 2018-08-03T11:26:50.470 回答