python编译器的雪球

sbl2p的Python项目详细描述


sbl2py转换在Snowball字符串处理中写入的代码 语言转换成Python

import sbl2py
import sbl2py.utils

sbl_code = """
externals ( stem )
define stem as (
    backwards ( ['ly'] delete )
)
"""
py_code = sbl2py.translate_string(sbl_code)
module = sbl2py.utils.module_from_code('demo_module', py_code)
print module.stem('fabulously')

输出:

fabulous

功能

sbl2py应该支持所有常见的雪球特性 使用特别是,词干算法使用的所有特性 支持Snowball词干分析器包

安装

安装sbl2py很容易使用pip

pip install sbl2py

用法

将snowball文件转换为python模块的最简单方法是 使用sbl2py脚本,该脚本自动与 sbl2py

sbl2py SNOWBALL_FILE PYTHON_FILE

有关可用选项,请参见sbl2py --help

您还可以在Python中使用sbl2pysbl2py模块 提供两个从字符串转换雪球代码的函数 (translate_string)或文件(translate_file)并返回 对应的python源作为字符串。如果要执行 代码,只需使用 sbl2py.utils模块。

生成的python模块从原始的 在externals部分列出的雪球代码。也就是说, 如果你的雪球代码中有externals ( stem )并存储 在名为mystemmer.pythen的文件中生成的Python模块 您可以按如下方式调用stem例程:

import mystemmer
print mystemmer.stem('foobar')

许可证

sbl2py包含在MIT License中。雪球源代码 并且test目录中的单词列表由 BSD-3 License。有关详细信息,请参见LICENSE文件

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
不同窗口中的java视图   java创建SQL插入语句到CSV文件   java效率检查:Opengl动画代码   在clojure中处理Java可选<T>   java理解camel中的输入/输出交换模式行为   对于使用jpackage构建的应用程序,java LSOpenURLsWithRole()失败,错误为10810   多线程Java同步:多重倒计时闩锁   java哪个类应该做这项工作?   java在运行时出现问题。getRuntime()。执行官   java我们不能在GAE中使用集合或集合作为返回类型吗?   amazon web服务返回类型与RequestHandler<Object,String>不兼容。JAVA中的HandlerRequest(对象、上下文)   如何在Java中使用ExecutorService设置任务的超时时间