古汉语语音分析工具。

dphon的Python项目详细描述


直接

早期汉语文本中的数字互文共振

Build StatusPyPi VersionPython VersionsLicense

安装

使用pip安装:

$ pip install dphon

用法

direct的基本功能是对两个早期汉语文本进行语音比较。您需要将文件以utf-8编码的纯文本(.txt)格式保存在本地。比较两个文本:

$ dphon text_a.txt text_b.txt # search text b against text a

输出将是文本a中的字符序列列表,其中有文本b中的押韵对应项,包括用于绘制序列的文本和行号:

滋章盜賊多有 (a: 16)# this sequence of characters from a line 16 matches
滋彰,盜賊多有 (b: 57)# this sequence of characters from b line 57
...
不可得 (a: 15)# this sequence from a on line 15 matches two separate 
不可識 (b: 15)# locations in b, and both of them are on line 15 in b
不可識 (b: 15)
...
解其忿 (a: 15)# in this sequence, we see three separate graphic
解其紛 (b: 4)# variations for the third character - one on a line 15
解其分 (b: 56)# and two from b on lines 4 and 56

请注意,序列忽略非单词字符,包括标点和数字。这意味着押韵可以跨越行,这将反映在输出中。

您可以使用以下命令查看命令选项的完整列表:

$ dphon --help

方法论

匹配序列由一个字典文件决定,该文件代表旧汉语音韵学的特定重建(您可以在data/文件夹中看到一些示例)。这些数据结构将输入字符映射到可与其他此类令牌匹配的任意声音令牌(“虚拟”)。

direct的核心过程是接受纯文本输入,根据特定的语音重构对其进行标记化,并在标记化文本中搜索匹配项。因此,这些匹配代表了共鸣:尽管它们的书面形式不同,但最初朗读时可能押韵的序列。

开发设置

python>;=3.6是必需的

首先,克隆存储库:

$ git clone https://github.com/direct-phonology/direct.git
$ cd direct

然后,创建并激活虚拟环境(推荐):

$ python -m venv venv
$ source venv/bin/activate

安装依赖项:

$ pip install -r requirements.txt
$ pip install -r dev-requirements.txt

最后,在开发模式下安装包本身:

$ pip install -e .

现在,当您运行dphon时,您的更改将被自动获取。

pull请求应该针对develop分支发出。

测试

单元测试是用pytest编写的。您可以使用以下命令运行它们:

$ pytest

释放量

确保dphon/__init__.py中的版本号正确!

如果在较旧版本的dist/中有任何内置文件,请在 开始此过程:

$ rm dist/*

要为发行版构建源存档和分发,请执行以下操作:

$ python setup.py sdist bdist_wheel

test PyPI上发布发行版(对于确保一切正常工作非常有用):

$ twine upload --repository-url https://test.pypi.org/legacy/ dist/*

如果一切正常,请将包发布到pypi:

$ twine upload dist/*

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

推荐PyPI第三方库


热门话题
java如何将UDP消息从桌面发送到移动设备?   java DefaultMessageListenerContainer使用JMX+ActiveMQ在单个队列上管理多个使用者   java CMU Sphinx:Voxforge德国型号不精确   java生成一个定制的lastIndexOf方法   java生成pdf PDFBox无头docker容器失败   java实例化HashMap中存储的类的实例   java将JAAS表单身份验证传递给REST服务   爪哇:Tomcat。伊奥。IOException:无法创建目标“xxx”目录“   java GoogleTokenResponse未执行。。!   java Lastmodified标头在第二次刷新后不工作   java Android onClickListener没有注册点击(我想)   当引导调用远程模式时,不会加载java Google reCaptcha   java将二进制字符串转换为字节数组   java为JPA本机查询的结果分配ID的最简单方法是什么?   java上的数组参数行为   组织中的java字段数据源。O7计划。关于公司。MainController需要“javax”类型的bean。sql。找不到“数据源”   java如何使用selenium在excel文件中查找字符串的位置   java Hibernate注释。如何注释?   在Java中反转字符串时出错