我被赋予了将文本片段(几个句子)与其起源的整个文本相匹配的任务。问题是文本在几个工作步骤中略有改变,因此它们不再完全匹配。
为什么呢?好吧,文本片段已被编码(> 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]
是具有短序列模式的列
首先是原始数据,然后是每个单词的第一个字母。序列已被清除特殊字符,空格,标点符号并转换为小写。
此类序列的一个示例是: 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))
可悲的是,这没有奏效,而且我的想法已经不多了。
有谁知道如何将文本片段接近整个文本匹配问题?这会让博士生非常高兴(再次不是我)。