文本相似度计算 By similarities
评论
收藏

文本相似度计算 By similarities

经验分享
K2022
2024-02-24 22:59·浏览量:1370
K2022
影刀认证工程师
发布于 2024-02-24 22:591370浏览

项目介绍:


similarities有很多功能,下面仅介绍 similarities的安装以及 文本相似度计算的使用方法 其他功能可以去项目原文查看: https://github.com/shibing624/similarities


安装:

要使用 similarities 的文本相似度计算 功能需要 安装 (similarities ,torch ,pydantic)这些库

在影刀中安装即可

模型下载:

这是我下载好的 百度网盘:

https://pan.baidu.com/s/1zbvkZ6Z8SM3Yhw-3HRXIxg?pwd=rj72

也可以自己去Huggingface 搜索 shibing624/text2vec-base-chinese 进行下载

下载好的模型找个地方解压好,使用的时候需要填模型的路径

代码示例:


# 使用提醒:
# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能
# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能
# 3. 当此模块作为流程独立运行时执行main函数
# 4. 可视化流程中可以通过"调用模块"的指令使用此模块

import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv

from similarities import BertSimilarity

def calculate_similarity(text1, text2, model_path):
    m = BertSimilarity(model_name_or_path=model_path)
    r = m.similarity(text1, text2)
    return round(float(r), 2)



def main(args):
    # 示例
    # 模型路径
    model_path = r"D:\Work\python_project\model\text2vec-base-chinese"
    text1 = '如何更换花呗绑定银行卡'
    text2 = '花呗更改绑定银行卡'

    similarity_score = calculate_similarity(text1, text2, model_path)
    print(f"相似度: {similarity_score}")

GPU模式(加个参数):

环境配置参考我上个帖子中GPU模式的说明: https://www.yingdao.com/community/detaildiscuss?id=e4c9c725-7c7c-4cd8-952f-1aeac275d7a9&tag=&from=userCenter&sort=createTime&page=1

# 使用提醒:
# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能
# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能
# 3. 当此模块作为流程独立运行时执行main函数
# 4. 可视化流程中可以通过"调用模块"的指令使用此模块

import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv

from similarities import BertSimilarity

def calculate_similarity(text1, text2, model_path):
    m = BertSimilarity(model_name_or_path=model_path,device="cuda")
    r = m.similarity(text1, text2)
    return round(float(r), 2)



def main(args):
    # 示例
    # 模型路径
    model_path = r"D:\Work\python_project\model\text2vec-base-chinese"
    text1 = '如何更换花呗绑定银行卡'
    text2 = '花呗更改绑定银行卡'

    similarity_score = calculate_similarity(text1, text2, model_path)
    print(f"相似度: {similarity_score}")

效果演示:


收藏15
全部评论1
最新
发布评论
评论