Lamonpy,拉丁文POS tager和Python的Lemmatizer

lamonp的Python项目详细描述


https://badge.fury.io/py/lamonpy.svg< > > Lamon < /c> >(拉丁形态工具,发音/勒m n/)是用C++编写的一个简单的词性标注器和LeMaMeZER。 而Lamonpy是Lamon的Python包。使用Lamonpy可以很容易地获得给定文本中每个单词的引理和标记。在

入门

您可以使用pip轻松安装Lamonpy。(https://pypi.org/project/lamonpy/

$ pip install --upgrade pip
$ pip install lamonpy

支持的操作系统和Python版本包括:

  • 使用Python>;=3.5的Linux(x86-64)
  • macOS>;=10.13,Python>;=3.5
  • Windows 7或更高版本(x86、x86-64),Python>;=3.5
  • 其他使用Python>;=3.5的操作系统:需要从源代码进行编译(使用与c++11兼容的编译器)

下面是一个使用Lamonpy分析拉丁语文本的简单示例。在

^{pr2}$

标注模型及其精度

拉蒙的标签模型是基于BiLSTM网络训练 Perseus Latin Dependency Treebanks(4000句) 并使用Latina Vivense收集的原始拉丁语语料库(44万句)进行自我训练。在

由于没有可用的标准来评估拉丁语标记语,我们构建了自己的测试集,名为vivens,共900个句子。评价结果如下:

vivens (900 sents)Perseus (4000 sents)
lemmatagbothlemmatagboth
Lamon94.683.081.189.480.276.6
Lamon (large)94.283.381.389.781.978.3
Lamon (uv.)94.482.680.787.777.973.8
Backoff88.192.4
123 POS58.154.883.879.6
CRF POS69.163.477.372.9

由于Lamon和所有cltk的tagger都是用Perseus的数据集进行训练的,所以Perseus的分数对于确认每个模型的实际准确性并不重要。 相反,它表明123 POSCRF POS对Perseus的数据集过度拟合。在

由于vivens数据集的大小很小,因此此评估的结果可能不准确。 我们计划获取更大的数据集进行评估,并发布数据集以使评估更加准确。在

标签集

Lamon支持三种类型的标记集。在

1。英仙座

1:  part of speech

n   noun
v   verb
a   adjective
d   adverb
c   conjunction
r   adposition
p   pronoun
m   numeral
i   interjection
e   exclamation
u   punctuation

2:  person

1   first person
2   second person
3   third person

3:  number

s   singular
p   plural

4:  tense

p   present
i   imperfect
r   perfect
l   pluperfect
t   future perfect
f   future

5:  mood

i   indicative
s   subjunctive
n   infinitive
m   imperative
p   participle
d   gerund
g   gerundive

6:  voice

a   active
p   passive
d   deponent

7:  gender

m   masculine
f   feminine
n   neuter

8:  case

n   nominative
g   genitive
d   dative
a   accusative
v   vocative
b   ablative
l   locative

9:  degree

p   positive
c   comparative
s   superlative

2。活体动物

# Moods
D: indicative
S: subjunctive
I: imperative
T: infinitive
L: participle

# Tenses
0M: present
0E: perfect
RM: imperfect
RE: pluperfect
FM: future
FE: future perfect

# Voices
A: active
P: passive

# Participle (combination of mood, tense & voice)
L0A: present participle
LRP: past participle
LFA: future active participle
LFP: gerundive

# Persons
1: first
2: second
3: third

# Genders
m: masculine
f: feminine
n: neuter

# Numbers
s: singular
p: plural

# Cases
o: nominative
g: genitive
d: dative
a: accusative
b: ablative
v: vocative
x: adverbial

# Degrees
(positive isn't marked explicitly.)
c: comparative
u: superlative

# etc
r: preposition
j: conjunction

3。生的

...

更大型号

由于pypi的包大小限制,分布式wheel包只包含基本模型。我们提供更大的模型谷歌驱动器链接。在

您可以使用这些模型,方法是将模型路径传递给Lamon.\uu init\作为参数。在

from lamonpy import Lamon
lamon = Lamon(dict_path='dict.large.bin', tagger_path='tagger.large.bin')

许可证

Lamonpy是根据麻省理工学院许可条款授权的,这意味着您可以将其用于任何合理的目的,并对您生成的所有文档拥有完全的所有权。在

历史

  • 0.2.0(2020-10-16)
    • 添加了罗马数字的符号。在
    • 通过引入联合引理标记层,提高了计算精度。在
  • 0.1.0(2020-09-26)
    • 《拉蒙皮》的第一版

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

推荐PyPI第三方库


热门话题
java Android同步不同页面上的按钮   java评测每个类收集的垃圾对象实例数   java(Spring MVC+Hibernate 4+Test 4)自动连线DAO返回NULL   java Android编辑文本和虚拟键盘   java Selenium与BrowserMobProxy   JAVAlang.NoClassDefFoundError:com/sun/jersey/spi/inject/Errors$关闭原因?   java为什么在我成功登录后仍然会出现“不正确的帐户或密码或用户类型”   安卓应用程序在重新启动java时崩溃。网UnknownHostException:无法解析主机   多线程在Java中同步共享静态对象的正确方法是什么?   未调用自定义注释的java类验证(约束类)   java如何将指定目录的存档文件放入所需位置?   java如何识别Selenium中的每个编辑文本字段,如果它们的Xpath都相同   使用gwtmockito/mockito的java简单单选按钮单元测试?