分布式形态计算器

dmengine的Python项目详细描述


Latest PyPI VersionLicenseSupported Python VersionsFormat

DM engine是分布式形态学的Python实现

分布形态学是理论语言学的一个框架 描述自然语言的词法(单词结构)。这个包裹 提供计算由给定的 糖尿病分析

分析以人类友好的YAML格式作为纯文本文件输入。 至少,它们由titlefeature values的清单、 可插入的词汇表项列表(vis),以及输入列表 已处理(参见下面的示例)。dmengine命令行工具计算 结果并生成所有计算的详细记录供以后使用 检查。生成的yaml文件可以转换为基于乳胶的报告 可以直接编译成PDF文件

安装

这个包在python 2.7和3.5+下运行,使用pip安装:

$ pip install dmengine

这还将根据需要安装来自pypi的PyYAMLoset包。 依赖关系。

将结果转换为PDF报告还需要LaTeX 分布TeX LiveMikTeX应该有效)。确保其可执行文件 在你的系统路径上

用法

创建定义分析的纯文本文件

# example.yaml - simple demonstration of the analysis definition syntaxtitle:English verbal agreementfeatures:-value:Vcategory:pos-value:Nomcategory:case-value:+1category:person-value:+2category:person-value:+3category:person-value:-plcategory:number-value:+plcategory:numbervis:-exponent:sleepfeatures:[V]-exponent:-sfeatures:[Nom,+3,-pl]-exponent:features:[Nom]paradigms:-name:Intransitive paradigmheaders:[[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–结果报告的乳胶源
  • example-results.pdf–用pdflatex编译的报告的PDF输出

结果

转到报告的outputs部分它提供了一个paradigm表 计算结果的:

https://raw.github.com/xflr6/dmengine/master/docs/example-outputs.png

报告的log节包含有关每个 单个输入和输出的派生

https://raw.github.com/xflr6/dmengine/master/docs/example-log.png

调用选项

检查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–必须在输入中的某个地方匹配功能

另请参见

raphael finkel提供web-based engines用于计算范例函数 形态学和网络形态学分析。

许可证

dmengine分布在MIT license下。

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

推荐PyPI第三方库


热门话题
java Clojure关键字在内存中的大小是多少?   Java中有固定长度的通用数组对象吗?   PostgreSQL:通过Java更新我的用户表   错误:使用java解析xml   java Json显示列表中对象的名称   java比较JodaTime时区   与JAVA中的API和包的区别?   java的int值在for循环中不改变   谷歌应用引擎中的java RSA   迁移到spring 5后出现java非法字符错误   java Websphere管理控制台不工作   JavaGSON如何始终在json中包含毫秒?   带有空格和双引号的windows Java ProcessBuilder命令参数失败   java错误:重复的zip条目[43.jar:org/apache/http/annotation/NotThreadSafe.class]