我知道这个问题已被问了很多时间.我想要一个关于哪种算法适合近似字符串匹配的建议.
该应用程序专门用于公司名称匹配,而不是其他任何内容.
最大的挑战可能是公司的最终名称部分和简短的命名部分示例:1.companyA pty ltd vs companyA pty.LTD.vs companyA 2. WES工程与WES工程(极为罕见)
你认为Levenshtein编辑距离是否足够?
我正在使用C#
此致,Max
地狱,
PHP有许多字符串函数,如levenshtein,similar_text和soundex,可以比较字符串的相似性. http://www.php.net/manual/en/function.levenshtein.php
哪种准确度和性能最佳?
我刚开始学习F#.
我想知道如何确定函数的参数是否为元组?
let tuple = (1, 2)
let notTuple = 3
let isTuple t = // returns 'true' if t is a tuple, 'false' otherwise
printfn "%b" isTuple tuple // true
printfn "%b" isTuple notTuple // false
Run Code Online (Sandbox Code Playgroud) 有没有办法使用grep进行重音不敏感搜索,最好保留--color选项?通过这个我的意思grep --secret-accent-insensitive-option aei是匹配àei,但也äēì和可能æi.
我知道我可以iconv -t ASCII//TRANSLIT用来删除文本中的重音,但我不知道如何使用它来匹配文本被转换(它适用于grep -c或-l)
我使用的是Ubuntu 12.04.我最近从https://github.com/Itseez/opencv/archive/3.0.0-alpha.zip安装了OpenCV 3.0 .我想做功能匹配,我使用了以下代码:
import numpy as np
import cv2
from matplotlib import pyplot as plt
MIN_MATCH_COUNT = 10
img1 = cv2.imread('box.png',0) # queryImage
img2 = cv2.imread('box_in_scene.png',0) # trainImage
# Initiate SIFT detector
sift = cv2.SIFT()
# find the keypoints and descriptors with SIFT
kp1, des1 = sift.detectAndCompute(img1,None)
kp2, des2 = sift.detectAndCompute(img2,None)
FLANN_INDEX_KDTREE = 0
index_params = dict(algorithm = FLANN_INDEX_KDTREE, trees = 5)
search_params = dict(checks = 50)
flann = cv2.FlannBasedMatcher(index_params, search_params)
matches = flann.knnMatch(des1,des2,k=2)
# store all …Run Code Online (Sandbox Code Playgroud) 如何有选择地禁止atom创建匹配的单引号和反引号?这有助于Scheme中的编程.
我尝试了设置>打包>括号匹配,如果我禁用自动完成括号,那么它也会禁用匹配的括号和匹配的双引号.我想要匹配括号和匹配双引号但不匹配单引号.
编辑:此功能现在可在Atom中使用.
| 1.0 | 2.0 | 3.0 |
|---|---|---|
| 大声 | 抱怨 | 问题 |
| 疼痛 | 压力 | 使困惑 |
| 乏味的 | 疼痛 | 压力 |
这是我的数据集,我想重新组织行,以便如果每列中出现一个单词,它就会转移到相应的行。例如
| 1.0 | 2.0 | 3.0 |
|---|---|---|
| 大声 | 不适用 | 不适用 |
| 疼痛 | 疼痛 | 不适用 |
| 乏味的 | 不适用 | 不适用 |
| 不适用 | 抱怨 | 不适用 |
| 不适用 | 压力 | 压力 |
| 不适用 | 不适用 | 使困惑 |
| 不适用 | 不适用 | 问题 |
等等,这样每个单词都有自己的行,如果该行中的单词出现在该列中,它就会与其他列匹配
我一直在寻找如何做到这一点,但找不到好的代码。我得到的一个想法是创建所有出现的单词的列表,然后尝试将它们与每一列匹配,但仍然没有找到这方面的代码。
我有一个公司数据库.我的应用程序接收按名称引用公司的数据,但名称可能与数据库中的值不完全匹配.我需要将传入的数据与它所引用的公司进行匹配.
例如,我的数据库可能包含名称为"AB Widgets&Co Ltd."的公司.我的传入数据可能会引用"AB Widgets Limited","AB Widgets and Co"或"AB Widgets".
公司名称中的一些单词(AB Widgets)对于匹配比其他单词(Co,Ltd,Inc等)更重要.避免错误匹配很重要.
公司的数量足够小,我可以在记忆中维护他们的名字地图,即.我可以选择使用Java而不是SQL来查找正确的名称.
你会如何用Java做到这一点?
这是我的问题.我在多个图像上手动提取了SURF的关键点特征.但我也已经知道哪一对要匹配.问题是,我正在尝试创建我的匹配对,但我不明白如何.我试着通过查看代码,但这是一个烂摊子.
现在,我知道features.descriptors(一个矩阵)的大小与关键点的数量相同(另一个维度为1).在代码中,为了检测匹配对,它只使用描述符,因此它比较行(或列,我不确定)或两个描述符矩阵,并确定是否有任何共同点.
但就我而言,我已经知道图像1中的关键点i与图像2中的关键点j之间存在匹配.如何将其描述为MatchesInfo值.特别是std :: vector <cv :: DMatch>类型的元素匹配.
编辑:所以,为此,我不需要使用任何匹配器或类似的东西.我知道哪些对在一起!
我正在使用MatchIt包在R中运行匹配过程.我使用倾向得分匹配,即:通过logit估计治疗选择,并选择最接近的匹配.
数据集很大(400万行),有没有办法加快速度?
为了说清楚我做了什么:
require(MatchIt)
m.out <- matchit(treatment ~ age + agesq + male + income + ..., data = data, metod = "nearest")
Run Code Online (Sandbox Code Playgroud) matching ×10
opencv ×2
r ×2
approximate ×1
atom-editor ×1
attributes ×1
c# ×1
diacritics ×1
encoding ×1
f# ×1
grep ×1
iconv ×1
java ×1
performance ×1
php ×1
sift ×1
string ×1
surf ×1
text-editor ×1
tuples ×1
types ×1