中国历史语言学中数量任务的python库。

sinop的Python项目详细描述


中国历史语言学定量任务的python库

DOIPyPI

sinopy是一种尝试,旨在为使用汉语方言和汉藏语言数据的用户提供有用的功能,他们正在努力完成将汉字转换为拼音、分析汉字或分析汉语方言和其他海洋语言中的读数等任务。

如果您在研究中使用图书馆,请将其引用为:

List, Johann-Mattis (2018): SinoPy: Python Library for quantitative tasks in Chinese historical linguistics. Version 0.3.0. Jena: Max Planck Institute for the Science of Human History. DOI: https://zenodo.org/badge/latestdoi/30593438

这是作为lingpy的插件,或者是一个插件。该图书馆提供实用功能,证明在非常广泛的背景下处理中文数据是有用的,从汉字阅读到中老年阶段的拟议阅读。

快速使用示例

将baxter(1992)的中古汉语转录系统转换为纯ipa(带声调标记)。

>>>fromsinopyimportbaxter2ipa>>>baxter2ipa('bjang')'bjaŋ¹'>>>baxter2ipa('bjang',segmented=True)['b','j','a','ŋ','¹']

将中文字符转换为p_ny_n

>>>fromsinopyimportpinyin>>>pinyin('我',variant='cantonese')'ngo5'>>>pinyin('我',variant='mandarin')'wǒ'

尝试通过组合两个字符来查找字符:

>>>fromsinopyimportcharacter_from_structure>>>character_from_structure('+人我')'俄'

更多示例

现在,你可能很难找到一个共同的想法, 因为剧本集非常多样化。然而,总的主题是 与中国人和海洋工作时经常遇到的基本操作 语言数据。

但让我们看看几个例子:

>>>fromsinopyimport*>>>char="我">>>pinyin(char,variant="mandarin")

显然,我们可以将字符转换为p_ny_n。

>>>is_chinese(char)True>>>is_chinese('b')False

因此,该库还检查字符是否属于中文unicode范围。

但我们也有一系列的功能来处理中古汉语和相关的问题。例如如下:

>>>parse_baxter('ngaH')('ng','','a','H')

因此,这个函数将读入一个中音字符串(在baxter 1992系统中编码),并返回其主要成分(初始、中间、最终和音调)。

但我们也可以直接将一个字符转换成它的中文字阅读:

>>>chars2baxter(char)['ngaX']

或者我们可以找回基本的光泽。

>>>chars2gloss(char)['our, us, i, me, my, we']

一个相当复杂的函数是sixtuple2baxter函数,它读入一个给定字符的中式中文阅读的经典六个字符描述,并根据baxter系统产生中式中文值。您可以在doc数据库中找到许多六元组读物(使用Tower of Babel project发布)。

>>>sixtuple2baxter('蟹開一上海泥')['n','','oj','X']>>>chars2baxter('乃')['nojX']

您也可以通过传递两个f_nqi_字符直接尝试检索mc读数,例如:

>>>fanqie2mch('海泥')'xej'>>>fanqie2mch('泥海')'nojX'

如果你不喜欢巴克斯特的妇幼保健记录,你可以直接把它转到ipa:

>>>baxter2ipa('nojX')noj²>>>baxter2ipa('tsyang')'ʨaŋ¹'

作为最后一个重要功能,请考虑词素的解析器:

>>>parse_chinese_morphemes('ʨaŋ¹')['ʨ','-','a','ŋ','¹']

该方法返回的五元组将序列分成五个主要成分:初始、中间、核心、尾波和音调。

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

推荐PyPI第三方库


热门话题
java Admob不使用webview   Java Wicket表单:序列化对象类“myClassName”时出错   java googledriveapi更新文件与我的帐户管理员   java简单框架未知xml标记解析   java如何使用主类和用户获取Spark应用程序ID   java如何更改自定义属性的值?   java有没有办法在jMock中找到未使用的期望值?   gradle运行任务的java文档?   java通过使用数组来存储文本文件的行,通过覆盖来删除文本文件中的行   用于表达式语言注入的java利用负载   java IDEStyle程序运行   java在运行时启用/禁用Springws   爪哇芦苇。formatNumber NullPointException   java为什么我的代码无法检测两个动态实体之间的碰撞?