【python】 对上市银行的年报信息进行语义挖掘,计算各银行年报中与金融科技有关的关键词的词向量的余弦相似性,衡量银行的金融科技发展程度。

目录

引言

文本预处理

数据收集

​编辑​编辑

文本清洗

词向量的训练

Word2Vec 的两种主要模型

Word2Vec 的工作原理

训练过程

Word2Vec 的应用

训练模型

建立银行应用金融科技的关键词词库

  关键词

 计算余弦相似度

统计关键词词频

引言

随着金融科技的迅猛发展,其在银行业的应用日益广泛且深入,成为推动银行业数字化转型的重要力量。金融科技不仅改变了传统银行的业务模式和服务方式,还极大地提升了银行的服务效率、风险管理能力和客户体验。因此,准确评估各上市银行在金融科技领域的发展程度,对于理解银行业未来的发展趋势、制定有效的战略决策具有重要意义。

本文旨在通过语义挖掘技术,对上市银行的年报信息进行深入分析,以金融科技相关的关键词为切入点,计算这些关键词词向量的余弦相似性,从而量化衡量各银行在金融科技领域的投入与成效。词向量是自然语言处理中的一项关键技术,它能够将词汇映射到高维向量空间中,使得语义上相似的词汇在向量空间中的位置也相近。通过计算词向量的余弦相似性,我们可以评估不同银行年报中金融科技相关内容的相似度,进而推断出各银行在金融科技领域的发展水平和差异。

具体而言,我们将首先收集并整理上市银行的年报信息,然后利用自然语言处理工具提取金融科技相关的关键词。接下来,采用先进的词嵌入模型(如Word2Vec、BERT等)训练得到这些关键词的词向量。随后,计算各银行年报中金融科技关键词词向量的平均余弦相似性,以此作为衡量银行金融科技发展程度的量化指标。

通过这种方法,我们不仅能够揭示各银行在金融科技领域的相对位置和竞争优势,还能够为银行业金融机构提供有价值的参考信息,帮助其更好地把握金融科技的发展趋势,制定符合自身特点的数字化转型战略。同时,本文的研究也将为学术界和业界探讨金融科技对银行业的影响提供新的视角和思路。

文本预处理

数据收集

首先,需要收集各家上市银行的年报信息。可以通过访问银行官方网站或财经数据提供商获取。

年报通常位于各大银行官网的投资者关系里

文本清洗

  • 分词:使用中文分词工具(如jieba、HanLP等)对年报文本进行分词。
  • 去除标点和停用词:通过正则表达式或其他工具去除文本中的标点符号和停用词(如“的”、“了”、“在”等常见但无实际意义的词汇)。
  • 文本提取:提取出年报中描述银行经营情况的文本部分,这可能需要一些手动筛选或使用正则表达式来定位特定章节。
# 加载停用词列表
with open("./stop_words.gb18030.txt", encoding='gb18030') as f:stopword_list = set(line.strip() for line in f.readlines())
 # 文本预处理:分词、去除标点和停用词seg_list = jieba.cut(text, cut_all=False)filtered_words = [word for word in seg_list if word not in stopword_list and word.strip().isalnum()]filtered_text = ' '.join(filtered_words)

常见的停用词列表如下:

中文停用词表; 哈工大停用词表; 百度停用词表; 机器智能实验室停用词库

链接:https://pan.baidu.com/s/1wb3CdvL-OOWsveKzfkG8og?pwd=0oq7 提取码:0oq7

词向量的训练

Word2Vec 是一种广泛使用的词嵌入方法,它能够将词汇表中的单词或短语映射到高维向量空间中,使得语义上相似的单词在向量空间中的位置也相近。这种方法由 Mikolov 等人在 2013 年提出,并因其高效性和有效性而迅速在自然语言处理(NLP)领域流行开来。

Word2Vec 的两种主要模型

Word2Vec 主要有两种实现方式:Skip-Gram 和 CBOW(Continuous Bag of Words)。

  1. Skip-Gram
    • 在 Skip-Gram 模型中,目标是使用当前词来预测其上下文(即周围的词)。
    • 具体来说,给定一个中心词(center word),模型的目标是最大化从该中心词生成其上下文词(context words)的概率。
    • 这种方法在训练稀有词时通常更有效,因为即使这些词出现的次数很少,也可以通过观察它们的上下文来学习它们的有效表示。
  2. CBOW
    • 与 Skip-Gram 相反,CBOW 模型使用上下文词来预测中心词。
    • 它通过取上下文词的向量表示的平均值(或加权平均值),然后使用这个平均值来预测中心词。
    • CBOW 通常比 Skip-Gram 更快且更容易训练,特别是在大规模数据集上,但在处理罕见词时可能不如 Skip-Gram 有效。

