欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python基于similarities實(shí)現(xiàn)文本語(yǔ)義相似度計(jì)算和文本匹配搜索

 更新時(shí)間:2024年03月08日 09:49:29   作者:小龍?jiān)谏綎|  
similarities?實(shí)現(xiàn)了多種相似度計(jì)算、匹配搜索算法,支持文本、圖像,python3開發(fā),下面我們就來(lái)看看如何使用similarities實(shí)現(xiàn)文本語(yǔ)義相似度計(jì)算和文本匹配搜索吧

similarities 實(shí)現(xiàn)了多種相似度計(jì)算、匹配搜索算法,支持文本、圖像,python3開發(fā)。

安裝

pip3 install torch # conda install pytorch
pip3 install -U similarities

git clone https://github.com/shibing624/similarities.git
cd similarities
python3 setup.py install

報(bào)錯(cuò)

ChineseCLIPProcessor

Traceback (most recent call last): File “xx\similarity_test1.py”,
line 9, in
from similarities import BertSimilarity File “xx\lib\site-packages\similarities_init_.py”, line 28, in
from similarities.clip_similarity import ClipSimilarity File “xx\lib\site-packages\similarities\clip_similarity.py”, line 16, in

from similarities.clip_module import ClipModule File “xx\lib\site-packages\similarities\clip_module.py”, line 18, in

from transformers import ChineseCLIPProcessor, ChineseCLIPModel, CLIPProcessor, CLIPModel ImportError: cannot import name
‘ChineseCLIPProcessor’ from ‘transformers’
(xx\lib\site-packages\transformers_init_.py)

報(bào)這個(gè)錯(cuò)的原因是transformers版本太低,升級(jí)下版本就可以了。

pip install --upgrade transformers

pydantic

另外還缺少pydantic:

pip install pydantic

樣例

# -*- coding: utf-8 -*-
"""
@author:XuMing(xuming624@qq.com)
@description: 文本語(yǔ)義相似度計(jì)算和文本匹配搜索
"""
import sys

sys.path.append('..')
from similarities import BertSimilarity

# 1.Compute cosine similarity between two sentences.
sentences = ['如何更換花唄綁定銀行卡',
             '花唄更改綁定銀行卡']
corpus = [
    '花唄更改綁定銀行卡',
    '我什么時(shí)候開通了花唄',
    '俄羅斯警告烏克蘭反對(duì)歐盟協(xié)議',
    '暴風(fēng)雨掩埋了東北部;新澤西16英寸的降雪',
    '中央情報(bào)局局長(zhǎng)訪問以色列敘利亞會(huì)談',
    '人在巴基斯坦基地的炸彈襲擊中喪生',
]
model = BertSimilarity(model_name_or_path="shibing624/text2vec-base-chinese")
print(model)
similarity_score = model.similarity(sentences[0], sentences[1])
print(f"{sentences[0]} vs {sentences[1]}, score: {float(similarity_score):.4f}")

print('-' * 50 + '\n')
# 2.Compute similarity between two list
similarity_scores = model.similarity(sentences, corpus)
print(similarity_scores.numpy())
for i in range(len(sentences)):
    for j in range(len(corpus)):
        print(f"{sentences[i]} vs {corpus[j]}, score: {similarity_scores.numpy()[i][j]:.4f}")

print('-' * 50 + '\n')
# 3.Semantic Search
model.add_corpus(corpus)
res = model.most_similar(queries=sentences, topn=3)
print(res)
for q_id, id_score_dict in res.items():
    print('query:', sentences[q_id])
    print("search top 3:")
    for corpus_id, s in id_score_dict.items():
        print(f'\t{model.corpus[corpus_id]}: {s:.4f}')

print('-' * 50 + '\n')
print(model.search(sentences[0], topn=3))

結(jié)果:

