gpt4 book ai didi

python - 带 spacy 的德语小写词形还原

转载 作者:行者123 更新时间:2023-12-05 05:04:31 34 4
gpt4 key购买 nike

德语中 spacy 的名词单数化似乎有问题。Spacy 似乎依赖于单词被大写来将它们识别为名词。一个例子:

import spacy
nlp = spacy.load("C:\\Users\\somepath\\spacy\\de_core_md\\de_core_news_md\\de_core_news_md-2.2.5")

def lemmatize_text(text):
"""returns the text with each word in its basic form"""
doc = nlp(text)
return [word.lemma_ for word in doc]

lemmatize_text('Das Wort Tests wird erkannt. Allerdings werden tests nicht erkannt')
--> ['der', 'Wort', 'Test', 'werden', 'erkennen', '.', 'Allerdings', 'werden', 'tests', 'nicht', 'erkennen']

# should say 'Test' for both sentences

如果我立即对原始文本进行词形还原,那将不是问题。但是,我的预处理看起来像这样:

  1. 转为小写
  2. 删除标点符号
  3. 删除停用词
  4. 词形还原

是否有执行上述步骤的推荐顺序?

我没有首先进行词形还原,因为句子开头的单词无法正确识别:

lemmatize_text('Größer wird es nicht mehr. größer wird es nicht mehr.')
--> ['Größer', 'werden', 'ich', 'nicht', 'mehr', '.', 'groß', 'werden', 'ich', 'nicht', 'mehr', '.']

# should say 'groß' for both sentences

最佳答案

旧线程,但希望能帮助仍在寻找答案的任何人...

在我的实词分析项目中,我将 !? 替换为句号,这样我就可以将其用作以后提取整个句子的分割点.

然后我将 6 和 9 形的撇号 ' ' 替换为垂直的 ',因为它们有时会以某种方式潜入我的文本扫描中,并且它们会影响标记。

然后我使用 re.findall("[a-zA-ZÄÖÜäöüß]+\\'?[a-zA-ZÄÖÜäöüß]+\.?", s) 提取任何单词,将句子中的缩略语和最后一个包含在一个列表中。

然后我用空格将它们连接在一起以创建一个漂亮的干净文本。

为了标记德语,我使用 HanTa (Hannover Tagger)。 https://github.com/wartaal/HanTa/blob/master/Demo.ipynb它似乎擅长猜测大小写,即使它们都输入错误,如您在示例中所见。

安装:

 !pip install HanTa

例子:

from nltk import word_tokenize
from HanTa import HanoverTagger as ht

tagger = ht.HanoverTagger('morphmodel_ger.pgz')
sent = "die bäume Wurden große. wie geht's dir, Meinem freund?"
tokenized_sentence = word_tokenize(sent)
tokens = tagger.tag_sent(tokenized_sentence, taglevel = 1)
for token in tokens:
print(token[1] + ' / ' + token[2])

输出:

die ART
Baum NN
werden VAFIN
groß ADJA
-- $.
wie PWAV
gehen VVFIN
's PPER
dir PPER
-- $,
mein PPOSAT
Freund NN
-- $

如果您想要的只是实词:

  • 以'NN'开头的标签是名词
  • 以'V'开头的标签是动词
  • 以'ADJ'开头的标签是形容词
  • 以'ADV'开头的标签是副词

关于python - 带 spacy 的德语小写词形还原,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61060603/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com