栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

文本相似度匹配

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

文本相似度匹配

字符串相似度

import difflib
difflib.SequenceMatcher(None, string1, string2).ratio()

安装gensim包(http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud cp36表示python3.6)

pip36 install gensim-3.8.3-cp36-cp36m-win_amd64.whl
词向量平均模型-AVG
import codecs
import os
import shutil

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics.pairwise import cosine_similarity


def bow_cosine(s1, s2):
    vectorizer = CountVectorizer()
    vectorizer.fit([s1, s2])
    X = vectorizer.transform([s1, s2])  # 得到s1,s2用bag of words方式表示的向量
    # print(X.toarray())
    # 得到两段文本的差值
    print(cosine_similarity(X[0], X[1])[0][0])
    return cosine_similarity(X[0], X[1])[0][0]

# txts是个列表,每个元素存放着jieba目录下的文件名
txts = os.listdir('jieba')
length = len(txts)
for i in range(0, length-1):
        print(txts[i],txts[i+1])
        txt1 = codecs.open('jieba\'+str(txts[i]), 'r', encoding='utf-8').read()
        txt2 = codecs.open('jieba\'+str(txts[i+1]), 'r', encoding='utf-8').read()
        if(bow_cosine(txt1, txt2) < 0.4):
            # 0表示截取'.'前面的字符串
            result = codecs.open('keytxt\'+str(txts[i]), 'w', encoding='utf-8')
            result.write(txt1)
            # 提取对应的帧,这个帧就是关键帧
            shutil.copy('frame/' + str(txts[i].split('\')[-1].split('.')[0]) + '.jpg',
                        'keyframe/' + str(txts[i].split('\')[-1].split('.')[0]) + '.jpg')
result.close()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/926266.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号