Similarity: BertSimilarity, matching_model: <SentenceModel: shibing624/text2vec-base-chinese, encoder_type: MEAN, max_seq_length: 256, emb_dim: 768>
2024-03-07 20:12:46.481 | DEBUG    | text2vec.sentence_model:__init__:80 - Use device: cpu
如何更換花唄綁定銀行卡 vs 花唄更改綁定銀行卡, score: 0.8551
--------------------------------------------------

[[0.8551465  0.72119546 0.14502521 0.21666759 0.25171342 0.08089039]
 [0.9999997  0.6807433  0.17136583 0.21621695 0.27282682 0.12791349]]
如何更換花唄綁定銀行卡 vs 花唄更改綁定銀行卡, score: 0.8551
如何更換花唄綁定銀行卡 vs 我什么時(shí)候開通了花唄, score: 0.7212
如何更換花唄綁定銀行卡 vs 俄羅斯警告烏克蘭反對(duì)歐盟協(xié)議, score: 0.1450
如何更換花唄綁定銀行卡 vs 暴風(fēng)雨掩埋了東北部;新澤西16英寸的降雪, score: 0.2167
如何更換花唄綁定銀行卡 vs 中央情報(bào)局局長(zhǎng)訪問以色列敘利亞會(huì)談, score: 0.2517
如何更換花唄綁定銀行卡 vs 人在巴基斯坦基地的炸彈襲擊中喪生, score: 0.0809
花唄更改綁定銀行卡 vs 花唄更改綁定銀行卡, score: 1.0000
花唄更改綁定銀行卡 vs 我什么時(shí)候開通了花唄, score: 0.6807
花唄更改綁定銀行卡 vs 俄羅斯警告烏克蘭反對(duì)歐盟協(xié)議, score: 0.1714
花唄更改綁定銀行卡 vs 暴風(fēng)雨掩埋了東北部;新澤西16英寸的降雪, score: 0.2162
花唄更改綁定銀行卡 vs 中央情報(bào)局局長(zhǎng)訪問以色列敘利亞會(huì)談, score: 0.2728
花唄更改綁定銀行卡 vs 人在巴基斯坦基地的炸彈襲擊中喪生, score: 0.1279
--------------------------------------------------

2024-03-07 20:13:03.429 | INFO     | similarities.bert_similarity:add_corpus:108 - Start computing corpus embeddings, new docs: 6
Batches: 100%|██████████| 1/1 [00:10<00:00, 10.45s/it]
2024-03-07 20:13:13.889 | INFO     | similarities.bert_similarity:add_corpus:120 - Add 6 docs, total: 6, emb len: 6
{0: {0: 0.8551465272903442, 1: 0.7211954593658447, 4: 0.25171342492103577}, 1: {0: 0.9999997019767761, 1: 0.6807432770729065, 4: 0.27282682061195374}}
query: 如何更換花唄綁定銀行卡
search top 3:
    花唄更改綁定銀行卡: 0.8551
    我什么時(shí)候開通了花唄: 0.7212
    中央情報(bào)局局長(zhǎng)訪問以色列敘利亞會(huì)談: 0.2517
query: 花唄更改綁定銀行卡
search top 3:
    花唄更改綁定銀行卡: 1.0000
    我什么時(shí)候開通了花唄: 0.6807
    中央情報(bào)局局長(zhǎng)訪問以色列敘利亞會(huì)談: 0.2728
--------------------------------------------------

{0: {0: 0.8551465272903442, 1: 0.7211954593658447, 4: 0.25171342492103577}}

