基于特征分配的词汇中心参数获取算法
ALPAFA的Python项目详细描述
阿尔帕法
AlpaFa(/l L p p f/,基于特征分配的词汇中心参数获取算法) 我2015年博士论文Algorithmic Acquisition of Focus Parameters(aafp)第2章描述的算法的python实现 试图使Rethinking Comparative Syntax(recos)项目的某些建议正式化。算法需要一组头,每个头 为许多可发现的属性指定,并使用 构造最小分类系统的属性。这是通过尝试分配每个 “最大”现有类别的所有头的新特性,如果失败,则使 “最小”分类法。此算法是域通用的假定组件 分类过程,旨在捕获结构化类型和历史 从第三要素原则看跨语言的句法变异。动机 aafp的第1章和第2章详细描述了该算法的行为,包括 非值特征、移动触发器和C-选择的扩展。第十章提出和 比较了6种不同的玩具片段文法算法的输入示例。
链接
安装
使用pip安装:
$ pip install alpafa或$ pip3 install alpafa
输入文件格式
输入文件紧密地基于aafp中用于输入规范的set符号,但是 为了便于创作和阅读,有些简化。它们应该是带utf-8的纯文本文件 兼容编码。将每个头部名称放在单独的行上,后跟冒号和 属性的逗号分隔列表。日珥顺序应该放在另一行,从 prominence=,后跟以逗号分隔的属性名列表。集合或 顺序对与aafp中的顺序对保持相同,尽管所有集合必须全部给定(即没有集合生成器 符号)。所有空格和空行都将被忽略。玩具碎片的示例规范 英语如下:
Cmat: comp, {T}} Cwh: comp, int, <whq, m>, {T} Crel: n, comp, nom, {T} Csub: comp, arg, {T} T: <phi, m>, {V, Copadj} V: v, cat, {Csub, D, Dwh} Copadj: v, {A} D: n, arg, {Crel, φ} Dwh: n, arg, wh, whq, {Crel, φ} only: invis, excl, {D} OpCR: invis, {φ, N} φ: n, nom, phi, low, {noun}, {N} ind: n N: n, cat, noun, low A: cat Focfeat: invis, foc, feat, {Cmat, Cwh, Crel, Csub, T, V, Copadj, D, Dwh, only, OpCR, φ, ind, N, A, Focfeat} prominence = n, v, cat, noun, comp, arg, wh, whq, nom, phi, int, invis, excl, feat, foc, low
源代码中包括aafp中6个玩具片段语法的示例输入文件。 第十章。
输出
alpafa默认输出一个头部列表,其中包含分类和从属特征, 以及算法操作的简要描述。功能包由选项卡分隔 为了便于粘贴到字处理程序中时的格式设置,我可以在以后的工作中使用更漂亮的打印 版本。有许多选项可用于更详细地输出算法的操作和 由它创建的类别,将在下一节中讨论。
Cmat [-N,-V,-CAT,+COMP,-ARG,-INT] (-N,-V,-CAT,-COMP,-INVIS) Cwh [-N,-V,-CAT,+COMP,-ARG,+INT] (-N,-V,-CAT,-COMP,-INVIS) [uwhq^] Crel [+N,-CAT,+COMP,-ARG,+NOM,-LOW] (-N,-V,-CAT,-COMP,-INVIS) Csub [-N,-V,-CAT,+COMP,+ARG] (-N,-V,-CAT,-COMP,-INVIS) T [-N,-V,-CAT,-COMP,-ARG,-INVIS] (-N,+V) [uphi^] V [-N,+V,+CAT] (-CAT,+ARG) Copadj [-N,+V,-CAT,-COMP,-ARG] (-N,-V,+CAT) D [+N,-CAT,-COMP,+ARG,-WH,-LOW] (+N,-CAT,-ARG,+NOM) Dwh [+N,-CAT,-COMP,+ARG,+WH,-LOW] (+N,-CAT,-ARG,+NOM) [vwhq] only [-N,-V,-CAT,-COMP,-ARG,+INVIS,+EXCL] (+N,-CAT,-COMP,+ARG,-WH) OpCR [-N,-V,-CAT,-COMP,-ARG,+INVIS,-EXCL,-FEAT] (+N,+LOW) φ [+N,-CAT,-COMP,-ARG,+NOM,+LOW] (+N,+CAT) [vphi,unoun] ind [+N,-CAT,-COMP,-ARG,-NOM,-LOW] N [+N,+CAT,+LOW] [vnoun] A [-N,-V,+CAT] Focfeat [-N,-V,-CAT,-COMP,-ARG,+INVIS,-EXCL,+FEAT] () [vfoc] Over 82 loops, 28 of which were non-vacuous, ALPAFA created 67 categories using 12 pairs of categorial features, and assigned 16 non-categorial features.
用法
alpafa是作为命令行实用程序实现的。使用以下语法读取输入文件 并将ALPAFA的输出写入文件(注意,这将覆盖相同的现有文件)。 名称作为输出):
$ alpafa input_file output_file
使用$ alpafa -h或$ alpafa --help可以看到更复杂的选项:
usage: alpafa [-h] [--no_uf] [--no_cselect] [--log] [--categories] [--dependents] input_file output_file Applies the algorithm from AAFP to a correctly formatted input file. positional arguments: input_file correctly formatted UTF-8 input file output_file name of file to output optional arguments: -h, --help show this help message and exit --no_uf do not implement unvalued features --no_cselect do not implement c-selection --log include a log of algorithm operations --categories list all categories before heads --dependents list all dependent features below their relevant categories (implies --categories)