芬兰语词法(包括动词形式、比较词、格、所有格、阴蒂语)

wiktfinnish的Python项目详细描述


芬兰文

这是一个python模块,用于对芬兰语单词进行屈折变化(动词屈折变化, 比较词、格、所有格后缀、阴蒂)使用 Wiktionary兼容衰减和共轭。

概述

此python模块用于生成 芬兰文字。它与 使用 wiktextract。这个 目的是使用此模块生成完整的集合 任何芬兰语单词的屈折变化形式 比较、所有格后缀、阴蒂和名义屈折 动词形式。

开始

安装

要安装wiktwikfinnish,请使用pip3(或pip),如下所示 或者克隆存储库并从源安装:

git clone https://github.com/tatuylonen/wiktfinnish.git
cd wiktfinnish
python3 setup.py install

这将安装wiktfinnish软件包。

请注意,此软件目前仅在Python3中测试过。 向后移植到Python2.7应该不难;只是还没有 已经测试过了。如果你能测试并成功的话,请报告 使用python 2。

运行测试

这个包包括使用unittest框架编写的测试。 例如,可以使用nose运行它们,可以安装 使用pip3 install nose

要运行测试,只需在顶层目录中使用以下命令:

nosetests

用法

生成屈折词形

生成屈折词形的基本方法是使用以下命令 代码段。

import wiktfinnish

results = wiktfinnish.inflect(name, args, form)

函数返回字符串列表,这些字符串是 为该单词形式生成的替代形式。首选,或 最常见的形式应该是列表中的第一个和罕见的/古老的例子 后来,

名称和参数指定单词的共轭/递减。这包括指定要屈折的单词。详情见下文。

表单是一个5元组(verbform、comparison、case、所有格、clitic),指定要生成的屈折形式。下面将详细介绍它。

指定共轭/衰减

