跳到内容

里克/哈里

存储库文件导航

哈利

哈里-测量弦相似性的工具

此软件属于出版物

康拉德·里克(Konrad Rieck)和克里斯蒂安·雷森格尔(Christian Wressneger)。哈里:测量弦相似性的工具。机器学习研究杂志(JMLR),17(9):1-52016http://jmlr.org/papers/volume17/rieck16a/rieck16a.pdf

描述

哈里是一个比较字符串的小工具。该工具支持多个字符串的公共距离和核函数以及一些exocic相似性度量。哈利的重点在于隐含的相似性度量,即不产生显式向量空间。这种相似性度量的例子是Levenshtein距离、Jaro-Winkler距离或谱核。

在操作期间,Harry从输入加载一组字符串,计算指定相似性度量并将相似性值矩阵写入输出。相似性度量可以基于字符串中包含的字节、位和标记(单词)。配置例如输入格式、相似性度量和输出格式,在配置文件中指定,并且可以附加使用命令行选项进行优化。

Harry是使用OpenMP实现的,因此字符串集与可用CPU内核数成线性关系。此外几个相似性度量的有效实现,相似值的有效缓存和低开销锁定加快计算速度。

Harry补充了将字符串嵌入向量空间的工具sally(1)并允许计算向量相似性度量,如余弦距离和bagof-words内核。

相似性度量

哈里支持以下相似性度量

dist_bag行李距离dist_compression归一化压缩距离(NCD)dist_damerau-damerau-Levenshtein距离dist_hamming-hamming距离dist_jaro jaro距离dist_jarowinkler Jaro-Winkler距离dist_kernel基于内核的距离dist_lee lee距离dist_levenshtein levenshtein距离dist_osa最佳字符串对齐(osa)距离kern_distance距离代换核(DSK)kern_spectrum光谱核kern_subsequence子序列内核(SSK)kern_wdegree加权度内核(WDK)sim_braun-Blanquet系数sim_dice Soerensen-dice系数sim_jaccard雅卡系数sim_kulczynski第二Kulczynsbi系数sim_otsuka大冢系数辛普森系数sim_sokal-sokal-Seath系数

依赖关系

Debian和Ubuntu Linux

在Debian上编译Harry需要安装以下软件包和Ubuntu Linux

海湾合作委员会libz-dev软件libconfig8-开发libarchive-dev数据库

用于从GIT存储库引导Harry或操纵automake/autocnf配置,以下附加包是必要的。

汽车制造自动频率libtool(库工具)

Mac OS X

要在Mac OS X上编译Harry,需要安装一个有效的Xcode。此外,还需要一个支持OpenMP的C编译器(叮当作响来自Xcode当前不支持OpenMP)。以下软件包需要从Homebrew安装。

gcc43(或下载自<http://hpc.sourceforge.net>)libconfig(库配置)libarchive(来自homebrew-alt)

OpenBSD(打开BSD)

由于OpenBSD多线程的模糊状态海湾合作委员会也不是包装好的海湾合作委员会似乎正确地支持OpenMP。让哈里运行您只能尝试从头开始构建gcc

:(

编译和安装

从GIT存储库首次运行

./引导

从柏油球跑开始

./configure[选项]制作进行检查进行安装

用于配置的选项

--prefix=PATH设置安装的目录前缀

默认情况下,Harry安装在/usr/local中。如果你喜欢不同的位置,使用此选项选择安装目录。

--enable-prwlock支持POSIX读写锁

此功能启用POSIX线程的读写锁(rwlocks)库。锁可以加快多核上的运行时性能系统。然而,这些POSIX锁不能保证与OpenMP,因此可能不适用于所有平台。

--enable-md5hash启用MD5作为替代哈希

Harry使用散列函数将标记映射到符号。默认情况下此任务使用了非常有效的Murmur散列。在某些关键情况下将加密散列用作MD5可能很有用。