You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何编译Snowball(.sbl)文件并在Python中使用

编译Snowball (.sbl) 文件实现Porter Stemmer

先搞定Snowball编译器

要编译.sbl文件,首先得拿到Snowball的编译工具。你可以直接从Snowball官方源码仓库获取代码,解压后进入目录执行make命令,编译完成后就能得到snowball可执行文件,把它放到方便调用的路径即可。

编译你的.sbl文件

假设你的Porter Stemmer实现文件命名为porter.sbl,直接用生成的snowball工具编译:

snowball porter.sbl

默认会生成C语言版本的stemmer代码。如果需要Python可用的版本,添加-py参数:

snowball -py porter.sbl

执行完成后会得到porter.py文件,这就是你能直接在Python中导入使用的stemmer模块。

快速测试生成的Stemmer

拿到porter.py后,写几行代码验证功能:

import porter

stemmer = porter.PorterStemmer()
print(stemmer.stem("running"))  # 输出: run
print(stemmer.stem("happiness"))  # 输出: happi

小提醒

  • 官方已经提供了Porter Stemmer的标准.sbl实现,直接参考或复用能避免很多逻辑错误
  • 编译前确保系统安装了gcc、make这类基础编译工具,否则可能会出现依赖报错

内容的提问来源于stack exchange,提问作者Fatihi Youssef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 09:45:07