Nlp 如何对德语文本进行柠檬化?

Nlp 如何对德语文本进行柠檬化?,nlp,spacy,lemmatization,Nlp,Spacy,Lemmatization,我有一个德语文本,我想应用柠檬化。如果柠檬化是不可能的,那么我也可以使用词干 数据:这是我的德语文本: mails=['Hallo. Ich spielte am frühen Morgen und ging dann zu einem Freund. Auf Wiedersehen', 'Guten Tag Ich mochte Bälle und will etwas kaufen. Tschüss'] 目标:应用柠檬化后,其外观应类似于: mails_lemma=['Hallo. Ich

我有一个德语文本,我想应用柠檬化。如果柠檬化是不可能的,那么我也可以使用词干

数据:这是我的德语文本:

mails=['Hallo. Ich spielte am frühen Morgen und ging dann zu einem Freund. Auf Wiedersehen', 'Guten Tag Ich mochte Bälle und will etwas kaufen. Tschüss']
目标:应用柠檬化后,其外观应类似于:

mails_lemma=['Hallo. Ich spielen am früh Morgen und gehen dann zu einer Freund. Auf Wiedersehen', 'Guten Tag Ich mögen Ball und wollen etwas kaufen Tschüss']
我试着用spacy

康达安装-c康达锻造空间

python-mspacy下载de_core_news_md

我看到以下问题

  • 我的数据是用句子而不是单字构成的

  • 在我的例子中,spacy柠檬化似乎对单个单词也不起作用


  • 您能告诉我这是如何工作的吗?

    只需将其包装成一个循环,并获得每个令牌的引理:

    导入空间
    nlp=spacy.load('de_core_news_md')
    邮件=[“您好,我是弗雷恩·弗雷恩,我是弗雷恩·弗雷恩·弗雷恩·弗雷恩·弗雷恩·弗雷恩·弗雷恩·弗雷恩·弗雷德·弗雷德·弗雷德·弗雷德·弗雷德·弗雷德·弗雷德·弗雷德·弗雷德·弗雷德·弗雷德·弗雷德·弗雷德·弗雷德·弗雷德·弗雷
    邮件\引理=[]
    邮寄邮件:
    doc=nlp(邮件)
    结果=''.join([x.lemma u]表示文档中的x])
    邮件附加引理(结果)
    
    输出:

    [“您好,我是弗雷根和弗雷德的父亲”,
    “Guten tagen ich mögen Ball and wollen Ewas kaufen.Tschüss”]
    
    使用
    HanoverTagger
    库,您可以这样做:(有关更多详细信息,请参阅)

    首先使用
    安装汉塔
    !pip安装汉塔
    ,然后

    from HanTa import HanoverTagger as ht
    
    tagger = ht.HanoverTagger('morphmodel_ger.pgz')
    
    mails=['Hallo. Ich spielte am frühen Morgen und ging dann zu einem Freund. Auf Wiedersehen',
           'Guten Tag Ich mochte Bälle und will etwas kaufen. Tschüss']
    
    mails_lemma = []
    for mail in mails:
        lemma = [lemma for (word,lemma,pos) in tagger.tag_sent(mail.split())]
        mails_lemma.append(' '.join(lemma))
    

    我建议result=''.join([token.lemma”表示nlp(邮件)中的令牌)
    from HanTa import HanoverTagger as ht
    
    tagger = ht.HanoverTagger('morphmodel_ger.pgz')
    
    mails=['Hallo. Ich spielte am frühen Morgen und ging dann zu einem Freund. Auf Wiedersehen',
           'Guten Tag Ich mochte Bälle und will etwas kaufen. Tschüss']
    
    mails_lemma = []
    for mail in mails:
        lemma = [lemma for (word,lemma,pos) in tagger.tag_sent(mail.split())]
        mails_lemma.append(' '.join(lemma))