训练有素的韩国狐猴
soylemma的Python项目详细描述
____(韩国柠檬汁)
_______(表面形式)___。__________。
- ____(茎)__(EOMI)__
- ______
____ github.io 블로그____。
用法
分析,引理化,共轭
analyze
函数返回给定谓词词的语素
fromsoylemmaimportLemmatizerlemmatizer=Lemmatizer()lemmatizer.analyze('차가우니까')
返回值形成元组列表,因为可以有多个语素组合。
[(('차갑', 'Adjective'), ('우니까', 'Eomi'))]
lemmatize
函数返回给定谓词词的引理。
lemmatizer.lemmatize('차가우니까')
[('차갑다', 'Adjective')]
如果输入的单词不是谓词,如名词,则返回空列表。
lemmatizer.lemmatize('한국어')# []
conjugate
函数返回表面形式。你应该把stem和eomi作为论据。它返回给定茎和eomi的所有可能的表面形式。
lemmatizer.conjugate(stem='차갑',eomi='우니까')lemmatizer.conjugate('예쁘','었던')
['차가우니까', '차갑우니까']
['예뻤던', '예쁘었던']
更新字典和规则
为了演示,我们使用dictioanrydemo
。
^无法分析{어여쁘
未在字典中注册。
fromsoylemmaimportLemmatizerlemmatizer=Lemmatizer(dictionary_name='demo')print(lemmatizer.analyze('어여뻤어'))# []
因此,我们使用add_words
函数添加带标记的单词。再来一次。然后你可以看到单词어여뻤어
被分析。
lemmatizer.add_words('어여쁘','Adjective')lemmatizer.analyze('어여뻤어')
[(('어여쁘', 'Adjective'), ('었어', 'Eomi'))]
<^ >但是,{{CD9}}仍然不能被分析,因为表面形式{Le>CD10>}的LMMIC化规则不存在。lemmatizer.analyze('파랬다')# []
因此,在这一次中,我们使用add_lemma_rules
函数更新额外的元素化规则。
supplements={'랬':{('랗','았')}}lemmatizer.add_lemma_rules(supplements)
之后,我们可以看到파랬다
这个词被分析,并且파랗 + 았다
的共轭也可用。
lemmatizer.analyze('파랬다')lemmatizer.conjugate('파랗','았다')
[(('파랗', 'Adjective'), ('았다', 'Eomi'))]
['파랬다', '파랗았다']
调试
如果您想知道哪些子词是(stem,eomi)的候选词,请使用debug
。
lemmatizer.analyze('파랬다',debug=True)
[DEBUG] word: 파랬다 = 파랗 + 았다, conjugation: 랬 = 랗 + 았
[(('파랗', 'Adjective'), ('았다', 'Eomi'))]
元素化规则提取器
可以使用extract_rule
函数提取元素化规则。
fromsoylemmaimportextract_ruleeojeol='로드무비였다'lw='로드무비이'lt='Adjective'rw='었다'rt='Eomi'extract_rule(eojeol,lw,lt,rw,rt)
('였다', ('이', '었다'))