- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道当格式不同或其中一个拼写错误时如何匹配邮政地址。
到目前为止,我已经找到了不同的解决方案,但我认为它们已经过时且效率不高。我确信存在一些更好的方法,所以如果你有引用资料供我阅读,我相信这个主题可能会让很多人感兴趣。
我找到的解决方案(示例在 R 中):
编辑距离,它等于您必须插入、删除或更改以将一个词转换为另一个词的字符数。
agrep("acusait", c("accusait", "abusait"), max = 2, value = TRUE)
## [1] "accusait" "abusait"
音位比较
library(RecordLinkage)
soundex(x<-c('accusait','acusait','abusait'))
## [1] "A223" "A223" "A123"
拼写校正器的使用(eventually a bayesian one like Peter Norvig's) ,但我猜地址效率不高。
我考虑过使用 Google suggest 的建议,但同样,它对个人邮政地址的效率不是很高。
您可以想象使用机器学习监督方法,但您需要存储用户拼写错误的请求才能这样做,这对我来说不是一个选项。
最佳答案
我将其视为拼写纠正问题,您需要在某种字典中找到最接近的匹配词。我所说的“近”是指 Levenshtein 距离,除了最小数量的单字符插入、删除和替换限制太多。其他类型的“拼写错误”也是可能的,例如调换两个字符。
我已经做过几次了,但不是最近。最近的案例与临床试验的伴随药物有关。您会惊讶于有多少种方法可以拼错“acetylsalicylic”。
Here is an outline in C++ of how it is done.
简而言之,字典存储为一个 trie 树,您会看到一个可能拼写错误的单词,您可以尝试在 trie 树中查找它。当你搜索的时候,你会尝试这个词的原样,并且你会在每个点尝试这个词的所有可能的变化。随着您的进行,您有一个整数预算,表示您可以容忍多少更改,每次您进行更改时您都会减少。如果预算用尽,则不允许进行进一步的更改。
现在有一个顶级循环,您可以在其中调用搜索。在第一次迭代中,您使用预算 0 调用它。当预算为 0 时,不允许更改,因此它只是直接查找。如果它找不到预算为 0 的单词,您会以预算为 1 再次调用它,因此它将允许一次更改。如果失败,请尝试将预算设置为 2,依此类推。
我没有尝试过的是部分预算。例如,假设一个典型的改动将预算减少了 2,而不是 1,并且预算变为 0、2、4 等。那么一些改动可以被认为是“更便宜”的。例如,元音替换可能只会使预算减少 1,因此对于一个辅音替换的成本,您可以进行两个元音替换。
如果单词没有拼错,所花费的时间与单词中字母的数量成正比。一般来说,它所花费的时间是单词更改次数的指数。
如果您在 R 中工作(就像我在上面的示例中那样),我会让它调用 C++ 程序,因为为此您需要编译语言的速度。
关于text-mining - 如何进行邮政地址模糊匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36130524/
非常强大的开源数据挖掘工具 SPMF 的文档分别列出了它们: http://www.philippe-fournier-viger.com/spmf/index.php?link=algorithms
我已经开始学习数据挖掘,并希望用 C++/Java 创建一个小项目,它允许我利用数据库,比如来自 twitter 的数据库,然后发布一组特定的结果(例如,提要上的所有新闻项目)。我想知道怎么办?我应该
我想知道在挖掘关联规则中是否可以自动确定最小支持度和最小置信度?如果是这样,任何指向资源的提示或指针都会很棒。 最佳答案 是的,有一些方法可以自动确定 minsup 和 minconf 阈值。 但首先
我刚刚在训练集上计算了 PCA,Weka 以选择和计算它们的方式返回了新属性。 现在,我想使用这些数据构建一个模型,然后在测试集上使用该模型。 不知道有没有办法根据新的属性类型自动修改测试集? 最佳答
我见过许多用于序列模式挖掘的数据库,它们在这些数据库中采用的序列就像 一个括号中的一组项目如 (af), (abf), (bde) 代表什么? 这是否意味着它们彼此相关或与其他事物相关 我们根据什
我想创建自己的简单推荐系统,关于书籍。但是有一些问题 - 一个人不可能(至少,非常困难)为算法组织训练数据集。 那么,是否有任何免费的数据集或测验,其中包含有关人们投票的信息、哪些书籍以及他们喜欢多少
我最近读到了一个来自 Google 的新的 Google 代码托管(开源)项目,该项目允许您对各种输入文件执行数据挖掘和分析。甚至还有一段视频显示用户导入 Excel 文件并在各种条件下进行过滤。但是
假设我有下面提到的数据。 11AM user1 刷 11:05AM user1 Prep Brakfast 11:10AM user1 吃早餐 11:15AM user1 洗澡 上午 11:30 us
我需要根据它们具有不同介词的分布找到自然出现的名词类别(例如实体,工具,时间,地点等)。我尝试使用k-means聚类,但效果不佳,效果不佳,在我要查找的类上有很多重叠(可能是由于类的非球形形状和k-m
根据维基百科,monotonic function是一个正在增加或减少的函数。如果函数在增加和减少,则它不是单调函数或反单调函数。 但是数据挖掘书“数据挖掘:概念和技术”将反单调属性描述为:如果一个集
我想知道当格式不同或其中一个拼写错误时如何匹配邮政地址。 到目前为止,我已经找到了不同的解决方案,但我认为它们已经过时且效率不高。我确信存在一些更好的方法,所以如果你有引用资料供我阅读,我相信这个主题
在weka中,我的主要目标是在0.004支持度阈值下找到所有可能的频繁项集。但是,在weka中,我还没有看到任何写支持阈值的专栏。它需要一些参数,如 -n -t -c -d 。要使用支持阈值运行 ap
我最近才了解支持向量机。据我了解,超平面用于将数据(提升到更高维度)分成两个相互排斥的部分(分区)。我的问题是为什么它应该是超平面而不是具有曲率的曲面?这不会提供更适合的分离“表面”吗? 最佳答案 非
我正在研究医疗数据集,其中包括有关疾病和治疗类型的变量。 例如疾病是结肠癌,它的决策变量 (x,y,z,t) 和治疗类型是化疗、放射治疗等。 我想为我的 KDD 和探索性类(class)获取这样的数据
我是 Rapid miner 5 的新手,只想知道如何在我的数据中找到噪音并在图表中显示它们以及如何删除它们? 最佳答案 一个复杂的问题,因为它取决于您所说的噪音是什么意思。 如果您的意思是查找值明显
我是数据挖掘的新手,并且对关联规则和频繁项挖掘感到困惑。对我来说,我认为两者都是一样的,但我需要这个论坛专家的意见 我的问题是 关联规则挖掘和频繁项集挖掘有什么区别? 谢谢 最佳答案 关联规则类似于“
我最近发射了一个带有气压高度计的火箭,该高度计精确到大约 10 英尺(通过飞行期间获取的数据计算)。记录的数据以每个样本 0.05 秒的时间增量进行,高度与时间的关系图看起来与在整个飞行过程中缩小时的
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我很好奇这个过程是如何工作的。这些站点(http://www.sharkscope.com和http://www.pokertableratings.com)每天从安全的扑克网络(如PokerStar
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6年前关闭。 Improve thi
我是一名优秀的程序员,十分优秀!