以上就是Python基于similarities實(shí)現(xiàn)文本語(yǔ)義相似度計(jì)算和文本匹配搜索的詳細(xì)內(nèi)容,更多關(guān)于Python文本相似度計(jì)算的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 基于Python制作一款屏幕顏色提取器

    基于Python制作一款屏幕顏色提取器

    這篇文章主要為大家介紹了如何利用Python制作一款簡(jiǎn)易的屏幕顏色提取器,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,感興趣的可以動(dòng)手試一試
    2022-03-03
  • python是怎么被發(fā)明的

    python是怎么被發(fā)明的

    在本篇文章里小編給大家分享的是關(guān)于python的由來(lái)等相關(guān)內(nèi)容,有興趣的朋友們學(xué)習(xí)參考下。
    2020-06-06
  • pyecharts調(diào)整圖例與各板塊的位置間距實(shí)例

    pyecharts調(diào)整圖例與各板塊的位置間距實(shí)例

    這篇文章主要介紹了pyecharts調(diào)整圖例與各板塊的位置間距實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • Python面向?qū)ο笕筇卣鳎豪^承、封裝和多態(tài)的深度解析

    Python面向?qū)ο笕筇卣鳎豪^承、封裝和多態(tài)的深度解析

    在面向?qū)ο蟪绦蛟O(shè)計(jì)中,對(duì)象可以看做是數(shù)據(jù)(特性)以及由一系列可以存取、操作這些數(shù)據(jù)的方法所組成的集合,Python是面向?qū)ο蟮恼Z(yǔ)言,支持面向?qū)ο缶幊痰娜筇匦裕豪^承、封裝(隱藏)、多態(tài),本文將逐一講解Python的三大特性
    2025-01-01
  • Flask利用自定義接口實(shí)現(xiàn)mock應(yīng)用詳解

    Flask利用自定義接口實(shí)現(xiàn)mock應(yīng)用詳解

    后端接口已提供,前端需要依賴后端接口返回的數(shù)據(jù)進(jìn)行前端頁(yè)面的開發(fā),如何配合前端?這篇就來(lái)介紹一下Flask如何利用自定義接口實(shí)現(xiàn)mock應(yīng)用,需要的可以參考一下
    2023-03-03
  • python學(xué)習(xí)之SpaCy庫(kù)的高級(jí)特性詳解

    python學(xué)習(xí)之SpaCy庫(kù)的高級(jí)特性詳解

    在之前的文章中,我們介紹了SpaCy庫(kù)的一些基本概念和功能,在這篇文章中,我們將深入學(xué)習(xí)一些更高級(jí)的特性,包括詞向量、依賴性解析、和自定義組件
    2023-07-07
  • Python中關(guān)于面向?qū)ο笾欣^承的詳細(xì)講解

    Python中關(guān)于面向?qū)ο笾欣^承的詳細(xì)講解

    面向?qū)ο缶幊?(OOP) 語(yǔ)言的一個(gè)主要功能就是“繼承”。繼承是指這樣一種能力:它可以使用現(xiàn)有類的所有功能,并在無(wú)需重新編寫原來(lái)的類的情況下對(duì)這些功能進(jìn)行擴(kuò)展
    2021-10-10
  • python GUI庫(kù)圖形界面開發(fā)之PyQt5控件QTableWidget詳細(xì)使用方法與屬性

    python GUI庫(kù)圖形界面開發(fā)之PyQt5控件QTableWidget詳細(xì)使用方法與屬性

    這篇文章主要介紹了python GUI庫(kù)圖形界面開發(fā)之PyQt5控件QTableWidget詳細(xì)使用方法與屬性,需要的朋友可以參考下
    2020-02-02
  • Django 開發(fā)調(diào)試工具 Django-debug-toolbar使用詳解

    Django 開發(fā)調(diào)試工具 Django-debug-toolbar使用詳解

    這篇文章主要介紹了Django 開發(fā)調(diào)試工具 Django-debug-toolbar使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python 京東云無(wú)線寶消息推送功能

    Python 京東云無(wú)線寶消息推送功能

    這篇文章主要介紹了Python 京東云無(wú)線寶消息推送功能,發(fā)送釘釘消息獲取可用積分,詳細(xì)配置文件通過(guò)實(shí)例代碼給大家講解的很詳細(xì),代碼+注釋講解的很詳細(xì),需要的朋友可以參考下
    2021-05-05

最新評(píng)論