R模糊字符串匹配:将文本片段与原始文本匹配

时间:2016-11-11 16:29:08

标签: r text-mining string-matching

我被赋予了将文本片段(几个句子)与其起源的整个文本相匹配的任务。问题是文本在几个工作步骤中略有改变,因此它们不再完全匹配。

为什么呢?好吧,文本片段已被编码(> 100小时的工作)但文本出版物的日期(必要)尚未被提取,并且没有使用id来链接片段和orignal(它不是我) 。要重新连接此信息,我想匹配这些文本。

到目前为止我尝试了什么:

  • 片段和全文的正常匹配(grep)。 - >不起作用,文本不相同或我的循环被破坏(参见下面的循环示例)

    for (i in 1:length(diss_cut$Seq)) { x <- list() x[i] <- grep(diss_cut[i,10],x = extract$Seq, fixed = TRUE ) }

其中diss_cut[i,10]是具有短序列模式的列

  • 使用stringdist的amatch算法进行模糊字符串匹配。

首先是原始数据,然后是每个单词的第一个字母。序列已被清除特殊字符,空格,标点符号并转换为小写。

此类序列的一个示例是: aafdalgedsapupfdedmuefvmbznz

考虑到不同的字符串长度我调整了amatch算法(lv和osm) 对于0.000001的删除的惩罚,希望删除多余的文本并出现良好的匹配。

amatch(diss_cut$Segment,extract$edata,maxDist = 20,
                     method = c("lv"), weight = c(d = 0.000001, i = 1, s = 1, t = 1))

可悲的是,这没有奏效,而且我的想法已经不多了。

有谁知道如何将文本片段接近整个文本匹配问题?这会让博士生非常高兴(再次不是我)。

0 个答案:

没有答案