spaCy 新德语词形还原器(自3.3.0版本起)的问题和错误

yc0p9oo0  于 2个月前  发布在  其他
关注(0)|答案(6)|浏览(48)

对于一些背景信息,这里是基于查找的德语词形还原器的主要问题:#2486
这里有一个关于德语将优先改进词形还原的通知:#2668
从3.3.0版本开始,德语的默认词形还原器是edit tree lemmatizer。准确性从3.0.0版本的中等管道版本的73.43%提高到了97.71%,这当然是令人惊讶的。
要开始记录其不足之处,我列出了一些错误案例。当然,这个新的词形还原器是可以训练的,我可以自己去训练一个新的版本。但我并不打算这样做。我希望其他人能从研究这些具体错误中受益,它们可能会揭示可以解决的可修复模式,并用“更好的”训练数据集来解决。
| 句子 | 预测的词形 |
| ------------ | ------------ |
| Wir Königinnen dürfen nicht nach unsen Herzen wählen ... | königinn |
| Du kannst froh sein , wenn du nicht Bartgesicht Kennedy verlierst ! | kannsen |
| Leise , du störst mich . | störstn |
| Du sorgst dich um mich ? | sorgstn |
| Du überzeugst uns durch deine analytischen und konzeptionellen Fähigkeiten | überzeugstn |
| Weiterhin erfüllst Du folgende Anforderungen : | erfüllsen |
| Du stärkst Selbstorganisation und Eigenverantwortlichkeit deines Teams . | stäreksten (!) |
| Er zitterte vor Sorge . | zitteren |
| Entschuldigung , dass ich Sie solange aufhalte , aber ... | aufhaln (!) |
| Der Gärtner , den sie hatten , verstünde nichts . | verstünden |
| So etwas lächerliches zu erfinden , ich schäme mich für Sie . | lächerlicher |
| Du kümmerst Dich nach Absprache mit um unsere Social Media Tools . | kümmeren |
| Und du in meinen Träumen . | träum |
| Aber ich merke nichts davon , dass du mit mir ausgehst . | aushsen (!!) |

hwazgwia

hwazgwia1#

与其在新的issue中讨论,我更愿意在这里添加我们的评论。我们遇到了与意大利语词形还原器相同的问题,因为spaCy v.3.3(引入了EditTreeLemmatizer)。
基本上,这种行为相当不可预测,主要针对动词。一些例子(同样的短语,- 一些污渍仍然存在 -,不同的版本和模型,但我可以提供许多其他例子):

spaCy v.3.3.0

nlp = spacy.load("it_core_news_sm")   # Same results with it_core_news_md
doc = nlp("Rimangono delle macchie")
for t in doc: print(f"{t.text:24}", f"{t.lemma_:24}", f"{t.pos_:8}", f"{str(t.morph):16}")

# Output:
Rimangono                Rimangono                VERB     Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin
delle                    di il                    ADP      Definite=Def|Gender=Fem|Number=Plur|PronType=Art
macchie                  macchia                  NOUN     Gender=Fem|Number=Plur

形态学数据是正确的,但词元不是动词的不定式形式(即,Rimanere)。

spaCy v3.4.0

nlp = spacy.load("it_core_news_sm") 
doc = nlp("Rimangono delle macchie")
for t in doc: print(f"{t.text:24}", f"{t.lemma_:24}", f"{t.pos_:8}", f"{str(t.morph):16}")

# Output (correct)
Rimangono                Rimanere                 VERB     Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin
delle                    di il                    ADP      Definite=Def|Gender=Fem|Number=Plur|PronType=Art
macchie                  macchia                  NOUN     Gender=Fem|Number=Plur

nlp = spacy.load("it_core_news_md")
doc = nlp("Rimangono delle macchie")
for t in doc: print(f"{t.text:24}", f"{t.lemma_:24}", f"{t.pos_:8}", f"{str(t.morph):16}")

# Output (wrong)
Rimangono                Rimangono                VERB     Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin
delle                    di il                    ADP      Definite=Def|Gender=Fem|Number=Plur|PronType=Art
macchie                  macchia                  NOUN     Gender=Fem|Number=Plur

有任何建议吗?我们能提供帮助吗?
提前感谢。

kyxcudwk

kyxcudwk2#

@vieriemiliani描述的案例是更大的问题的一部分。新的EditTreeLemmatizer在单词首字母大写时难以产生正确的词形。这对于句子开头的单词来说是一个大问题。在使用EditTreeLemmatizer之前,句子开头的单词应该转换为小写(或者对大写单词进行模型稳健的重新训练)。

spaCy v3.4.0 - 普通文本

import spacy
nlp = spacy.load("it_core_news_sm")

texts = [
    "Rimasi con loro diversi giorni e celebrammo insieme la Commemorazione.",
    "Requisiti supplementari in materia di informazioni sul prodotto relative alle lampade a LED intese a sostituire lampade fluorescenti senza alimentatore integrato",
    "Scegli l'oggetto nella lista a cui vuoi assegnare il tasto di scelta rapida.",
]


