项目简介
PyNLPl,发音类似于“pineapple”,是一款基于Python的自然语言处理库。这个库涵盖了多种用于常见和非常见自然语言处理任务的模块。无论是提取n-grams和频率列表,还是建立简单的语言模型,PyNLPl都能帮助用户轻松完成。此外,PyNLPl还包括一些复杂的数据类型和算法,并提供对常用自然语言处理文件格式(如FoLiA、Giza、Moses、ARPA、Timbl、CQL等)的解析器。PyNLPl尤其以其广泛的FoLiA XML(语言标注格式)处理库而闻名。
项目结构
PyNLPl由多个包和模块构成,并支持Python 2.7及Python 3版本。以下是可用的模块列表:
pynlpl.datatypes
:包括额外的数据类型,如优先队列、模式、字典树等。pynlpl.evaluation
:用于评价及实验的类,包括参数搜索、增量采样、类评价(如精准率、召回率、F分数、AUC)、采样器、混淆矩阵、多线程实验池。pynlpl.formats.cgn
:用于解析CGN(荷兰语口语语料库)词性标注的模块。pynlpl.formats.folia
:用于读取和操作FoLiA格式(语言标注格式)文档的广泛库。pynlpl.formats.fql
:FoLiA查询语言(FQL)的广泛库,基于pynlpl.formats.folia
构建。pynlpl.formats.cql
:语料库查询语言(CQL)的解析器,同时包含转换为FQL的转换器。pynlpl.formats.giza
:用于读取GIZA++词对齐数据的模块。pynlpl.formats.moses
:用于读取Moses短语翻译表的模块。pynlpl.formats.sonar
:用于早期版本SoNaR语料库的大部分已废弃模块,建议使用pynlpl.formats.folia
。pynlpl.formats.timbl
:用于读取Timbl输出的模块,建议使用python-timbl
。pynlpl.lm.lm
:用于简单语言模型及读取ARPA语言模型数据(SRILM使用)的模块。pynlpl.search
:包括多种搜索算法(宽度优先、深度优先、波束搜索、爬山法、A星算法及其变种)。pynlpl.statistics
:包括频率列表、编辑距离、常见统计和信息理论函数。pynlpl.textprocessors
:简单的标记化器和n-gram提取模块。
安装指南
用户可以通过以下两种方式安装PyNLPl:
-
从Python Package Index下载并安装最新稳定版本,使用命令
pip install pynlpl
(或在大多数系统上使用Python 3的pip3
)。对于全局安装,需在命令前加上sudo
。 -
克隆代码库,然后运行
python setup.py install
(或在大多数系统上使用Python 3的python3 setup.py install
,全局安装同样需加sudo
)。
此外,PyNLPl可在某些Linux发行版中找到,例如在Debian/Ubuntu中的python-pynlpl
和python3-pynlpl
包。PyNLPl也包含在LaMachine发行版中。
文档
用户可以在指定网站上找到API文档,方便对PyNLPl进行更深入的了解和应用。