我在python中编写了一个程序,用word net来查找单词之间的语义相似性.但我觉得它是静态的.我想给它一个动态的方法.我想从维基百科访问每个单词的定义.如何访问这样的单词的定义?当我用Google搜索时,我发现通过解析维基百科转储文件,我们可以获得定义.但我不知道如何解析.是否有人可以实现解析器来从转储文件中获取单词的定义.这是唯一的方法吗?方法是真的.
我正在开发一个Android程序,它将使用手势点比较手势的相似性.我有两个像这样的数组:
gest_1 = [120,333,453,564,234,531]
gest_2 = [222,432,11,234,223,344,534,523,432,234]
Run Code Online (Sandbox Code Playgroud)
我知道没有办法动态调整其中一个数组的大小,所以有没有办法让我用这些数组比较这些手势并返回相似性?
请注意,数组中的数据只是随机输出.
我正在使用WordNet 3.0.我想知道如何在WordNet层次结构中找到两个同义词之间的语义关系.如同,作为输入两个单词我想找到它们之间的关系,即它们是同义词,hyponym-hypernym等.
是否有python或perl模块来实现这一目标?
我有一个字符串列表作为查询和一些其他字符串列表的hundrends.我想将查询与其他列表进行比较,并提取它们之间的相似性分数.
例:
query = ["football", "basketball", "martial arts", "baseball"]
list1 = ["apple", "football", "basketball court"]
list2 = ["ball"]
list3 = ["martial-arts", "baseball", "banana", "food", "doctor"]
Run Code Online (Sandbox Code Playgroud)
我现在在做什么,我对结果不满意是对它们的绝对比较.
score = 0
for i in query:
if i in list1:
score += 1
score_of_list1 = score*100//len(list1)
Run Code Online (Sandbox Code Playgroud)
我找到了一个可以帮助我模糊的图书馆,但我在想,如果你还有其他方法可以提出建议.
python comparison similarity string-comparison fuzzy-comparison
我想知道在Java代码中编写此SPARQL查询的简单方法:
select ?input
?string
(strlen(?match)/strlen(?string) as ?percent)
where {
values ?string { "London" "Londn" "London Fog" "Lando" "Land Ho!"
"concatenate" "catnap" "hat" "cat" "chat" "chart" "port" "part" }
values (?input ?pattern ?replacement) {
("cat" "^x[^cat]*([c]?)[^at]*([a]?)[^t]*([t]?).*$" "$1$2$3")
("Londn" "^x[^Londn]*([L]?)[^ondn]*([o]?)[^ndn]*([n]?)[^dn]*([d]?)[^n]*([n]?).*$" "$1$2$3$4$5")
}
bind( replace( concat('x',?string), ?pattern, ?replacement) as ?match )
}
order by ?pattern desc(?percent)
Run Code Online (Sandbox Code Playgroud)
此代码包含在讨论中使用iSPARQL使用相似性度量来比较值.此代码的目的是查找与DBPedia上的给定单词类似的资源.这个方法考虑到我事先知道字符串及其长度.我想知道如何在参数化方法中编写此查询,无论单词和长度如何,它都会返回给我相似性度量.
我有一个数组A和一个参考数组B.尺寸A至少和B.一样大.例如
A = [2,100,300,793,1300,1500,1810,2400]
B = [4,305,789,1234,1890]
Run Code Online (Sandbox Code Playgroud)
B实际上是指定时间信号中峰值的位置,并且A包含稍后峰值的位置.但是某些元素A实际上是不是我想要的(可能是由于噪声等)的山峰,我想找到"真正的"一个A基础B.在"真实的"元件A应接近那些B,和在上面给出的例子中,在"真实"的人A应A'=[2,300,793,1300,1810].在这个例子中应该很明显,这100,1500,2400不是我们想要的,因为它们与B中的任何元素相距甚远.如何在python/matlab中以最有效/准确的方式编写代码?
这两种算法有什么区别吗?一目了然,它们看起来和我一模一样.
假设我们正在搜索图像,然后给出查询图像,可以用k-NN算法搜索k(= 10个例如)图像.在相似性搜索算法中,人们也可以搜索10个图像(10个像我猜的阈值),结果应该与k-NN算法相同,对吧?
相似性搜索的示例.
algorithm image image-processing similarity nearest-neighbor
我一直在 PostgreSQL 中使用 pg_trgm 模块的 Similarity 函数,现在我正在搜索类似于Python 中的Similarity的词相似函数。我在python中发现了很多方法,例如difflib、nltk,但是这些方法都没有产生类似于PostgreSQL的Similarity函数的结果。
我一直在使用这段代码进行单词匹配,但结果与PostgreSQL相似度函数的结果有很大不同。这些结果是否比 PostgreSQL 的 Similarity 函数的结果好?是否有任何方法或库可以用来产生类似于 PostgreSQL相似性函数的结果?
from difflib import SequenceMatcher
import nltk
from fuzzywuzzy import fuzz
def similar(a,b):
return SequenceMatcher(None,a,b).ratio()
def longest_common_substring(s1, s2):
m = [[0] * (1 + len(s2)) for i in xrange(1 + len(s1))]
longest, x_longest = 0, 0
for x in xrange(1, 1 + len(s1)):
for y in xrange(1, 1 + len(s2)):
if s1[x - 1] == s2[y - 1]:
m[x][y] = m[x - 1][y …Run Code Online (Sandbox Code Playgroud) 如何将相似矩阵转换为相异矩阵?例子:
Point P1 P2 P3 P4
P1 1 0.8 0.65 0.55
P2 0.8 1 0.7 0.6
P3 0.65 0.7 1 0.9
P4 0.55 0.6 0.9 1
Run Code Online (Sandbox Code Playgroud)
P1和P2在cluster1中,P3和P4在cluster2中
我正在尝试根据对象的各种特征(例如:类别、标签、作者、标题、视图、共享等)创建推荐器。正如您所看到的,这些功能是混合类型的,而且我没有任何特定于用户的数据。显示对象之一的详细信息后,我想再显示 3 个类似的对象。我正在尝试将 kNN 与 sklearn 一起使用,并发现单热编码在这种情况下很有用。但我不知道如何将它们与 KNN 一起应用。欢迎任何帮助,即使使用完全不同的库或方法。我是 ML 的新手。
similarity ×10
python ×4
arrays ×2
java ×2
algorithm ×1
android ×1
comparison ×1
image ×1
jena ×1
knn ×1
matlab ×1
nlp ×1
numpy ×1
pandas ×1
perl ×1
postgresql ×1
scikit-learn ×1
sparql ×1
wikipedia ×1
wordnet ×1