gpt4 book ai didi

regex - 如何将 POS 与单词分开

转载 作者:行者123 更新时间:2023-12-02 03:38:15 25 4
gpt4 key购买 nike

需要创建文本空间矩阵 (DTM) 进行分类。要准备文本,首先我需要消除(分离)文本的 POS 标签。我的猜测是像下面那样做。我是 R 的新手,现在不知道如何否定 REGEX(见下文 NOT!)。

text <- c("wenn/KOUS ausläuft/VVFIN ./$.", "Kommt/VVFIN vor/PTKVZ ;/$.", "-RRB-/TRUNC Durch/APPR und/KON", "man/PIS zügig/ADJD ./$.", "empfehlung/NN !!!/NE")

我猜它是如何工作的:

(POSs <- regmatches(text, gregexpr('[[:punct:]]*/[[:alpha:][:punct:]]*', text)))
[[1]]
[1] "/KOUS" "/VVFIN" "./$."

[[2]]
[1] "/VVFIN" "/PTKVZ" ";/$."

[[3]]
[1] "-/TRUNC" "/APPR" "/KON"

[[4]]
[1] "/PIS" "/ADJD" "./$."

[[5]]
[1] "/NN" "!!!/NE"

但是不知道如何否定这样的表达式:

#                          VVV
(texts <- regmatches(text, NOT!(gregexpr('[[:punct:]]*/[[:alpha:][:punct:]]*', text))))
[[1]]
[1] "wenn" "ausläuft"

[[2]]
[1] "Kommt" "vor"

[[3]]
[1] "Durch" "und"

[[4]]
[1] "man" "zügig"

[[5]]
[1] "empfehlung"

最佳答案

一种可能性是通过搜索 POS 标签并将其替换为 ''(即空文本)来消除标签:

text <- c("wenn/KOUS ausläuft/VVFIN ./$.", "Kommt/VVFIN vor/PTKVZ ;/$.", "-RRB-/TRUNC Durch/APPR und/KON", "man/PIS zügig/ADJD ./$.", "empfehlung/NN !!!/NE")

(textlist <- strsplit(paste(gsub('[[:punct:]]*/[[:alpha:][:punct:]]*','', text), sep=' '), " "))
[[1]]
[1] "wenn" "ausläuft"

[[2]]
[1] "Kommt" "vor"

[[3]]
[1] "-RRB" "Durch" "und"

[[4]]
[1] "man" "zügig"

[[5]]
[1] "empfehlung"

rawr 的友好帮助下

关于regex - 如何将 POS 与单词分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21949394/

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