使用jieba对新闻标题进行切词,然后使用word2vec训练词向量及相似词计算的一个小例子

Posted Icy Hunter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jieba对新闻标题进行切词,然后使用word2vec训练词向量及相似词计算的一个小例子相关的知识,希望对你有一定的参考价值。

这个主要是我想记下来方便以后用的时候好直接copy
这个例子就是跑流程的,里面的参数都是随便设的,效果不怎么好,但是流程总得跑通吧。

首先是停用词表见
https://blog.csdn.net/qq_52785473/article/details/122639365?spm=1001.2014.3001.5502
然后是数据2022-1-21-21.csv文件如下(例子里就使用了新闻标题):

时间,新闻标题,新闻内容
(012100:03),30万股民沸腾!5家中企获准免费仿制新冠口服药,两只股票预定涨停板?这家上市公司也受益,利好多大?,121日上午,A股低开低走,表现疲累,当日旅游股逆势走高,现涨停潮。Wind资讯数据显示,截至中午收盘,(000428.SZ)、(600706.SH)、(002059.SZ)等个股均涨停,其中曲江文旅一开盘便现一字板涨停。此外,(002707.SZ)也在盘中几度涨停,截至中午收盘涨8.82%。截至当日中午收盘,凯撒旅游(000796.SZ)、(603199.SH)涨幅均超6%;(600138.SH)涨逾4%;(600749.SH)、(601007.SH)、(603099.SH)、(000888.SZ)、(000978.SZ)等涨幅均超3%。消息面上,120日,国务院发布关于印发《“十四五”旅游业发展规划》(下称《规划》)的通知。《规划》指出,“十四五”时期,中国将全面进入大众旅游时代,旅游业发展仍处于重要战略机遇期,但机遇和挑战都有新的发展变化。《规划》明确,到2025年,旅游业发展水平不断提升,现代旅游业体系更加健全,旅游有效供给、优质供给、弹性供给更为丰富,大众旅游消费需求得到更好满足。疫情防控基础更加牢固,科学精准防控要求在旅游业得到全面落实。国内旅游蓬勃发展,出入境旅游有序推进,旅游业国际影响力、竞争力明显增强,旅游强国建设取得重大进展。《规划》表示,分步有序促进入境旅游、稳步发展出境旅游、深化与港澳台地区合作、深化旅游国际合作等;适时启动入境旅游促进行动,出台入境旅游发展支持政策,审时度势采取有力措施推动入境旅游高质量发展。《规划》还指出,推动出境旅游目的地国家给予我国普通护照免签便利,支持有条件的国内旅游企业跟随中国游客“走出去”,构建海外旅游接待网络,加强国际化布局,参与全球竞争。北京第二外国语学院教授、中国社会科学院旅游研究中心特约研究员厉新建向澎湃新闻(www.thepaper.cn)表示,《规划》以国务院文件形式发布,再次说明了旅游业在中国社会经济发展新阶段新格局中的重要地位。同时,《规划》明确提出要在疫情防控常态化条件下创新提升国内旅游,在国际疫情得到有效控制前提下分步有序促进入境旅游、稳步发展出境旅游,这既客观理性地估计了新冠疫情的影响,也提出了新阶段三大市场的发展的新方针、新方向。同程研究院首席研究员程超功指出,在宏观视角上,《规划》解决了顶层设计几个方面的迭代问题。首先是新发展阶段旅游业在国民经济中的地位和角色——从国民经济支柱产业上升到了幸福产业的高度,契合了高质量发展时期的社会主要矛盾的变化;其次是明确了旅游业在新发展格局之下与乡村振兴等国家战略的关系,肯定了旅游业在经济结构转型中的重要作用;最为重要的是,规划提出了“旅游强国”2035年的远景目标,从旅游大国到旅游强国,这是旅游业高质量发展的核心目标。厉新建认为,整个《规划》在“三新一高”的发展总要求、稳中求进的工作总基调下,突出了旅游为民、文旅融合、系统推动、创新发展的发展总思路,谋划了“十四五”期间的战略重点,梳理了战略措施,明确了战略抓手。《规划》既有战略高度,又有战术力度,必将在实现旅游强国目标的进程中发挥重大作用。相信通过产品创新、技术创新、理念创新、组织创新、政策创新等一系列的创新,通过旅游行业上上下下的共同努力,旅游业发展的明天一定会更加美好。责任编辑:刘秀浩 图片编辑:陈飞燕责任编辑:陈悠然 
(012100:41),对公私募联手坐庄要零容忍,121日消息,三大指数集体低开,随后持续震荡走低,创业板指,深成指均跌超1%,沪指跟随下行。板块方面,受政策利好消息刺激,旅游、航空等板块集体拉升,白酒、煤炭等板块走强,盐湖提锂板块回暖;新冠检测、新冠特效药板块现跌停潮 ,医疗器械、中药等医药股集体走弱、养殖业、云游戏、元宇宙、房地产等板块低迷。总体而言,个股呈普跌态势,赚钱效应较弱,上午半天成交达6900亿元。随着指数的下行,今天上午收盘上证指数6090120分钟的MACD均死叉了,90分钟要到14点确定 ,意味着下午开始,如果收盘也新低的话,多周期底背离条件就开始逐一触发了,如果提前涨一点,就都要后移!随着去年经济数据的出炉,经济的回暖给市场带来基本面的支撑。而三大重要利率的调降下,货币宽松周期延续,市场流动性宽松的预期不断增强,对市场的提振也是不言而喻的。当前市场仍处于阶段磨底过程中,在多重积极因素的带动下,整体向好的逻辑没有改变,依旧看好当前的春季行情。下午,沪市大盘股指向上反弹的盘中压力位分别35383546点,重压力是3563点;回落调整的盘中支撑位分别是3518点和3507点,强支撑位3500点。责任编辑:凌辰 SF179
(012100:41),对症低生育率 三孩配套发力生育养育教育,莲花山士丹利金融研究核心观点【宏观 马瑞超】冬奥新场景落地,该把握哪些赛道机遇回顾微信支付“破圈”历程可以发现,场景决定了数字人民币能否为市场所接受。伴随着北京冬奥的临近,数字人民币将测试“10+1”试点体系中的关键场景——跨境支付。冬奥会开启的跨境支付场景可充分展示数字人民币的独特魅力,数字人民币在隐私保护、便捷支付、货币兑换、场景定制等方面更加贴合境外人士使用习惯,可显著优化跨境支付体验。借助冬奥提供的推广契机,数字人民币在跨境支付场景下的应用将逐渐为市场接受,后疫情时期的国际旅行、中国—东盟经贸往来,以及粤港澳大湾区建设都将为数字人民币提供长期应用场景,数字人民币产业链与传统银行业都将从中受益。产业链方面,数字人民币硬件设备商将受益于数字人民币硬钱包带来的市场机遇,而软件开发商将受益于国内外银行系统升级带来的业务增长。银行方面,数字人民币的跨境应用还会通过“溢出效应”利好银行传统业务,其中零售支付、外币兑换、跨境汇款首当其冲。【策略 陈刚】数字人民币是今年重点关注的赛道之一(1)从政策角度看,202216日,国务院发布《要素市场化配置综合改革试点总体方案》,提出“增加有效金融服务供给,支持数字人民币在零售交易、生活缴费、政务服务等场景试点应用”;2022112日,国务院印发《“十四五”数字经济发展规划》,要求到2025年,数字经济迈向全面扩展期,数字经济核心产业增加值占GDP比重达到10%,数字化创新引领发展能力大幅提升,智能化水平明显增强,数字技术与实体经济融合取得显著成效,数字经济治理体系更加完善,我国数字经济竞争力和影响力稳步提升。《要素市场化配置综合改革试点总体方案》和《“十四五”数字经济发展规划》有利于数字人民币加速落地。(2)从应用角度看,截至20211231日,数字人民币试点场景已超过808.51万个,累计开立个人钱包2.61亿个,交易金额875.65亿元,目前,有155万商户支持数字人民币钱包, 202214 日,数字人民币APP (试点版)登录苹果与各大安卓app商店,目前数字人民币(试点版)app下载量已超过2000万次。冬奥会是数字货币应用落地的重要里程碑。北京冬奥会期间,数字人民币将开展3场大型数字人民币试点活动,落地场景40.3万个,交易金额96亿元,重点聚焦冬奥会安保红线内区域,以保障和便利境内外消费者支付选择为主要目标,实现交通出行、餐饮住宿、购物消费、旅游观光、医疗卫生、通讯服务、票务娱乐等七大类场景全覆盖。(3)从投资角度看,终端硬件板块更新推动短期业绩爆发式增长。数字人民币的终端硬件板块包括POS机、ATM机和数字钱包三个子版块。根据人民银行数据显示,截至2021年三季度末,银行卡跨行支付系统联网特约商户2531.88万户,联网机具3491.81万台,ATM机具95.97万台,终端硬件的更新改造预期会带来百亿级别的市场规模。此外,金融机构IT系统升级开拓境外市场。随着数字人民币应用场景从境内向境外延伸,国外金融机构可能也将产生升级系统、支持数字人民币使用的需求,这将为数字人民币IT解决方案提供方拓展海外发展机遇。【非银 郑积沙】数字人民币APP上架,丰富场景、活跃交易1.数字人民币的场景和参与机构持续增多。数字人民币(试点版)上线仅仅三日,仅安卓手机商城的下载数量已达到519万次,引发市场高度关注。17日,美团在数字人民币app上线之后亦表示,新增推送数币子钱包的用户数日均同比增长18倍,数字人民币相关交易订单和交易金额日均同比增长约15%。在场景方面,京东表示已实现第三方商家接入数字人民币系统,美团则增加了买菜、外卖等基于自身业务的生活场景,而则开始以数字人民币的形式发放就业补贴。目前央行数字人民币App下载量已经达到886万次,即将超过千万次,呈快速增长势头。2.数字人民币将逐步渗透日常生活中的多个场景。从目前数字人民币红包的使用情况可以看出,无论是交易笔数还是交易金额,数字人民币都已经逐步深入人们的生活。已经有超过155万个商家支持数字人民币钱包支付,累计交易笔数1.5亿余笔,涉及公用事业、餐饮服务、交通、零售及政府服务等多个领域。3.立体交易结构初步形成。在数字人民币的推广过程中,交易场景从单一的支付变成复杂的多场景使用,覆盖人群也从拿到数字人民币红包的试点人群变成普通的。从为享受红包优惠而接触、使用数字人民币到主动下载APP、主动向账户内充值,进而开始更大规模的线上交易。与此同时,纸币交易、银行卡交易仍在继续,逐步形成非常立体的纸币交易、银行卡交易和数字人民币交易的三重结构。【计算机 刘玉萍】数字人民币落地步入新阶段,金融IT技术梳理对接央行数字货币系统,银行等金融机构核心系统更新。央行在DC/EP的技术架构上采取“赛马”模式,各家商业银行可以自主选择数字货币发行、流通技术及合作生态,在试点过程中有商业银行选择与运营商合作,将DC/EP钱包储存在SIM卡中,也有银行选择以手机APP的形式来储存和使用DC/EP。现代银行业务的拓展必然伴随着银行内部业务系统的升级,此前我国没有发行数字货币的经验,商业银行亦不承担货币发行责任,此次在对接央行数字货币的发行流通过程中,商业银行面临建设新一代核心系统、数字货币银行库等系统的全新需求,其他金融机构的支付系统也有望伴随货币形态的变化进行更新换代。个股方面,银行IT系统改造环节建议关注:、、等。货币加密是关键,流通环节可追踪。作为一种加密货币,DC/EP所采用的底层数据表达决定了其作为法币的匿名性、真实性以及作为流通媒介的可传递、可追踪性。DC/EP加密认证体系或将结合区块链技术,为我国加密认证市场发展注入新的动力。个股方面,安全加密环节建议关注:等。首创“双离线模式”,电子支付迎来新增长。DC/EP采用全新的“双离线模式”进行支付活动,其推广将伴随一系列支付/接收端设备及系统的更新需求。在存储媒介上,目前央行和商业银行正在就数字货币钱包的形式进行探究,APP、SIM卡甚至小型硬件设备均是可能的选项;在接收端,ATM、POS等设备均需添加新模块支持。DC/EP支付环节软硬件开发和运维或将形成体量可观的市场。个股方面,支付终端及支付系统建设环节建议关注:、等。风险提示:技术变革、外汇管理风险等。分析师承诺负责本研究报告的每一位证券分析师,在此申明,本报告清晰、准确地反映了分析师本人的研究观点。本人薪酬的任何部分过去不曾与、现在不与,未来也将不会与本报告中的具体推荐或观点直接或间接相关。投资评级定义公司短期评级以报告日起6个月内,公司股价相对同期市场基准(沪深300)的表现为标准:强烈推荐:公司股价涨幅超基准20%以上审慎推荐:公司股价涨幅超基准5-20%之间中性: 公司股价变动幅度相对基准介于±5%之间回避: 公司股价表现弱于基准5%以上公司长期评级A:公司长期竞争力高于行业平均水平B:公司长期竞争力与行业平均水平一致C:公司长期竞争力低于行业平均水平行业投资评级以报告日起6个月内,行业相对于同期市场基准(沪深300)的表现为标准:推荐:行业基本面向好,行业将跑赢基准中性:行业基本面稳定,行业跟随基准回避:行业基本面向淡,行业将跑输基准责任编辑:陈悠然 