Word2Vec 的工作原理

  • 输入层:接收一个词的索引(通常是在词汇表中的位置),并将其转换为独热编码(one-hot encoding)。
  • 隐藏层:这个层没有激活函数,实际上它只是一个查找表,将每个词的独热编码映射到一个密集的向量表示(即词向量)。
  • 输出层:在 Skip-Gram 中,输出层是一个 softmax 层,用于预测给定中心词的上下文词。在 CBOW 中,输出层也是 softmax 层,但用于预测中心词本身。

训练过程

  • 使用反向传播算法和梯度下降(或其变体,如随机梯度下降 SGD)来训练模型。
  • 在训练过程中,模型会调整隐藏层的权重(即词向量),以最小化预测错误。
  • 随着训练的进行,语义上相似的词会逐渐在向量空间中聚集在一起。

Word2Vec 的应用

Word2Vec 生成的词向量在多种 NLP 任务中都非常有用,包括但不限于:

  • 文本分类
  • 情感分析
  • 命名实体识别
  • 机器翻译
  • 问答系统
  • 语义相似度计算

通过 Word2Vec,我们可以将文本数据转换为数值形式,从而能够利用机器学习算法来处理和分析这些数据。这种方法不仅提高了自然语言处理任务的准确性,还大大简化了特征工程的过程。

训练模型

  • 数据准备:将清洗后的文本转换为适合Word2Vec模型输入的格式(通常是词列表)。
  • 参数设置:设置Word2Vec模型的参数,如向量维度(size)、窗口大小(window)、最小词频(min_count)等。
  • 训练:使用年报文本数据训练Word2Vec模型。
import os
import re
import jieba
from gensim.models import Word2Vecbase_dir = 'data'
sentences = []# 遍历文件夹和文件
for root, dirs, files in os.walk(base_dir):for file in files:if file.endswith('.txt'):file_path = os.path.join(root, file)with open(file_path, 'r', encoding='utf-8') as f:content = f.read()# 使用正则表达式去除单个字母和数字cleaned_content = re.sub(r'\b[a-zA-Z0-9]\b', '', content)# 使用jieba进行分词words = list(jieba.cut(cleaned_content, cut_all=False))# 使用分词结果作为句子sentences.append(words)# 训练Word2Vec模型
model = Word2Vec(sentences, vector_size=200, window=5, min_count=10, workers=4)# 保存模型
model_name = "bank_word2vec_model.model"
model.save(model_name)

建立银行应用金融科技的关键词词库

  关键词

  数字化', '智能', '互联网', '线上', '智能化', '供应链', '在线', '人工智能', '自动化',
    '网银', '网上银行', '电商', '网上', '数据中心', '机器人', '分布式', '电子化', '5G',
    '电子商务', '开放平台', '数据挖掘', '人脸识别', '网络化', 'O2O', 'B2B', '云端', '上云',
    '云化', '数据模型', '智慧型', '网上支付', '数据仓库', '量子', 'B2C', '数据共享', '声纹识别',
    'C2B', '人机交互', 'C2C', '虚拟化', '程序接口', '神经网络', '网上交易', '仿真',
    '虚拟现实', '模式识别'

 计算余弦相似度

  • 词向量查询:使用训练好的Word2Vec模型查询每个关键词的词向量。
  • 计算相似度:利用词向量的余弦相似度来度量关键词之间的关联性。余弦相似度可以通过numpy库中的cosine函数计算。
from gensim.models import Word2Vec
# 加载Word2Vec模型
model_path = "bank_word2vec_model.model"
model = Word2Vec.load(model_path)# 定义关键词库
keywords = ['数字化', '智能', '互联网', '线上', '智能化', '供应链', '在线', '人工智能', '自动化','网银', '网上银行', '电商', '网上', '数据中心', '机器人', '分布式', '电子化', '5G','电子商务', '开放平台', '数据挖掘', '人脸识别', '网络化', 'O2O', 'B2B', '云端', '上云','云化', '数据模型', '智慧型', '网上支付', '数据仓库', '量子', 'B2C', '数据共享', '声纹识别','C2B', '人机交互', 'C2C', '虚拟化', '程序接口', '神经网络', '网上交易', '仿真','虚拟现实', '模式识别'
]from sklearn.metrics.pairwise import cosine_similarity
import osdef print_similarities_to_file(keywords, model, output_file):with open(output_file, 'w', encoding='utf-8') as f:for i in range(len(keywords)):for j in range(i + 1, len(keywords)):word1, word2 = keywords[i], keywords[j]if word1 in model.wv and word2 in model.wv:sim = cosine_similarity(model.wv[word1].reshape(1, -1), model.wv[word2].reshape(1, -1))[0][0]f.write(f"{word1} 和 {word2} 的余弦相似度为: {sim:.4f}\n")output_file = 'similarities.txt'# 调用修改后的函数
print_similarities_to_file(keywords, model, output_file)# 验证文件是否已创建
if os.path.exists(output_file):print(f"余弦相似度已成功导出到文件:{output_file}")
else:print("导出文件时出现问题,请检查代码和文件路径。")

