Python Interface to a Free Corpus Subset from Ruscora.ru

ruscorpora-tools的Python项目详细描述


这个包为一个自由的语料库子集提供了python接口 在http://ruscorpora.ru提供。

安装

pip install ruscorpora-tools

用法

语料库下载

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

语料库阅读

ruscorpora.parse_xml函数解析单个xml文件并返回 对句子的迭代器;每个句子都是^{tt2}的列表$ 实例,用ruscorpora.Annotation实例列表进行注释。

ruscorpora.simplifyruscorpora.parse_xml的结果简化为 删除不明确的注释,连接拆分的标记(+连接它们的 注释)和删除重音信息。

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

使用标签

ruscorpora.Tag类是用于 俄罗斯文库:

>>> 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

随时提交想法、bug、请求(git或hg)或常规补丁。

运行测试

确保tox已安装并运行

$ tox

从源签出。测试应该在Python2.6..3.3下通过 和Pypy>;1.8。

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

推荐PyPI第三方库


热门话题
java在列表视图中插入调用按钮   java公开类别ID   java在使用JSch通过jumphost连接到远程主机时“拒绝主机密钥”   java连接。在Hibernate中为每个select查询调用getMetaData()   java如何在安卓 studio的文本监听器上突出显示过滤列表视图中的文本?   安卓应用程序、进程和Java虚拟机之间的对应关系是什么?   java如何使用Android在应用程序标签中添加这两个名称   java框架来衡量花费的时间和内存   java自动将字符串缩放到屏幕的宽度   在eclipse导出中创建jar文件时发生java错误   java Spring Web应用程序已初始化两次   java将数据插入数据库“表产品没有名为accFor(代码1)的列”   运行时如何执行。通过java中的Jruby使用带参数的rb   java Android:将视图从父视图转移到另一个视图   java如何在具有依赖关系的nexus中部署springboot maven项目   Google Java style:checkstyle文件与Visual Studio代码的相应编辑器配置文件   java以exif格式从jpeg或png文件中提取元数据