芬兰语词法(包括动词形式、比较词、格、所有格、阴蒂语)
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 sg
和
acc pl
值仅对某些代词有效。对于所有其他人
词类,其中一个是nom sg
,nom pl
,gen 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或详细信息。
信贷和链接到项目的网站和/或引用任何未来 关于这个项目的论文将不胜感激。