【Educoder数据挖掘实训】用SMC相似度计算文本之间的相似度

【Educoder数据挖掘实训】用SMC相似度计算文本之间的相似度

开挖!

还是计算文本之间相似度的实训,跟前两关区别不大。

需要注意的是 S M C SMC SMC的计算方式 s = f 11 + f 00 f 11 + f 00 + f 10 + f 01 s = \frac{f11+f00}{f11+f00+f10+f01} s=f11+f00+f10+f01f11+f00

代码如下:

python 复制代码
import numpy as np  
import jieba  
jieba.setLogLevel(jieba.logging.INFO)  
  
def smc_similarity(sentence1: str, sentence2: str) -> float:  
    # 1. 实现文本分词  
    ########## Begin ##########
    seg1 = [word for word in jieba.cut(sentence1)]  
    seg2 = [word for word in jieba.cut(sentence2)]  
    ########## End ##########
    # 2. 建立词库  
    ########## Begin ##########
    word_list = list(set([word for word in seg1 + seg2]))  
    ########## End ##########
    # 3. 统计各个文本在词典里出现词的次数  
    ########## Begin ##########
    word_counts_1 = np.array([len([word for word in seg1 if word==w]) for w in word_list])  
    word_counts_2 = np.array([len([word for word in seg2 if word==w]) for w in word_list])  
    ########## End ##########
    # 4. 余弦公式  
    ########## Begin ##########
    f00 = np.sum((word_counts_1 == 0) & (word_counts_2 == 0))  
    f01 = np.sum((word_counts_1 == 0) & (word_counts_2 != 0))  
    f10 = np.sum((word_counts_1 != 0) & (word_counts_2 == 0))  
    f11 = np.sum((word_counts_1 != 0) & (word_counts_2 != 0))  
    smc = (f00 + f11) / (f01 + f10 + f00 + f11)  
    ########## End ##########
      
    return smc  
  
str1 = "我爱北京天安门"  
str2 = "天安门雄伟壮阔让人不得不爱"  
  
sim1 = smc_similarity(str1, str2)  
  
print(sim1)
相关推荐
初恋叫萱萱3 小时前
深入解析 Rust + LLM 开发:手把手教你写一个 AI 运维助手
运维·人工智能·rust
AI大模型..3 小时前
Dify 本地部署安装教程(Windows + Docker),大模型入门到精通,收藏这篇就足够了!
人工智能·程序员·开源·llm·github·deepseek·本地化部署
小陈phd6 小时前
多模态大模型学习笔记(七)——多模态数据的表征与对齐
人工智能·算法·机器学习
摆烂小白敲代码6 小时前
腾讯云智能结构化OCR在物流行业的应用
大数据·人工智能·经验分享·ocr·腾讯云
CoderJia程序员甲7 小时前
GitHub 热榜项目 - 日榜(2026-02-24)
人工智能·ai·大模型·github·ai教程
nimadan127 小时前
**AI漫剧软件2025推荐,解锁高性价比创意制作新体验**
人工智能·python
前网易架构师-高司机7 小时前
带标注的安全带和车牌识别数据集,识别率在88.8%,可识别挡风玻璃,是否系安全带,车牌区域,支持yolo,coco json,pascal voc xml格式
人工智能·数据集·交通违法·违法拍摄·安全带
Bal炎魔7 小时前
AI 学习专题一,AI 实现的原理
人工智能·学习
kjmkq7 小时前
办公智能体落地:九科信息让AI深度融入企业日常运营
人工智能
NAGNIP7 小时前
一文搞懂神经元模型是什么!
人工智能·算法