统计关键词词频

import os
import jieba
import collections
import pandas as pd
import re# 设置文件夹路径
base_dir = 'data'# 用于存储所有文件的词频
word_freq = collections.Counter()def is_valid_word(word):# 排除空格、单个字符、数字等if len(word) == 1 or word.isdigit() or not re.match(r'[\u4e00-\u9fa5]+', word):  # 只保留中文字符return Falsereturn True# 遍历文件夹和文件
for root, dirs, files in os.walk(base_dir):for file in files:if file.endswith('.txt'):file_path = os.path.join(root, file)with open(file_path, 'r', encoding='utf-8') as f:content = f.read()# 使用jieba进行分词words = jieba.cut(content, cut_all=False)# 筛选有效的词语并更新全局词频计数器for word in words:if is_valid_word(word):word_freq.update([word])# 对词频进行排序,这里选择前1000个高频词
top_words = word_freq.most_common(1000)# 将高频词及其词频转换为DataFrame
df = pd.DataFrame(top_words, columns=['Word', 'Frequency'])# 写入Excel文件
df.to_excel('words.xlsx', index=False)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/45382.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端面试题54(断点续传讲解)

断点续传是一种在上传或下载大文件时,如果因为网络问题中断,可以从已经上传或下载的部分继续,而不是重新开始的技术。这对于提高用户体验和节省带宽非常有帮助。下面我将分别从HTTP协议层面、前端实现思路以及一个简单的前端实现示例来讲解断…

linux权限深度解析——探索原理

前言:本节内容主要讲述的是linux权限相关的内容, linux的权限如果使用root账号是感受不到的, 所以我们要使用普通账号对本节相关内容进行学习,以及一些实验的测试。 然后, 通过linux权限的学习我们可以知道为什么有时候…

合合TextIn - 大模型加速器

TextIn是合合信息旗下的智能文档处理平台,在智能文字识别领域深耕17年,致力于图像处理、模式识别、神经网络、深度学习、STR、NLP、知识图谱等人工智能领域研究。凭借行业领先的技术实力,为扫描全能王、名片全能王等智能文字识别产品提供强大…

SpringBoot相关

