跳转到主要内容

用于计算可哈希数据类型序列相似度度量的库

项目描述

seqsim

PyPI CI Documentation Status

Python库,用于计算可哈希数据类型序列的距离和相似度。

scriptorium

虽然作为通用库开发,但seqsim主要设计用于文化进化领域的研究,尤其是文本传统的文化进化。一些方法作为标准Python库或其他库(如textdistance)的轻量级包装器。

安装

在任何标准Python环境中,可以使用以下命令安装seqsim

$ pip install seqsim

用法

该库提供了不同的方法来比较任意可哈希元素的序列。可以混合序列和元素类型。

完整文档可在ReadTheDocs找到,并提供了几乎完全覆盖的代码测试。对于大多数常见用法,可以使用包装函数.distance()

>>> import seqsim
>>> seqsim.edit.levenshtein_dist("kitten", "string")
5
>>> seqsim.edit.levenshtein_dist("kitten", "string", normal=True)
>>> 0.8333333333333334
>>> seqsim.sequence.ratcliff_obershelp([1,2,3,4], [2,4,3,5])
0.5
>>> seqsim.compression.entropy_ncd([1,2,3,4], [2,4,3,5])
0.08333333333333333

演示

该库的核心是任意数据类型的序列距离/相似度度量,如下表所示。

方法 "kitten" / "sitting" (1, 2, 3, 4) / (3, 4, 2, 1)
arith_ncd 1.25 0.888889
arith_ncd_normal 1.25 0.888889
birnbaum 0.666667 0.7
birnbaum_normal 0.666667 0.7
birnbaum_simil 7 3
birnbaum_simil_normal 0.25 0.3
bulk_delete 3 3
bulk_delete_normal 0.428571 0.75
damerau 3 4
damerau_normal 0.428571 1
entropy 0.101341 0
entropy_normal 0.101341 0
fragile_ends_simil 3 3.5
fragile_ends_simil_normal 0.5 1
jaccard 0.7 0
jaccard_normal 0.7 0
jaro 0.253968 0.5
jaro_normal 0.253968 0.5
jaro_winkler 0.253968 0.5
jaro_winkler_normal 0.253968 0.5
levenshtein 3 4
levenshtein_normal 0.428571 1
mmcwpa 0.538462 0.387628
mmcwpa_normal 0.538462 0.387628
ratcliff_obershelp 0.384615 0.5
ratcliff_obershelp_normal 0.384615 0.5
索尔森 0.384615 0
索尔森_normal 0.384615 0
词根比较相似度 3 3
词根比较相似度_normal 0.428571 0.75
子序列贾卡德 0.751556 0.547008
子序列贾卡德_normal 0.751556 0.547008

变更日志

版本 0.3.1

  • 修复了由于方法中一个打字错误导致的错误
  • 选择了一个Birnbaum实现

版本 0.3

  • 代码质量、文档和参考文献的改进
  • 添加了新的方法和脚手架,以支持未来的扩展

版本 0.2

  • 第一个支持任何可哈希Python数据类型序列的新路线图版本,从其他项目(主要是从titivillus)导入代码

社区指南

尽管可以直接联系作者以获取支持,但建议第三方使用GitHub标准功能,如问题和拉取请求,以贡献、报告问题或寻求支持。

贡献指南,包括行为准则,可在CONTRIBUTING.md文件中找到。

作者和引用

该库是在“文化文本演化”项目背景下开发的,由Riksbankens Jubileumsfond提供资金(协议编号:MXM19-1087:1)。

如果您使用seqsim,请按照以下方式引用它:

Tresoldi, Tiago; Maurits, Luke; Dunn, Michael. (2021). seqsim,用于计算可哈希数据类型序列距离和相似度度的库。版本 0.3.2. 乌普萨拉:乌普萨拉大学。可在以下网址找到:[https://github.com/evotext/seqsim](https://github.com/evotext/seqsim)

在BibTeX中

@misc{Tresoldi2021seqsim,
  author = {Tresoldi, Tiago; Maurits, Luke; Dunn, Michael},
  title = {seqsim, a library for computing measures of distance and similarity for sequences of hashable data types. Version 0.3.2},
  howpublished = {\url{https://github.com/evotext/seqsim}},
  address = {Uppsala},
  publisher = {Uppsala universitet},
  year = {2021},
}

参考文献

此文件顶部的图像来源于Yves de Saint-Denis的《Vie et martyre de saint Denis et de ses compagnons, versions latine et française》。从法国国家图书馆,手稿部,法国2090号,第12面v提供高分辨率版本。

有关各种实现的引用可在源代码注释和在线文档中找到。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

seqsim-0.3.2.tar.gz (22.0 kB 查看散列)

上传时间

构建发行版

seqsim-0.3.2-py2.py3-none-any.whl (23.4 kB 查看散列)

上传时间 Python 2 Python 3

由以下支持