如何在Python中使用新的.sbl Snowball算法?

时间:2018-02-10 08:39:33

标签: python stemming snowball

我想在Python中使用立陶宛语词干,但是,NLTK等常用工具中没有立陶宛语。

但是,我可以找到立陶宛词干herehere的雪球.sbl文件。

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

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

正如雪球官方page所述,还有PyStemmer--一个用于滚雪球的Python界面。但在那里我找不到任何方法来使用新的或自定义.sbl算法。

那么如何在Python中获得新的.sbl算法?

1 个答案:

答案 0 :(得分:0)

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

为此,您只需要克隆存储库,请使用命令$.ajax({ url: '/getComments', type: 'GET', dataType: 'json', success: function (commentsArray) { $('#comments-container').comments({ getComments: function(success, error) { setTimeout(function() { success(commentsArray); }, 500); } }); } }); 安装该存储库,然后您就可以得到stemwords可执行文件。您可以在Unix终端make中使用命令来测试立陶宛语,然后输入要处理的词。

将其与python的子进程一起用于包含逐行词干的过程文件:

./stemwords -l lt

输入文件:

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