for text in texts:
    print("-"*3)
    for t in nlp(text): 
        print(f"{t.text:24}", f"{t.lemma_:24}", f"{t.pos_:8}", f"{str(t.morph):16}")

输出

Rimasi                   Rimasi                   VERB     Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin
con                      con                      ADP                      
loro                     loro                     PRON     Number=Plur|Person=3|PronType=Prs
diversi                  diverso                  DET      Gender=Masc|Number=Plur|PronType=Ind
giorni                   giorno                   NOUN     Gender=Masc|Number=Plur
e                        e                        CCONJ                    
celebrammo               celebrare                VERB     Mood=Ind|Number=Plur|Person=1|Tense=Past|VerbForm=Fin
insieme                  insieme                  ADV                      
la                       il                       DET      Definite=Def|Gender=Fem|Number=Sing|PronType=Art
Commemorazione           Commemorazione           NOUN     Gender=Fem|Number=Sing
.                        .                        PUNCT                    
---
Requisiti                requisite                NOUN     Gender=Masc|Number=Plur
supplementari            supplementare            ADJ      Number=Plur     
in                       in                       ADP                      
materia                  materia                  NOUN     Gender=Fem|Number=Sing
di                       di                       ADP                      
informazioni             informazione             NOUN     Gender=Fem|Number=Plur
sul                      su il                    ADP      Definite=Def|Gender=Masc|Number=Sing|PronType=Art
prodotto                 prodotto                 NOUN     Gender=Masc|Number=Sing
relative                 relativo                 ADJ      Gender=Fem|Number=Plur
alle                     a il                     ADP      Definite=Def|Gender=Fem|Number=Plur|PronType=Art
lampade                  lampada                  NOUN     Gender=Fem|Number=Plur
a                        a                        ADP                      
LED                      LED                      PROPN                    
intese                   intendere                VERB     Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part
a                        a                        ADP                      
sostituire               sostituire               VERB     VerbForm=Inf    
lampade                  lampada                  NOUN     Gender=Fem|Number=Plur
fluorescenti             fluorescente             ADJ      Number=Plur     
senza                    senza                    ADP                      
alimentatore             alimentatore             NOUN     Gender=Masc|Number=Sing
integrato                integrato                ADJ      Gender=Masc|Number=Sing
---
Scegli                   Scegli                   VERB     Mood=Imp|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin
l'                       il                       DET      Definite=Def|Number=Sing|PronType=Art
oggetto                  oggetto                  NOUN     Gender=Masc|Number=Sing
nella                    in il                    ADP      Definite=Def|Gender=Fem|Number=Sing|PronType=Art
lista                    lista                    NOUN     Gender=Fem|Number=Sing
a                        a                        ADP                      
cui                      cui                      PRON     PronType=Rel    
vuoi                     volere                   AUX      Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin
assegnare                assegnare                VERB     VerbForm=Inf    
il                       il                       DET      Definite=Def|Gender=Masc|Number=Sing|PronType=Art
tasto                    tasto                    NOUN     Gender=Masc|Number=Sing
di                       di                       ADP                      
scelta                   scelta                   NOUN     Gender=Fem|Number=Sing
rapida                   rapido                   ADJ      Gender=Fem|Number=Sing
.                        .                        PUNCT

spaCy v3.4.0 - 小写文本

import spacy
nlp = spacy.load("it_core_news_sm")

lowercased_text =  [
    "rimasi con loro diversi giorni e celebrammo insieme la commemorazione.",
    "requisiti supplementari in materia di informazioni sul prodotto relative alle lampade a led intese a sostituire lampade fluorescenti senza alimentatore integrato",
    "scegli l'oggetto nella lista a cui vuoi assegnare il tasto di scelta rapida.",
]

for text in lowercased_text:
    print("-"*3)
    for t in nlp(text): 
        print(f"{t.text:24}", f"{t.lemma_:24}", f"{t.pos_:8}", f"{str(t.morph):16}")

输出

