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+不再支持文本聚类(如果还有人需要的话请联系我,我会另开一个包)

其他链接

Metadata

Release files for xiangsi 4.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xiangsi 4.2.3
File Size Uploaded
xiangsi-4.2.3.tar.gz 11.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xiangsi 4.2.3
File Interpreter ABI Platform
xiangsi-4.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 20.6 kB

Release files / xiangsi-4.2.3.tar.gz

Download URL xiangsi-4.2.3.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
012572beea6b250e2dcc8b1b8b73793b244678b17de44039acf91878f6acf79a
BLAKE2b-256 checksum
How to use checksums
2ae0e8fc9282d3dc48c235b2ed0dd8f43613140ca20e1009c8dbe68134f9a893
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.8.4

Release files / xiangsi-4.2.3-py3-none-any.whl

Download URL xiangsi-4.2.3-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1ec27797cdf125c3ff82345b73792498d249fe73e25612af0e3737199dbd0548
BLAKE2b-256 checksum
How to use checksums
e94d4330b464d688fe742369178b6abbc6e700d24e12ed7796e5a5ae8e7a8f61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.8.4

Release history Release notifications | RSS feed

This release

4.2.3 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page