AI夏令营-NLP实践教程笔记(2023/07/21)

一、赛题信息

1.1 赛题描述

  • 基于论文摘要进行文本分类关键词提取任务
  • 任务1:判断论文是否属于医学领域
  • 任务2:从论文中提取关键词

1.2 数据格式

  • 训练集和测试集为CSV格式
  • 字段包括标题作者摘要标签

二、文本分类

2.1 传统方法

代码精读:

# 使用CountVectorizer进行BOW向量化
vector = CountVectorizer().fit(train['text']) 
train_vector = vector.transform(train['text'])

# 逻辑回归分类模型
model = LogisticRegression()  
model.fit(train_vector, train['label'])

# 对测试集预测
test['label'] = model.predict(test_vector)
  • 使用CountVectorizer对文本进行词袋向量化
  • 采用逻辑回归LogisticRegression作为分类模型
  • 对测试集进行预测,获得预测标签

三、关键词提取

3.1 基于词频

代码精读:

def extract_keywords(title, abstract):

  # 分词
  words = tokenize(title + abstract) 
  
  # 统计词频
  word_counts = Counter(words)  
  
  # 返回高频词
  return word_counts.most_common(5)
  • 对标题和摘要进行分词
  • 使用Counter统计词频
  • 返回词频最高的前5个词语作为关键词

3.2 基于BERT相似度

代码精读:

# 获取词向量 
title_embedding = bert_model(title)
word_embeddings = bert_model(words)

# 计算相似度
similarities = cosine_similarity(title_embedding, word_embeddings)

# 返回最相似词语
keywords = [words[idx] for idx in similarities.argsort()[-5:]]
  • 通过BERT模型获得标题和词语的词向量
  • 计算向量间的余弦相似度
  • 返回与标题向量最相似的5个词

三、关键词提取

3.1 基于词频

  1. 计算词频
  2. 设置停用词
  3. 返回高频词

3.2 基于BERT相似度

  1. 获取文档和标题的词向量
  2. 计算词向量的余弦相似度
  3. 返回与标题最相似的词

四、进阶技巧

  • 尝试大模型微调,如ChatGLM
  • 不断调参,结合规则提升效果

五、环境配置

  • 视频和文档教程配套
  • 按照步骤配置Python和Jupyter环境
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值