gpt4 book ai didi

r - 德语单词的词形还原(大写字母和小写字母)

转载 作者:行者123 更新时间:2023-12-04 17:21:54 27 4
gpt4 key购买 nike

我想对德语单词列表进行词形还原,包括名词和动词。这里的问题在于,这意味着单词以大写字母开头,而其他单词以小写字母开头。到目前为止,我一直在使用查找列表。在这里,样本

lookup_list <- 
data.frame(
cbind(
c("mache","tust","Tuns","Reisen","genaue","genauer","pflanze","Pflanzen","reise"),
c("machen","tuen","Tun","Reise","genau","genau","pflanzen","Pflanze","reisen")
)
)
names(lookup_list) <- c("word","lemma")

Text2Lemmatize <- "mache tust Tuns Reisen genaue genauer pflanze Pflanzen reise"

问题是 '''lemmatize()''' 忽略了列表中以大写字母开头的单词。

lemmatize_strings(Text2Lemmatize, lookup_list)

> lemmatize_strings(Text2Lemmatize, lookup_list)
[1] "machen tuen Tuns Reisen genau genau pflanzen Pflanzen reisen"

谁能帮我解决这个小问题?

提前致谢!

最佳答案

如果您想对德语单词或文本进行词形还原,我建议您使用 udpipe。

library(udpipe)

# download german ud model
ud_model <- udpipe_download_model("german")
ud_model <- udpipe_load_model(ud_model)

Text2Lemmatize <- "mache tust Tuns Reisen genaue genauer pflanze Pflanzen reise"

x <- udpipe_annotate(ud_model, Text2Lemmatize)
x <- as.data.frame(x)

x[, c("token", "lemma", "upos")]

token lemma upos
1 mache mach PRON
2 tust tusen VERB
3 Tuns Twir PRON
4 Reisen Reise|Reisen NOUN
5 genaue genau VERB
6 genauer genau ADJ
7 pflanze pflanz ADJ
8 Pflanzen Pflanze|Pflanzen NOUN
9 reise reisen VERB

当它是实际文本时效果更好,取自维基百科:

"Das Matterhorn ist einer der höchsten Berge der Alpen. Wegen seinermarkanten Gestalt und seiner Besteigungsgeschichte ist das Matterhorneiner der bekanntesten Berge der Welt. Für die Schweiz ist es einWahrzeichen und eine der meistfotografierten Touristenattraktionen."

german_text

x <- udpipe_annotate(ud_model, german_text)
x <- as.data.frame(x)

# show first 10 results
head(x[, c("token", "lemma", "upos")], 10)
token lemma upos
1 Das der DET
2 Matterhorn Matterhorn PROPN
3 ist sein AUX
4 einer ein PRON
5 der der DET
6 höchsten hoch ADJ
7 Berge Berg NOUN
8 der der DET
9 Alpen Alp NOUN
10 . . PUNCT

如果您需要的是词干提取,则使用 quanteda。对于非英语语言,它的效果要好得多。

library(quanteda)

my_toks <- tokens(Text2Lemmatize)
my_toks_stemmed <- tokens_wordstem(my_toks, language = "de")
my_toks_stemmed
Tokens consisting of 1 document.
text1 :
[1] "mach" "tust" "Tun" "Reis" "genau" "genau" "pflanz" "Pflanz" "reis"

关于r - 德语单词的词形还原(大写字母和小写字母),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65664123/

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