- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 MetaPhone , Double Metaphone , Caverphone ,MetaPhone3,SoundEx,如果有人做过NameX 'R' 中的函数,因此我可以对类似的值进行分类和总结,以在分析之前最大限度地减少数据清理操作。
我完全意识到每种算法都有自己的优点和缺点,并且会高度 不喜欢使用 SoundEx 但如果我找不到替代品,它仍然可以工作;就像 mentioned in this post Harper 将与 SoundEx 下的任何不相关名称列表匹配,但不应在 Metaphone 中匹配以获得更好的结果匹配。
虽然我不确定哪个最能满足我的目的,同时仍然保持一定的灵 active ,所以这就是我想对其中几个进行尝试的原因,并且在查看值之前生成如下表。
Table Source Link
姓氏不是我最初分析的主题,但我认为这是一个很好的例子,因为我想有效地考虑所有像“听起来”的词被视为相同的值,这实际上是我想要做的,在评估值时简单地调用某事.
我已经看过一些东西:
So I am specifically looking for an answer is to how do a MetaPhone / Caverphone function in R and know the "Value" so I can group data values by them?
最佳答案
该算法非常简单,但我也找不到现有的 R 包。如果你真的需要在 R 中完成这项工作,一个短期的选择是安装 python 模块 metaphone
( pip install metaphone
) 然后使用 rPython
在 R 中使用它的桥:
library(rPython)
python.exec("from metaphone import doublemetaphone")
python.call("doublemetaphone", "architect")
[1] "ARKTKT" ""
library(rJava)
.jinit() # need to have commons-codec-1.10.jar in your CLASSPATH
mp <- .jnew("org.apache.commons.codec.language.Metaphone")
.jcall(mp,"S","metaphone", "architect")
[1] "ARXT"
.jcall
一个 R 函数并像使用任何其他 R 函数一样使用它:
metaphone <- function(x) {
.jcall(mp,"S","metaphone", x)
}
sapply(c("abridgement", "stupendous"), metaphone)
## abridgement stupendous
## "ABRJ" "STPN"
library(rJava)
.jinit()
mp <- .jnew("org.apache.commons.codec.language.Metaphone")
dmp <- .jnew("org.apache.commons.codec.language.DoubleMetaphone")
metaphone <- function(x) {
.jcall(mp,"S","metaphone", x)
}
double_metaphone <- function(x) {
.jcall(dmp,"S","doubleMetaphone", x)
}
words <- c('Catherine', 'Katherine', 'Katarina', 'Johnathan',
'Jonathan', 'John', 'Teresa', 'Theresa', 'Smith',
'Smyth', 'Jessica', 'Joshua')
data.frame(metaphone=sapply(words, metaphone),
double=sapply(words, double_metaphone))
## metaphone double
## Catherine K0RN K0RN
## Katherine K0RN K0RN
## Katarina KTRN KTRN
## Johnathan JN0N JN0N
## Jonathan JN0N JN0N
## John JN JN
## Teresa TRS TRS
## Theresa 0RS 0RS
## Smith SM0 SM0
## Smyth SM0 SM0
## Jessica JSK JSK
## Joshua JX JX
关于r - MetaPhone Functions(如 SoundEx)功能并在 R 中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27727584/
您好,我想在 SQL Server 上使用 Soundex。我找到了 MySQL 的好例子: SELECT SOUNDEX('game of thrones') 当我尝试这个查询时: MySQL 返回
例如。 Soundex算法针对英语进行了优化。是否有更通用的算法可应用于多种语言? 最佳答案 SOUNDEX确实是面向英语的。另外两个需要考虑更多语音差异的地方是:Double Metaphone和N
我正在对用户表执行 soundex 查询。用户的子查询以逗号分隔的字符串列表的形式提供。 我想做类似于以下的事情,但我找不到执行此操作的写入语法。 select * from ((Select sou
此算法设置为遍历第一个单词或直到它填满四个编码字符串。例如,输入“Horrible Great”的结果是:H612。它忽略了第二个单词,换句话说,它只用第二个单词的第一个字母来填充编码字符串。 我想通
我正在尝试使用全文搜索和 SOUNDEX 实现名字和姓氏搜索(以防名字拼写错误)。 我正在尝试做类似的事情 SELECT * FROM employees WHERE MATCH SO
我刚刚编写了这个名为 compute 的函数,它接受一个字符串并将其转换为一个 soundex 值。但是,当我调用该函数时,它给我一个错误,提示 Cannot convert value of typ
Soundex 似乎已在某些 DBMS 中实现,但是否有任何算法改进明显优于当前的 Soundex 实现? 最佳答案 是的。作为Wikipedia指出,还有 Metaphone 和 Double Me
我试图通过计算每个字符串的变音位键在大量名称列表中找到接近的重复项,然后在每组可能的重复项中,使用 Levenshtein 距离之类的东西来更精确地估计重复可能性.1 但是,我发现变音位在很大程度上取
我所在的组织存在严重的名称数据质量问题。有十五个数据库包含有关人员的信息。例如: Database 1 Name=Fre&d Blo-ggs DOB 01/01/1980 Database 2 Nam
如何获得用一种语言编写的字符串与另一种语言编写的另一个字符串的声音相似性“评级”:即可以识别该字符串的算法 “David Letterman”和“דוד לטרמן”是听起来相似的字符串。 -哦,是的
我所在的组织存在严重的名称数据质量问题。有十五个数据库包含有关人员的信息。例如: Database 1 Name=Fre&d Blo-ggs DOB 01/01/1980 Database 2 Nam
我有一个数据库表,其中有一列 SQLServer Soundex 编码的姓氏 + 名字。 在我的 C# 程序中,我想使用 soundex 转换字符串以在我的查询中使用。 dotnet 库中是否有用于
我的应用程序将提供“听起来像”给定键入名称的英文名称建议列表。 需要优化查询并尽快返回结果。哪个选项最适合快速返回结果。 (或者你自己的建议,如果你有的话) 一个。生成 Soundex 哈希并将其存储
我有一个将单词转换为 soundex 值的函数,但它返回所有字母为 0。我的姓氏 Smith 应该是 S530 ,但返回 S000 ,例如。 代码链接(因为太长,无法放在这里):http://past
我的学生表 stu_table 在字段 stu_name 中包含许多不同的学生姓名,但大多数听起来相似。 例如: Mrinmoy, Minmay, Mrinmay, Minmoy, Tanmoy ,T
有人可以解释一下如何使用 SOUNDEX (mysql/php) 来匹配多个单词吗?我正在尝试制作一个简单的站内广告系统。 我有一个包含“ad_id”和“keywords”列的表,以及另一个包含“pa
您好,在深入了解 soundex 之前,想快速提问。 1 - 表格[标题]中的字段包含一个“包含我正在寻找的单词的句子” 问 - 是否有简单的方法使用 sundex 来匹配 WORD? 最佳答案 SO
美国人口普查局使用一种称为“soundex”的特殊编码来查找有关个人的信息。 soundex 是一种基于姓氏发音而不是拼写方式的姓氏(姓氏)编码。发音相同但拼写不同的姓氏,如 SMITH 和 SMYT
过去几天我一直在研究 soundex、metaphone 和其他字符串搜索技术,据我所知,这两种算法在处理音译为英语的非英语单词时效果很好。 然而,我的要求是这样的搜索可以在原始的、未音译的语言中工作
请帮我用java实现字符串相似度比较!使用 org.apache.commons.codec.language.Soundex 库 Soundex soundex = new Soundex(); S
我是一名优秀的程序员,十分优秀!