---
rimasi                   rimarere                 VERB     Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin
con                      con                      ADP                      
loro                     loro                     PRON     Number=Plur|Person=3|PronType=Prs
diversi                  diverso                  DET      Gender=Masc|Number=Plur|PronType=Ind
giorni                   giorno                   NOUN     Gender=Masc|Number=Plur
e                        e                        CCONJ                    
celebrammo               celebrare                VERB     Mood=Ind|Number=Plur|Person=1|Tense=Past|VerbForm=Fin
insieme                  insieme                  ADV                      
la                       il                       DET      Definite=Def|Gender=Fem|Number=Sing|PronType=Art
commemorazione           commemorazione           NOUN     Gender=Fem|Number=Sing
.                        .                        PUNCT                    
---
requisiti                requisito                NOUN     Gender=Masc|Number=Plur
supplementari            supplementare            ADJ      Number=Plur     
in                       in                       ADP                      
materia                  materia                  NOUN     Gender=Fem|Number=Sing
di                       di                       ADP                      
informazioni             informazione             NOUN     Gender=Fem|Number=Plur
sul                      su il                    ADP      Definite=Def|Gender=Masc|Number=Sing|PronType=Art
prodotto                 prodotto                 NOUN     Gender=Masc|Number=Sing
relative                 relativo                 ADJ      Gender=Fem|Number=Plur
alle                     a il                     ADP      Definite=Def|Gender=Fem|Number=Plur|PronType=Art
lampade                  lampada                  NOUN     Gender=Fem|Number=Plur
a                        a                        ADP                      
led                      Led                      NOUN     Gender=Fem|Number=Plur
intese                   intesa                   NOUN     Gender=Fem|Number=Plur
a                        a                        ADP                      
sostituire               sostituire               VERB     VerbForm=Inf    
lampade                  lampada                  NOUN     Gender=Fem|Number=Plur
fluorescenti             fluorescente             ADJ      Number=Plur     
senza                    senza                    ADP                      
alimentatore             alimentatore             NOUN     Gender=Masc|Number=Sing
integrato                integrato                ADJ      Gender=Masc|Number=Sing
---
scegli                   scegliere                VERB     Mood=Imp|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin
l'                       il                       DET      Definite=Def|Number=Sing|PronType=Art
oggetto                  oggetto                  NOUN     Gender=Masc|Number=Sing
nella                    in il                    ADP      Definite=Def|Gender=Fem|Number=Sing|PronType=Art
lista                    lista                    NOUN     Gender=Fem|Number=Sing
a                        a                        ADP                      
cui                      cui                      PRON     PronType=Rel    
vuoi                     volere                   AUX      Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin
assegnare                assegnare                VERB     VerbForm=Inf    
il                       il                       DET      Definite=Def|Gender=Masc|Number=Sing|PronType=Art
tasto                    tasto                    NOUN     Gender=Masc|Number=Sing
di                       di                       ADP                      
scelta                   scelta                   NOUN     Gender=Fem|Number=Sing
rapida                   rapido                   ADJ      Gender=Fem|Number=Sing
.                        .                        PUNCT
thtygnil

thtygnil3#

关于如何使用spacy和一些现有模型在问题描述中给出的句子上进行性能测试,以下是一个简短的脚本,用于为每个句子找到词元,使用各种模型。也许这会有所帮助(?):

Python脚本:

import spacy
from collections import Counter

# 加载spacy模型

nlp = spacy.load("en_core_web_sm")

# 给定的句子列表

sentences = [
    "Wir Königinnen dürfen nicht nach unsen Herzen wählen ...",
    "Du Kannst froh sein , wenn du nicht Bartgesicht Kennedy verlierst !",
    "Leise, du Störst mich .",
    "Du Sorgst dich um mich ?",
    "Du überzeugst uns durch deine analytischen und konzeptionellen Fähigkeiten",
    "Weiterhin Erfüllst Du folgende Anforderungen :",
    "Du Stärkst Selbstorganisation und Eigenverantwortlichkeit deines Teams",
    "Er Zitterte vor Sorge",
    "Entschuldigung, dass ich Sie solange Aufhalte, aber ...",
    "Der Gärtner, den Sie hatten, Verstünde nichts",
    "So etwas Lächerliches zu finden, Ich schäme mich für Sie",
    "Du Kümmerst Dich nach Absprache mit um unsere Social Media Tools",
    "Und du in meinen Träumen"
]

# 对每个句子进行词元提取

lemmas = []
for sentence in sentences:
    doc = nlp(sentence)
    lemmas.append([token.lemma_ for token in doc])

# 将结果输出到表格中

print("| sentence | de_core_news_sm | de_dep_news_trf | de_core_news_md | de_core_news_lg |")
print("| ------------ | ------------ | ------------ | ------------ | ------------ |")
for i, lemma in enumerate(lemmas):
    print(f"| {' '.join(lemma)} | {' '.join(lemma[:4])} | {' '.join(lemma[4:8])} | {' '.join(lemma[8:12])} | {' '.join(lemma[12:])} |")
jjjwad0x

jjjwad0x4#

感谢您的示例!您是对的,这基本上归结为训练数据,但我们也希望探索将这个词形还原器与其他词形还原方法和词汇资源结合使用,以改进类似情况。

mxg2im7a

mxg2im7a5#

我想象这些例子是OOV,并且我认为错误不来自训练数据中的错误。新的可训练词形还原器基于具有相似形态的示例来泛化形态特征。新词形还原器可能需要更多数据和更多示例,以便它能更好地泛化。

s5a0g9ez

s5a0g9ez6#

@jmyerston -我并不是想暗示训练数据中存在错误;我没有理由相信这一点。在“更好”的意义上,我主要是指更多的数据(同时可能过度代表不规则的情况,以便给模型学习它们的机会)。

相关问题