跳转到主要内容

Python接口,用于访问ruscorpora.ru上的免费语料库子集

项目描述

此软件包提供Python接口,用于访问http://ruscorpora.ru上可用的免费语料库子集。

安装

pip install ruscorpora-tools

使用

语料库下载

http://www.ruscorpora.ru/corpora-usage.html下载并解压缩包含XML文件的存档

语料库阅读

ruscorpora.parse_xml函数解析单个XML文件,并返回一个句子迭代器;每个句子是一个ruscorpora.Token实例的列表,带有ruscorpora.Annotation实例的列表。

ruscorpora.simplify通过删除模糊的注释、合并拆分的标记(及其注释)以及删除重音信息来简化ruscorpora.parse_xml的结果。

>>> import ruscorpora as rnc
>>> for sent in rnc.simplify(rnc.parse('fiction.xml')):
...     print(sent)

处理标记

ruscorpora.Tag类是ruscorpora中使用的标记的方便包装器(还有其他属性)。

>>> tag = rnc.Tag('S,f,inan=sg,nom')
>>> tag.POS
'S'
>>> tag.gender
'f'
>>> tag.animacy
'inan'
>>> tag.number
'sg'
>>> tag.case
'nom'
>>> tag.tense
None

检查词素是否在标记中

>>> 'S' in tag
True
>>> 'V' in tag
False
>>> 'Foo' in tag
Traceback (most recent call last)
...
ValueError: Grammeme is unknown: Foo

测试标记相等性

>>> tag == rnc.Tag('S,f,inan=sg,nom')
True
>>> tag == 'S,f,inan=sg,nom'
True
>>> tag == rnc.Tag('S,f,inan=sg,acc')
False
>>> tag == 'S,f,inan=sg,acc'
False
>>> tag == 'Foo,inan'
Traceback (most recent call last)
...
ValueError: Unknown grammemes: frozenset({Foo})

rnc.simplify返回的标记默认由该类包装。

开发

开发在github和bitbucket上进行

问题跟踪器在github上:https://github.com/kmike/ruscorpora-tools/issues

请随意提交想法、错误、拉取请求(git 或 hg)或常规补丁。

运行测试

确保已安装并运行tox,从源代码检出处运行。

$ tox

测试应在python 2.6..3.3 和 pypy > 1.8 下通过。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

ruscorpora-tools-0.3.tar.gz (8.3 kB 查看散列)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面