gpt4 book ai didi

r - 跟踪单词邻近度

转载 作者:行者123 更新时间:2023-12-01 09:38:49 25 4
gpt4 key购买 nike

我正在从事一个小型项目,该项目涉及在文档集合中进行基于字典的文本搜索。我的字典有积极的信号词(又名好词),但在文档集合中仅找到一个词并不能保证肯定的结果,因为可能有消极的词,例如(不,不重要)可能在这些积极的词附近.我想构建一个矩阵,使其包含文档编号、正词及其与负词的接近度。

任何人都可以建议一种方法来做到这一点。我的项目处于非常早期的阶段,所以我给出了我的文本的一个基本示例。

No significant drug interactions have been reported in studies of candesartan cilexetil given with other drugs such as glyburide, nifedipine, digoxin, warfarin, hydrochlorothiazide.   

这是我的示例文档,其中坎地沙坦酯、格列本脲、硝苯地平、地高辛、华法林、氢氯噻嗪是我的正面词,而我的负面词没有意义。我想在我的肯定词和否定词之间做一个接近(基于词)的映射。

任何人都可以提供一些有用的指示吗?

最佳答案

首先,我建议不要将 R 用于此任务。 R 在很多事情上都很棒,但文本操作不是其中之一。 Python 可能是一个不错的选择。

也就是说,如果我要在 R 中实现它,我可能会做类似的事情(非常非常粗略):

# You will probably read these from an external file or a database
goodWords <- c("candesartan cilexetil", "glyburide", "nifedipine", "digoxin", "blabla", "warfarin", "hydrochlorothiazide")
badWords <- c("no significant", "other drugs")

mytext <- "no significant drug interactions have been reported in studies of candesartan cilexetil given with other drugs such as glyburide, nifedipine, digoxin, warfarin, hydrochlorothiazide."
mytext <- tolower(mytext) # Let's make life a little bit easier...

goodPos <- NULL
badPos <- NULL

# First we find the good words
for (w in goodWords)
{
pos <- regexpr(w, mytext)
if (pos != -1)
{
cat(paste(w, "found at position", pos, "\n"))
}
else
{
pos <- NA
cat(paste(w, "not found\n"))
}

goodPos <- c(goodPos, pos)
}

# And then the bad words
for (w in badWords)
{
pos <- regexpr(w, mytext)
if (pos != -1)
{
cat(paste(w, "found at position", pos, "\n"))
}
else
{
pos <- NA
cat(paste(w, "not found\n"))
}

badPos <- c(badPos, pos)
}

# Note that we use -badPos so that when can calculate the distance with rowSums
comb <- expand.grid(goodPos, -badPos)
wordcomb <- expand.grid(goodWords, badWords)
dst <- cbind(wordcomb, abs(rowSums(comb)))

mn <- which.min(dst[,3])
cat(paste("The closest good-bad word pair is: ", dst[mn, 1],"-", dst[mn, 2],"\n"))

关于r - 跟踪单词邻近度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3085673/

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