在api中,每个要屈折的单词都必须由 共轭(动词)或偏斜(名词)规范。这个 规范基本上是{{fi decl xyx}或 `{{fi conj xyz}来自wiktionary的模板,编码到python字典中。在api中,这个模板将被称为args``。 此外,api还要求提供模板的名称 作为"name"参数。这些在适当的地方很容易买到 如果字典是使用"wiktextract"提取的,则格式化(请参见 下面)

指定所需的单词形式

所需的单词形式由5元组指定(verbform、comparison、case、所有格、clitic),其中任何未使用的组件 必须是空字符串。

通常,有限动词形式只指定了verbform部分 其他部分空着。名词、代词、形容词和数字 始终让详细格式和比较部分为空。 形容词(和一些动词形式)也可以使用比较。这个 所有格指定一个所有格后缀,它们通常被使用 用名词。clitic指定要附加到的任何clitic 词尾,可用于任何词性。

动词形式名称

除了 空字符串。有效动词形式名称的列表可以在 wiktfinnish.verb_forms。(可能还会有一些变化 如何处理不定式的结尾。)

    pres-1sg
    pres-2sg
    pres-3sg
    pres-1pl
    pres-2pl
    pres-3pl
    pres-1sg-neg
    pres-2sg-neg
    pres-3sg-neg
    pres-1pl-neg
    pres-2pl-neg
    pres-3pl-neg
    pres-pass
    pres-pass-neg
    past-1sg
    past-2sg
    past-3sg
    past-1pl
    past-2pl
    past-3pl
    past-1sg-neg
    past-2sg-neg
    past-3sg-neg
    past-1pl-neg
    past-2pl-neg
    past-3pl-neg
    past-pass
    past-pass-neg
    cond-1sg
    cond-2sg
    cond-3sg
    cond-1pl
    cond-2pl
    cond-3pl
    cond-1sg-neg
    cond-2sg-neg
    cond-3sg-neg
    cond-1pl-neg
    cond-2pl-neg
    cond-3pl-neg
    cond-pass
    cond-pass-neg
    impr-2sg
    impr-3sg
    impr-1pl
    impr-2pl
    impr-3pl
    impr-2sg-neg
    impr-3sg-neg
    impr-1pl-neg
    impr-2pl-neg
    impr-3pl-neg
    impr-pass
    impr-pass-neg
    potn-1sg
    potn-2sg
    potn-3sg
    potn-1pl
    potn-2pl
    potn-3pl
    potn-1sg-neg
    potn-2sg-neg
    potn-3sg-neg
    potn-1pl-neg
    potn-2pl-neg
    potn-3pl-neg
    potn-pass
    potn-pass-neg
    pres-part
    pres-pass-part
    past-part
    past-pass-part
    agnt-part
    nega-part
    inf1
    inf1-long
    inf2-ine
    inf2-pass-ine
    inf2-ins
    inf3-ine
    inf3-ela
    inf3-ill
    inf3-ade
    inf3-abe
    inf3-ins
    inf3-pass-ins
    inf4-nom
    inf4-par
    inf5

比较名称

形容词、分词和其他副词接受比较。 正常的正数形式由空字符串标记。comp 表示比较,sup表示最高级形式。这个 有效比较名称列表(包括空字符串)可以是 可在wiktfinnish.comp_表单中找到

案例名称

名词、代词、形容词、数字和各种动词形式 (特别是分词)接受大小写结尾。以下是 用于指定大小写结尾和数字。acc sgacc pl值仅对某些代词有效。对于所有其他人 词类,其中一个是nom sgnom plgen sg,或者 gen pl应该改为使用。有效案例列表+编号 值可以在wiktfinnish.case\u表单中找到

    nom-sg     - nominative (singular)
    acc-sg     - accusative
    gen-sg     - genitive
    ptv-sg     - partitive
    ine-sg     - inessive
    ela-sg     - elative
    ill-sg     - illative
    ade-sg     - adessive
    abl-sg     - ablative
    all-sg     - allative
    ess-sg     - essive
    tra-sg     - translative
    ins-sg     - instructive
    abe-sg     - abessive
    cmt-sg     - comitative
    nom-pl     - nominative (plural)
    acc-pl     - etc.
    gen-pl
    ptv-pl
    ine-pl
    ela-pl
    ill-pl
    ade-pl
    abl-pl
    all-pl
    ess-pl
    tra-pl
    ins-pl
    abe-pl
    cmt-pl

所有格后缀

下列值用于所有格后缀。空的 字符串表示不附加所有格后缀。注释 对于第三个人,3x值用于两个单数 复数,因为形式总是一样的。有效清单 所有格形式(包括空字符串)可以在 wiktfinnish.所有格形式

   1s       - first person singular
   2s	    - second person singular
   3x	    - third person (singular or plural)
   1p	    - first person plural
   2p	    - second person plural

阴蒂

有一套固定的阴蒂可以附加。在实践中, 然而,口语中可能会使用更多的陈词滥调。 各种各样的其他变化。以下值可用于 阴蒂,除了空字符串,这意味着没有阴蒂。 有效的clitic值列表(包括空字符串)可以是 可在wiktfinnish.clitic_forms中找到

    kO
    kin
    kAAn
    pA
    s
    kA
    hAn
    kOhAn
    pAhAn
    pAs
    kOs
    kinkO
    kAAnkO
    kinkOhAn

迭代所有可能的单词形式

还提供了用于遍历所有有效5元组的函数。 表示单词形式。如果要生成所有 一个词的可能形式。下面的代码片段将遍历 所有形容词形式:

import wiktfinnish

for verbform, comp, case, poss, clitic in wiktfinnish.all_forms_iter("adj"):
    print(verbform, comp, case, poss, clitic)

函数将a作为强制参数 部分语音(由wiktextract模块返回,请参见下文)。 包括"名词"、"形容词"、"动词"、"数"、"pron"、"adv"等。 还可以使用以下可选的关键字参数(更有可能 (稍后添加)以限制枚举的表单:

  • 可比性:如果为真(默认值),则包括比较形式(形容词、副词)
  • 及物性:如果为true(默认值),则包括代理分词(仅对带有代理的动词有效的形式)
  • 无剪贴画:如果为true,则不包括带有剪贴画的表单(默认为包括它们)

获取词类可能形式列表的快速方法

还有一个缓存版本的迭代器,它返回一个序列 包含给定词性和关键字的所有有效形式 论据。它接受相同的参数(包括关键字参数) 作为迭代器,但不是返回迭代器而是返回一个列表。 此函数的速度也快得多,并将其结果缓存到最大 性能。

import wiktfinnish

lst = wiktfinnish.all_forms_list("verb")

标准芬兰语与口语芬兰语

目前,这会根据标准的芬兰语书写生成表单。这个 目的是生成口语/口语形式 未来的标准芬兰语,可能还有一些辩证法 形式。但是,这还没有实现。

贡献

这个项目的官方资料库在 github

如果您想贡献或拥有 修补程序或建议。

许可证

版权所有(c)2018Tatu Ylonen。这个包裹是 免费用于商业和非商业用途。它是根据 麻省理工学院的执照。查看文件 许可证 f或详细信息。

信贷和链接到项目的网站和/或引用任何未来 关于这个项目的论文将不胜感激。

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

推荐PyPI第三方库


热门话题
ArrayList Java中的搜索字符串   另一个web应用程序的java访问会话   另一个应用程序中的活动和服务之间的java通信   java根据Json字符串类型将Json字符串转换为对象   eclipse如何解决java中的错误异常。lang.NoSuchMethodError:'java。字符串javax。摆动JOptionPane。showInputDialog(java.lang.String)'   线程“main”java中的安卓异常。lang.NoClassDefFoundError:org/codehaus/jackson/JsonParseException   java如何在安卓 emulator上显示Mat图像?使用NDK   Java在本地读取测试源文件,但在服务器上读取失败   java dowhile循环用于计算输入数字中的数字。故障排除代码   JAva初学者在编写获取成本的方法时遇到困难   java是shell游戏。我如何让物体移动,特别是在特定的曲线上,但顺序是随机的?   java如何区分两个同名的JButton   java为什么我在Spring Boot中需要一个接口?   java将文件路径插入数据库将删除\   使用InterfaceType初始化java对象   java如何部署一个分为Angular、Spring Boot和MySQL的项目?   java如何使用Symja解决不等式?