pytorch实现文本摘要

人工智能例子汇总:AI常见的算法和例子-CSDN博客

复制代码
import numpy as np

from modelscope.hub.snapshot_download import snapshot_download
from transformers import BertTokenizer, BertModel
import torch

# 下载模型到本地目录
model_dir = snapshot_download('tiansz/bert-base-chinese', cache_dir='./bert-base-chinese')
print(f"模型已下载到: {model_dir}")

# 本地模型路径
model_path = model_dir  # 使用下载的模型路径

# 从本地加载分词器和模型
tokenizer = BertTokenizer.from_pretrained(model_path)
model = BertModel.from_pretrained(model_path)


def get_sentence_embeddings(text):
    """
    获取输入文本的句子级别嵌入(BERT模型的输出)用于摘要任务
    """
    inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True)
    with torch.no_grad():
        outputs = model(**inputs)
    # 获取最后一层的[CLS] token的嵌入向量作为句子的表示
    return outputs.pooler_output.detach().numpy()


def summarize(text, num_sentences=3):
    """
    使用抽取式摘要从输入文本中提取最重要的句子
    """
    sentences = text.split("。")  # 以句号分割句子
    sentence_embeddings = []

    for sentence in sentences:
        embedding = get_sentence_embeddings(sentence)
        sentence_embeddings.append(embedding)

    # 使用句子得分来排序
    sentence_scores = np.array([embedding[0][0] for embedding in sentence_embeddings])
    ranked_sentences = [sentences[i] for i in sentence_scores.argsort()[-num_sentences:][::-1]]

    # 返回排名靠前的句子
    return "。".join(ranked_sentences)


# 示例中文文本
text = """
机器学习(Machine Learning,简称 ML)是人工智能(AI)领域的一个分支,重点研究开发能够使计算机在没有明确编程指令的情况下进行任务的算法和统计模型。机器学习通过从数据中学习,识别模式,并根据少量人为干预做出决策。 
近年来,深度学习(Deep Learning)作为机器学习的一个子集,取得了显著的进展,尤其是在计算机视觉、自然语言处理和语音识别等领域。 
深度学习技术使用多层神经网络结构,能够通过处理大量的数据来自动提取特征,从而提高机器学习的性能。 
目前,人工智能已经在多个行业中得到广泛应用,包括医疗健康、金融、自动驾驶等领域。
"""

# 获取摘要
summary = summarize(text)
print("原文:\n", text)
print("\n摘要:\n", summary)

~困了🥱,通宵写了一个晚上

结果:

复制代码
Downloading Model to directory: ./bert-base-chinese/tiansz/bert-base-chinese
模型已下载到: ./bert-base-chinese/tiansz/bert-base-chinese
Asking to truncate to max_length but no maximum length is provided and the model has no predefined maximum length. Default to no truncation.
原文:
 
机器学习(Machine Learning,简称 ML)是人工智能(AI)领域的一个分支,重点研究开发能够使计算机在没有明确编程指令的情况下进行任务的算法和统计模型。机器学习通过从数据中学习,识别模式,并根据少量人为干预做出决策。 
近年来,深度学习(Deep Learning)作为机器学习的一个子集,取得了显著的进展,尤其是在计算机视觉、自然语言处理和语音识别等领域。 
深度学习技术使用多层神经网络结构,能够通过处理大量的数据来自动提取特征,从而提高机器学习的性能。 
目前,人工智能已经在多个行业中得到广泛应用,包括医疗健康、金融、自动驾驶等领域。


摘要:
  
目前,人工智能已经在多个行业中得到广泛应用,包括医疗健康、金融、自动驾驶等领域。机器学习通过从数据中学习,识别模式,并根据少量人为干预做出决策。 
深度学习技术使用多层神经网络结构,能够通过处理大量的数据来自动提取特征,从而提高机器学习的性能
相关推荐
魔都吴所谓1 分钟前
【我的开源】Python实现一个离线 PDF 工具箱:架构、骑缝章与踩坑记录
python·pdf·开源
FRing032 分钟前
什么是AI、模型和token、vibecoding介绍、ClaudeCode环境搭建
人工智能·ai应用开发·智能体开发
深圳市益普科技有限公司3 分钟前
Micro-LED量产线MES在巨量转移这一段,该管到多细
人工智能
AI砖家5 分钟前
验证码与接口防刷完整落地方案
网络·人工智能·安全验证
奋进小青6 分钟前
2026年CNN与Transformer融合的创新点思路
人工智能·cnn·transformer
阿文和她的Key9 分钟前
DeepInfer 与 TorchTPU 同日开源:供应商锁定的成本结构正在被重写
网络·人工智能·架构·开源
lucas_AI9 分钟前
AI 阅卷的第一道坎:学生涂改的叉,模型读成了答案
人工智能
AI Workforce10 分钟前
数据质量:4 层去重 + 黑名单机制——宁可漏杀,不可错杀
大数据·人工智能·ai·架构·prompt
中烟创新11 分钟前
中烟创新×某烟草公司 | 企业综合管理平台:从“系统林立”到“一个平台”
人工智能·深度学习·中烟创新
进击的雷神13 分钟前
怕 AI Agent 乱删文件?Tank-OS 把它锁进不可变系统
人工智能·ai·api·agent