SpringBoot 1. what springboot也是spring公司开发的一款框架。为了简化spring项目的初始化搭建的。 spring项目搭建的缺点: 配置麻烦依赖繁多tomcat启动慢 2 .springboot的特点(why) 自动配置 springboot的自动配置是一个运行时(更准确地说,是应用程…

关于斯坦福TTT,大家难道没啥可唠的嘛~?

TTT与transformer也好或manba也好它们之间背后的本质思想,表面上来看是对上下文进行状态表征压缩,再细想来看,均是一种对输入自身结构的一种线性建模变换,不过三者间所采用线性建模方法和策略各有不同和优劣,而TTT在这…

【C++ Primer Plus】学习笔记1

文章目录 前言一、预备知识二、基本语法1.main函数2.有返回值的函数C程序应当为程序中使用的每个函数提供原型3.自定义函数 总结 前言 一直没系统学过C,最近接触了一段时间Java发现还是不太喜欢,所以转向C开发了qaq。因为学过C语言不算零基础了&#xf…

软件杂志软件杂志社软件编辑部2024年第4期目录

基金项目论文 “互联网”环境下智慧教育支撑平台的架构研究 黄孔曜; 1-3 基于机器学习的Web网络爬虫算法优化研究 刘俊培;贾继洋;班岚;迟欢;孙沛叶; 4-7 基于Ant Design Pro的物流系统前端开发与用户体验优化研究 王菊雅; 8-10《软件》投稿:cnqikantg12…

【建议收藏】一万字图文并茂,终于有人把GPT的玩法整理全了

1. 学生常用 1.1 辅导作业、写作业 打数学建模和写期末作业~ Openai GPT-4o 模型从 2024 年 5 月发布以来,作为各项性能评测综合第一的 GPT。 对于法律类,语言类的作业,随意秒杀了!! 所以我决定让他做一道高等数学…

keepalived+nginx实现高可用

1. keepalived需要了解的知识 1.1 业务场景: 如果我们有个网站,最开始只有一台服务器对用户提供服务,业务架构图如下: 当业务量增大时,这台服务器支撑不了那么大的流量,随时会出现宕机的风险,…

Dr4g0nb4ll靶机

信息收集 使用arp-scan生成网络接口地址,查看ip 输入命令: arp-scan -lnmap扫描端口开放 TCP 输入命令: nmap --min-rate 10000 -p- 192.168.187.184 //以最低10000的发包速率扫描全部端口可以看到目标只开放http的22和80端口 UDP …

鸿蒙Harmony--文本组件Text属性详解

金樽清酒斗十千,玉盘珍羞直万钱。 停杯投箸不能食,拔剑四顾心茫然。 欲渡黄河冰塞川,将登太行雪满山。 闲来垂钓碧溪上,忽复乘舟梦日边。 行路难,行路难,多歧路,今安在? 长风破浪会有…

2024最新国际版抖音TikTok安装教程,免root免拔卡安卓+iOS,附全套安装工具!

我是阿星,今天给大家带来是2024年最新TikTok国际版抖音的下载和安装教程,而且还是免root免拔卡的那种,安卓和iOS都能用哦!由于某些原因,国内用户并不能使用TikTok。今天阿星就教一下大家怎么安装TikTok。 TikTok在全球…

张爱华:身残志坚谱写人间大爱 推己及人彰显巾帼风采

张爱华,女,1963年2月出生,响水县聚贤养老协会会长、响水县小尖镇爱华老年公寓院长。张爱华因患小儿麻痹症导致下肢重度残疾,但她身残志坚,通过创办服装厂慢慢走上致富之路。2011年,她先后筹资、贷款600多万…

UART串口通信实验

一.通信种类 1.1按照数据通信方式 1.1.1串行通信 优点:占用的引脚少,成本低 缺点:传输速度慢 适用场合:长距离、低速率的通信场合 1.1.2并行通信 优点:传输速率快 缺点:占用引脚多,成本…

【开源项目的机遇与挑战】探索、贡献与应对

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《热点时事》 期待您的关注 目录 引言 一:开源项目的发展趋势 🍃开源项目的蓬勃发展现状 🍃开…

VSCode 远程反复输入密码不能链接问题解决

通过 vscode 远程连接服务器时出现了连接不上,而且一直要循环输入密码的问题,可能是因为上次异常退出导致。 主要解决思路是删除当前 vscode 远端服务后,重新建立连接。 解决方法一 在 vscode 端接口删除 vscode 服务。 View->Commond…

vue 使用腾讯地图 标点 自定义瓦片 折线配置

vue 使用腾讯地图 标点 自定义瓦片 折线配置 申请腾讯地图秘钥 key 腾讯地图开发者 https://lbs.qq.com/dev/console/application/mine 腾讯地图开发文档 https://lbs.qq.com/webApi/javascriptGL/glGuide/glOverview 添加 key 代码中引入 // 入口文件 index.html // 填…

【通信原理】其实QPSK就是一种特殊的QAM,即4-QAM

文章目录 幅度调制和相位调制QPSK(Quadrature Phase Shift Keying)QAM(Quadrature Amplitude Modulation)QPSK作为4-QAMQPSK(Quadrature Phase Shift Keying)和QAM(Quadrature Amplitude Modulation)都是数字调制技术,用于在无线信号中传输数据。要理解“QPSK其实就是…

新旧电脑数据转移方法

随着科技的发展和电脑性能的不断提升,许多用户在工作和生活中都需要更换新电脑。当我们购买了一台新电脑后,如何将旧电脑中的数据转移到新电脑上成许多用户关注的问题。本文将详细介绍几种有效的电脑数据转移方法,帮助大家顺利完成数据迁移。…

国产麒麟、uos在线编辑word文件并控制编辑区域(局部编辑)

windows系统也适用,该插件可同时支持windows和国产系统 在实际项目开发中,以下场景可能会用到Word局部编辑功能: 合同审批公文流转策划设计报告汇签单招投标(标书文件)其他,有模板且需要不同人员协作编辑…