python代码如下:

# coding: utf-8
import pandas as pd
import jieba
from gensim.models.word2vec import Word2Vec, KeyedVectors
import re


def cut_sent(para):  # 切句子,这里没用
    para = re.sub('([!])([!]+)', r"\\1\\n", para)
    para = re.sub('([?])([?]+)', r"\\1\\n", para)
    para = re.sub('([。!?\\?])([^”’])', r"\\1\\n\\2", para)  # 单字符断句符
    para = re.sub('(\\.6)([^”’])', r"\\1\\n\\2", para)  # 英文省略号
    para = re.sub('(\\…2)([^”’])', r"\\1\\n\\2", para)  # 中文省略号
    para = re.sub('([。!?\\?][”’])([^,。!?\\?])', r'\\1\\n\\2', para)
    para = para.rstrip()
    return para.split("\\n")


def cut_word(line):  # 切标题+过滤停用词
    stopwords = pd.read_csv("stopword.csv", encoding="utf-8")
    stopwords = list(stopwords["0"])
    word_cut = jieba.lcut(line)
    sen_word = []
    for word in word_cut:
        if word not in stopwords and word != "" and len(word) > 1:
            train_words.append([word])
            sen_word.append(word)
    return " ".join(sen_word)


def word_process():  # 训练词向量

    f = pd.read_csv("2022-1-21-21.csv", encoding="utf-8")
    global train_words
    train_words = []
    f["新闻标题"] = f["新闻标题"].apply(lambda x: cut_word(x))
    f.to_csv("news_title_cut.csv", encoding="utf-8", index=0)

    model = Word2Vec(train_words, min_count=1)
    
    model.wv.save_word2vec_format('word2vec.vector') # 两种保存方式和格式
    model.save('word2vec.model')

    model = KeyedVectors.load_word2vec_format('word2vec.vector')
    model = Word2Vec.load('word2vec.model')
    
    word = "宇宙"
    sim = model.wv.most_similar([word])  # 最相似的前10个词
    print(sim)

    print(model.wv.index_to_key)  # 获得所有的词汇
    for word in model.wv.index_to_key:
        print(word, model.wv[word])  # 获得词汇及其对应的向量


def main():
    word_process()


if __name__ == '__main__':
    main()

以上是关于使用jieba对新闻标题进行切词,然后使用word2vec训练词向量及相似词计算的一个小例子的主要内容,如果未能解决你的问题,请参考以下文章

jieba:西游记

jieba 分词. 西游记相关的分词,出现次数最高的20个。

词频分析

中文词频统计

中文词频统计

中文词频统计