分布式形态计算器
项目描述
DM-engine是理论语言学中的分布式形态(DM)的Python实现。
分布式形态是一种用于描述自然语言形态(词结构)的框架。本软件包提供了一个引擎,用于计算给定DM分析生成的词形。
分析以人类友好的YAML格式作为纯文本文件输入。至少包含一个标题、特征值清单、可插入的词汇项(VIs)列表以及要处理的输入列表(见下例)。dmengine 命令行工具计算结果并生成所有计算的详细记录,供后续检查。生成的YAML文件可以转换为基于LaTeX的报告,可以直接编译成PDF文件。
链接
安装
此软件包在Python 3.7+上运行,使用pip安装
$ pip install dmengine
将结果转换为PDF报告还需要一个LaTeX发行版(TeX Live和MikTeX应该可以工作)。确保其可执行文件已添加到系统路径。
用法
创建一个定义你的分析的纯文本文件
# example.yaml - simple demonstration of the analysis definition syntax
title: English verbal agreement
features:
- value: V
category: pos
- value: Nom
category: case
- value: +1
category: person
- value: +2
category: person
- value: +3
category: person
- value: -pl
category: number
- value: +pl
category: number
vis:
- exponent: sleep
features: [ V ]
- exponent: -s
features: [ Nom, +3, -pl ]
- exponent: -Ø
features: [ Nom ]
paradigms:
- name: Intransitive paradigm
headers: [ [1, 2, 3], [sg, pl] ]
inputs:
- [ [V], [Nom, +1, -pl] ]
- [ [V], [Nom, +1, +pl] ]
- [ [V], [Nom, +2, -pl] ]
- [ [V], [Nom, +2, +pl] ]
- [ [V], [Nom, +3, -pl] ]
- [ [V], [Nom, +3, +pl] ]
将你的分析定义保存到以.yaml结尾的文件中(例如example.yaml)。
打开一个shell(命令行窗口)并导航到你的定义文件所在的目录。
使用dmengine命令计算分析结果并创建PDF报告
$ dmengine example.yaml --pdf
这将创建三个文件
example-results.yaml – 以YAML格式存储结果的纯文本文件
example-results.tex – 结果报告的LaTeX源文件
example-results.pdf – 使用pdflatex编译的报告PDF输出
结果
转到报告的输出部分。它提供了一个计算的范例表。
报告的日志部分包含有关每个单独输入以及输出推导的详细信息。
调用选项
查看dmengine命令的用法
$ dmengine --help
usage: dmengine [-h] [--version] [--report] [--pdf] [--view]
filename [directory]
Calculates a given Distributed Morphology (DM) analysis
positional arguments:
filename dm analysis .yaml definition file
directory analysis results output directory
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--report create a LaTeX report from the results
--pdf render the report to PDF (implies --report)
--view open the report in viewer app (implies --pdf)
规则
分析可以使用以下类型的规则在插入前对输入进行操作:
impoverishment – 特征删除
obliteration – 移除头部
fission – 头部特征提取
fusion – 头部合并
copy – 头部复制
add – 特征添加
metathesis – 头部位置交换
以下类型的规则支持(在插入后对输出进行操作):
delete – 指数移除
copy – 指数复制
metathesis – 指数位置交换
transform – 正则表达式搜索和替换
上下文
词汇项的插入和插入前规则的应用可以限制以下上下文类型:
this_head – 处理的头部必须具有这些特征
left_head – 左侧相邻的头部必须具有这些特征
right_head – 右相邻的头部必须具有这些特征
any_head – 任何输入头部必须具有这些特征
anywhere – 特征必须在输入的某个位置匹配
待办事项
检查每个输入的预期拼写输出
delete_matching: 是/否
delete_other: 所有、给定、无
set_delete: 全局、槽、vi
另请参阅
Raphael Finkel 提供了用于计算词形功能和网络词形分析的基于网页的引擎web-based engines。
许可证
dmengine 在 MIT 许可证 下分发。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。