一个用于中国历史语言学定量任务的Python库。
项目描述
SinoPy:用于中国历史语言学定量任务的Python库
SinoPy是尝试为处理汉语方言和藏缅语语料库的用户提供有用功能,他们面临着将字符转换为拼音、分析字符或分析汉语方言和其他东南亚语言中的读法等任务。
如果您在研究中使用此库,请引用如下:
List, Johann-Mattis (2018): SinoPy:用于中国历史语言学定量任务的Python库。版本0.3.0。耶拿:马克斯·普朗克人类历史科学研究所。DOI:https://zenodo.org/badge/latestdoi/30593438
这是一个为LingPy设计的插件或附加组件。该库提供了有用的函数,这些函数在处理从汉字读法到中古汉语及语言更早阶段提出的读法的广泛背景下都很有用。
快速使用示例
将巴克的(1992)中古汉语转写系统转换为普通IPA(带声调标记)。
>>> from sinopy import baxter2ipa
>>> baxter2ipa('bjang')
'bjaŋ¹'
>>> baxter2ipa('bjang', segmented=True)
['b', 'j', 'a', 'ŋ', '¹']
将汉字转换为拼音
>>> from sinopy import pinyin
>>> pinyin('我', variant='cantonese')
'ngo5'
>>> pinyin('我', variant='mandarin')
'wǒ'
尝试通过组合两个字符来查找字符
>>> from sinopy import character_from_structure
>>> character_from_structure('+人我')
'俄'
更多示例
目前,您可能很难找到SinoPy的共同理念,因为脚本集非常多样化。但总体来说,主题是处理中国和东南亚语言学数据时经常遇到的基本操作。
但让我们看看几个例子
>>> from sinopy import *
>>> char = "我"
>>> pinyin(char, variant="mandarin")
wǒ
所以很明显,我们可以将字符转换为拼音。
>>> is_chinese(char)
True
>>> is_chinese('b')
False
所以该库还检查一个字符是否属于中文Unicode范围。
但我们也有处理中古汉语及相关问题的函数系列。例如以下
>>> parse_baxter('ngaH')
('ng', '', 'a', 'H')
所以这个函数将读取一个中古汉语字符串(以巴克1992年的系统编码),并返回其主要组成部分(声母、韵母、韵尾和声调)。
但我们也可以直接将一个字符转换为其中古读音。
>>> chars2baxter(char)
['ngaX']
或者我们可以检索基本释义。
>>> chars2gloss(char)
['our, us, i, me, my, we']
一个相当复杂的函数是sixtuple2baxter
函数,它读取给定字符的中古读音的古典六字描述,并根据Baxter的系统提供中古读音值。在DOC数据库中(由巴别塔项目发布)你可以找到很多六元组的阅读。
>>> sixtuple2baxter('蟹開一上海泥')
['n', '', 'oj', 'X']
>>> chars2baxter('乃')
['nojX']
你也可以直接尝试通过传递两个反切字符来检索MC读音,例如
>>> fanqie2mch('海泥')
'xej'
>>> fanqie2mch('泥海')
'nojX'
如果你不喜欢Baxter的MCH转录,你可以简单地将其转换为IPA
>>> baxter2ipa('nojX')
noj²
>>> baxter2ipa('tsyang')
'ʨaŋ¹'
作为最后一个重要的功能,考虑词素解析器
>>> parse_chinese_morphemes('ʨaŋ¹')
['ʨ', '-', 'a', 'ŋ', '¹']
他返回的五元组将序列分割为其五个主要组成部分:声母、韵母、韵核、韵尾和声调。
项目详情
sinopy-0.3.4.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f0f6d2d05cb739900e534b191c8262631b3fcd628de72914f9e93ff06ce37e8d |
|
MD5 | 4679dbfbcb92abcee356d7c11232e0bd |
|
BLAKE2b-256 | fb4b059327435613b3e8f535ecd06609413b25c3b772ac2a8a622df2a8cb5536 |