Skip to main content

Xiangsi

中文文本相似度计算器

Pypi Version Downloads

简体中文 | English

Xiangsi是一个计算文本相似度的Python包,并支持中文文本(即中文分词、停用词过滤等) Xiangsi提供4个传统相似度算法,分别是:余弦相似度,Simhash,Minhash以及Jaccard

在线计算文本相似度

下载与安装

Pip安装:

pip3 install xiangsi

国内较慢的话可以使用清华镜像:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple xiangsi

使用方法

计算文本相似度

Xiangsi会自动对文本进行中文分词处理,并过滤掉停用词。之后,Xiangsi会根据所选算法计算文本相似度。

余弦相似度

import xiangsi as xs
xs.cossim("如何更换花呗绑定银行卡", "花呗更改绑定银行卡")

Simhash & Minhash & Jaccard相似度

import xiangsi as xs
# Simhash
xs.simhash("如何更换花呗绑定银行卡", "花呗更改绑定银行卡")
# Minhash
xs.minhash("如何更换花呗绑定银行卡", "花呗更改绑定银行卡")
# Jaccard
xs.jaccard("如何更换花呗绑定银行卡", "花呗更改绑定银行卡")

其它加权方法

默认的加权方法是计算每个单词在文本中出现的频率。此外,还有另外两种加权方法可供选择。

TFIDF

arg = [
    "西班牙失业率创新高",
    "澳大利亚失业率高达5.1%",
    "花呗更改绑定银行卡",
    "我什么时候开通了花呗",
    "从这个角度来看, 我们一般认为,抓住了问题的关键,其他一切则会迎刃而解。"
    "从这个角度来看, 每个人都不得不面对这些问题。"

]
xs.weight = "TFIDF" # 将加权方式设置为TFIDF
xs.construct(arg) # 输入TFIDF文本,相同的文本只需调用这个函数一次

xs.cossim("如何更换花呗绑定银行卡", "花呗更改绑定银行卡")
xs.simhash("如何更换花呗绑定银行卡", "花呗更改绑定银行卡")

没有加权

xs.weight = "None" # 将加权方式设置为None
xs.cossim("如何更换花呗绑定银行卡", "花呗更改绑定银行卡")

修改参数

修改默认值

import xiangsi as xs
#计算Simhash时取前多少的TFIDF值。默认值为64
xs.feature = 64
#计算Minhash时算出多少个哈希值。默认值为16
xs.HashNums = 16
#计算Minhash时的最大哈希。默认值为4294967311
xs.prime = 4294967311

修改停用词

在v4.2.1之后,Textsim支持更改停用词:

import xiangsi as xs
stopwords = ["你好", "世界"]
xs.update_stopwords(stopwords)

新版本

v4.2.3:

  • 从xiangshi改名为xiangsi

v4.2.2:

  • 解决路径问题

v4.2.1:

  • 支持英文文本相似度

注意:

  • v4.2.0+文本相似度的计算结果可能和v4.1.0不一样,因为v4.1.0加权方式不同。
  • v4.2.0+文本相似度的输入均为两个string,且不与v4.1.0反向兼容。
  • v4.2.0+不再支持文本聚类(如果还有人需要的话请联系我,我会另开一个包)

其他链接

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xiangsi-4.2.3.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xiangsi-4.2.3-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file xiangsi-4.2.3.tar.gz.

File metadata

  • Download URL: xiangsi-4.2.3.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.4

File hashes

Hashes for xiangsi-4.2.3.tar.gz
Algorithm Hash digest
SHA256 012572beea6b250e2dcc8b1b8b73793b244678b17de44039acf91878f6acf79a
MD5 e3be96596bd7a90676e33a86440b16f9
BLAKE2b-256 2ae0e8fc9282d3dc48c235b2ed0dd8f43613140ca20e1009c8dbe68134f9a893

See more details on using hashes here.

File details

Details for the file xiangsi-4.2.3-py3-none-any.whl.

File metadata

  • Download URL: xiangsi-4.2.3-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.4

File hashes

Hashes for xiangsi-4.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1ec27797cdf125c3ff82345b73792498d249fe73e25612af0e3737199dbd0548
MD5 16cc849efec011d24bf3b4cddf59fb76
BLAKE2b-256 e94d4330b464d688fe742369178b6abbc6e700d24e12ed7796e5a5ae8e7a8f61

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

4.2.3 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page