Python库,用于处理线性注解文本。
项目描述
pyigt:使用Python处理线性注解文本
此库根据莱比锡注解规则提供对线性注解文本(IGT)的简单访问,并存储为CLDF示例。
安装
通过pip安装pyigt
pip install pyigt
将安装Python包,以及一个命令行界面igt
。
注意:要从语料库中提取词汇表和正字法轮廓,需要lingpy
包。为确保已安装,请以
pip install pyigt[lingpy]
CLI方式安装pyigt
$ igt -h
usage: igt [-h] [--log-level LOG_LEVEL] COMMAND ...
optional arguments:
-h, --help show this help message and exit
--log-level LOG_LEVEL
log level [ERROR|WARN|INFO|DEBUG] (default: 20)
available commands:
Run "COMAMND -h" to get help for a specific command.
COMMAND
ls List IGTs in a CLDF dataset
stats Describe the IGTs in a CLDF dataset
igt ls
命令允许从命令行检查IGT,使用莱比锡释义词法规则中描述的四种标准行格式化,例如
$ igt ls tests/fixtures/examples.csv
Example 1:
zəple: ȵike: peji qeʴlotʂuʁɑ,
zəp-le: ȵi-ke: pe-ji qeʴlotʂu-ʁɑ,
earth-DEF:CL WH-INDEF:CL become-CSM in.the.past-LOC
...
Example 5:
zuɑməɸu oʐgutɑ ipiχuɑȵi,
zuɑmə-ɸu o-ʐgu-tɑ i-pi-χuɑ-ȵi,
cypress-tree one-CL-LOC DIR-hide-because-ADV
IGT corpus at tests/fixtures/examples.csv
igt ls
可以与其他命令行工具串联,例如csvkit包的命令用于筛选
$ csvgrep -c Primary_Text -m"ȵi" tests/fixtures/examples.csv | csvgrep -c Gloss -m"ADV" | igt ls -
Example 5:
zuɑməɸu oʐgutɑ ipiχuɑȵi,
zuɑmə-ɸu o-ʐgu-tɑ i-pi-χuɑ-ȵi,
cypress-tree one-CL-LOC DIR-hide-because-ADV
Python API
Python API的详细文档可在readthedocs上找到。以下是快速概述。
您可以读取与CLDF数据集一起提供的所有IGT示例
>>> from pyigt import Corpus
>>> corpus = Corpus.from_path('tests/fixtures/cldf-metadata.json')
>>> len(corpus)
5
>>> for igt in corpus:
... print(igt)
... break
...
zəple: ȵike: peji qeʴlotʂuʁɑ,
zəp-le: ȵi-ke: pe-ji qeʴlotʂu-ʁɑ,
earth-DEF:CL WH-INDEF:CL become-CSM in.the.past-LOC
或实例化单个IGT示例,例如
>>> from pyigt import IGT
>>> ex = IGT(phrase="palasi=lu", gloss="priest-and")
>>> ex.check(strict=True, verbose=True)
palasi=lu
priest-and
...
ValueError: Rule 2 violated: Number of morphemes does not match number of morpheme glosses!
检查有效性
>>> ex = IGT(phrase="Gila abur-u-n ferma hamišaluǧ güǧüna amuq’-da-č.",
... gloss="now they-OBL-GEN farm forever behind stay-FUT-NEG",
... translation="Now their farm will not stay behind forever.")
>>> ex.pprint()
Gila aburun ferma hamišaluǧ güǧüna amuq’dač.
Gila abur-u-n ferma hamišaluǧ güǧüna amuq’-da-č.
now they-OBL-GEN farm forever behind stay-FUT-NEG
‘Now their farm will not stay behind forever.’
OBL = oblique
GEN = genitive
FUT = future
NEG = negation, negative
或扩展已知的释义词缩写
>>> igt = IGT(phrase="zəp-le: ȵi-ke: pe-ji qeʴlotʂu-ʁɑ,", gloss="earth-DEF:CL WH-INDEF:CL become-CSM in.the.past-LOC")
>>> igt.conformance
<LGRConformance.MORPHEME_ALIGNED: 2>
>>> igt[1, 1].gloss
<Morpheme "INDEF:CL">
>>> igt[1, 1].gloss.elements
[<GlossElement "INDEF">, <GlossElementAfterColon "CL">]
>>> igt[1, 1].morpheme
<Morpheme "ke:">
>>> print(igt[1, 1].morpheme)
ke:
还可以更深入地分析,根据LGR(参见模块pyigt.lgrmorphemes)解析词素和释义词
- 另请参阅
interlineaR - 一个具有类似功能但支持更多输入格式的R包。
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
pyigt-2.1.0.tar.gz (38.7 kB 查看散列)
构建分发
pyigt-2.1.0-py2.py3-none-any.whl (33.2 kB 查看散列)
关闭
pyigt-2.1.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 2f9178b70fcb65d1228f05d26c528811c81e2dadb85df40a9a73e1504389f0f3 |
|
MD5 | 7817da3ce1794d1c01b4d9d434f9ff75 |
|
BLAKE2b-256 | bba800b4eb9e7787174b92aef65dd7bf5c3894cad0e5b3445a9a1c0f260d9d47 |
关闭
pyigt-2.1.0-py2.py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | b1502bfc6d4c1776baf187bbf25e6618bbf6b7560059173fe22815f310672912 |
|
MD5 | 8a77b52f8996bdceccd4cf3af2636f17 |
|
BLAKE2b-256 | 2c7e33605fbf945fccd6a95c2c1b1f051925362e3c1c45fac77b552080dad236 |