首页 > 其他分享 >词袋模型、word2vec

词袋模型、word2vec

时间:2023-08-23 11:35:45浏览次数:43  
标签:词汇 word2vec 训练 模型 词袋 vec 文本 向量

Bag-of-words模型,BOW模型(词袋模型)假定对于一个文档,忽略它的单词顺序和语法、句法等要素,将其仅仅看作是若干个词汇的集合,文档中每个词汇的出现都是独立的,不依赖于其它词汇是否出现。也就是说,文档中任意一个位置出现的任何单词,都不受该文档语意影响而独立选择的。

基于词袋模型的文本离散化表示存在着数据稀疏向量维度过高字词之间的关系无法度量的问题,适用于浅层的机器学习模型,不适用于深度学习模型。

 

Word2vec使用大量未注释的纯文本,word2vec自动学习到词汇之间的关系,输出是向量,每个词汇一个向量,具有显着的线性语义关系,由此我们可以做诸如vec(“king”) - vec(“man”)+ vec(“woman”)= ~vec(“queen”)之类的加减运算,或vec(“蒙特利尔加拿大人队”) - vec(“蒙特利尔”)+ vec(“多伦多”)等于“多伦多枫叶队”的向量。

 

在中文文本数据里常常会涉及一些外文词汇,尤其是科技领域包含有大量的英文词汇,这时就需要对英文文本数据进行规范化处理了,主要是小写化词干提取词形还原

小写化:lower()就可以转换

词干提取:Porter Stemming算法进行词干分析

词形还原:WordNet词法数据库进行词式化(词形还原就是去掉单词的词缀,提取单词的主干部分,通常提取后的词汇会是字典中的单词,不同于词干提取(stemming),提取后的单词不一定会出现在词汇中。)

 

Word2Vec接受几个影响训练速度和质量的参数,理解它们的大致原理对于训练出一个符合业务需要的Word2Vec模型是至关重要的。

word2Vec输入是词汇,输出是词向量

min_count:用于修剪内部字典(Prune the Internal Dictionary),设置记录词汇出现的最低次数,默认值为5

size:是gensim Word2Vec将词汇映射到的N维空间的维度数量(N),默认size是100,较大的size值需要更多的训练数据,但可以产生更好(更准确)的模型。 合理的size数值介于在几十到几百之间。 如果你拥有的数据较少,那就把维度值设置小一点,这将在一定程度上减少模型的过拟合,尽量提高模型的表现效果。

workers:workers是一个用于训练并行化的参数,可以加快训练速度,默认值3

iter:是模型训练时在整个训练语料库上的迭代次数,假如参与训练的文本量较少,就需要把这个参数调大一些。

sg:是模型训练所采用的的算法类型,默认值为0

1 代表 skip-gram,该模型从上下文语境(context)对目标词汇(target word)的预测中学习到其词向量的表达
0 代表 CBOW,该模型从目标词汇(target word)对上下文语境(context)的预测中学习到其词向量的表达

window:控制窗口,它指当前词和预测词之间的最大距离,默认值为5,如果设得较小,那么模型学习到的是词汇间的组合性关系(词性相异),比如“苹果”和“好红”,“主席”和“伟大”,后者对前者是一种修饰关系;如果设置得较大,会学习到词汇之间的聚合性关系(词性相同),比如“伟大”和“注明”、“可爱”和“卡哇伊”。

假如语料够多,笔者一般会设置得大一些,8~10,因为词汇间的聚合关系能很好的捕捉到词汇之间的相似性关系,能很好的解决词袋表示中多词一义的问题,发现词汇/语句之间的潜在语义相关性。

model = gensim.models.Word2Vec(
                             sentences, 
                             size = 50, 
                             sg=1, 
                             min_count= 3,
                             window = 8,
                             iter = 20 )

 

Word2Vec有一种更为高级的用法,即在线训练,也就是说,当有了新的数据,就可以直接在原来已经训练好的模型上接着训练,而不用从头再来,后续可以不断加入新的语句(经过文本预处理)来提升模型的表现效果。

model.build_vocab(more_sentences, update=True)  #注意该方法中的参数update,默认为False,增量更新模型时,需要设置为True
model.train(more_sentences, total_examples=model.corpus_count, epochs=model.epochs)

 

文本先用jieba进行分词,再对词进行规范化处理,再用word2rec进行词向量转化。

标签:词汇,word2vec,训练,模型,词袋,vec,文本,向量
From: https://www.cnblogs.com/pass-ion/p/17650743.html

相关文章

  • 轻松玩转70亿参数大模型!借助Walrus在AWS上部署Llama2
    Llama2是Meta的下一代开源大语言模型。它是一系列经过预训练和微调的模型,参数范围从70亿到700亿个。MetaLlama2可免费用于研究和商业用途并且提供了一系列具有不同大小和功能的模型,因此一经发布备受关注。在(之前的文章)中,我们详细地介绍了Llama2的使用和优势以及FAQ。......
  • 轻松玩转70亿参数大模型!借助Walrus在AWS上部署Llama2
    Llama2是Meta的下一代开源大语言模型。它是一系列经过预训练和微调的模型,参数范围从70亿到700亿个。MetaLlama2可免费用于研究和商业用途并且提供了一系列具有不同大小和功能的模型,因此一经发布备受关注。在之前的文章中,我们详细地介绍了Llama2的使用和优势以及FAQ。......
  • OSI 7层模型与TCP/IP
    1,应用层:原始的数据2,表示层:数据的个格式转换,比如加密解密,压缩与解压缩。3,会话层:对应用的会话管理与同步,拥有不同机器翻译的功能。4,传输层:进程端口的确定5,网络层:ip的确定6,数据链路成:mac(网卡)的确定7,物理规则的确定。......
  • 多模态大模型调研
    多模态+大语言模型1.将跨模态编码器等其它结构与LLM进行有机结合MultimodalFew-ShotLearningwithFrozenLanguageModelshttps://arxiv.org/pdf/2106.13884.pdfDeepMind,2021固定llm的参数,把图片信息encode后当prefix与text拼接,论文中说llm的规模是7BFlamingohttps://......
  • Apipost数据模型功能详解
    在API设计和开发过程中,存在许多瓶颈,其中一个主要问题是在遇到相似数据结构的API时会产生重复性较多的工作:在每个API中都编写相同的数据,这不仅浪费时间和精力,还容易出错并降低API的可维护性。为了解决这个问题,Apipost推出了数据模型板块。用户可以预先创建多个数据模型,并在API设计过......
  • 鼎友餐饮信息总监杨山海:餐饮新增长依托数智应用,用数字化打造单店盈利模型
    杨山海鼎友餐饮信息总监近20年餐饮行业信息化、数字化决策经验,曾担任新辣道、雕刻时光、青年餐厅、快乐蜂、鲜果时间信数化负责人,主抓数字化转型、系统选型、多接口系统管理等,拥有丰富的餐饮行业数字化转型经验。2000年,杨山海从邯郸进京边学习边打工,经过杨闻钟老师指导和点拨,完成......
  • Apipost数据模型功能详解
    在API设计和开发过程中,存在许多瓶颈,其中一个主要问题是在遇到相似数据结构的API时会产生重复性较多的工作:在每个API中都编写相同的数据,这不仅浪费时间和精力,还容易出错并降低API的可维护性。为了解决这个问题,Apipost推出了数据模型板块。用户可以预先创建多个数据模型,并在API设计......
  • 科大讯飞AI大模型,太猛了!
    最近几个月,以ChatGPT为代表的AIGC迅速崛起,国内头部科技企业之间也掀起了百模大战,在众多的大模型当中我比较看好的一家就是:科大讯飞。我很早就通过科大讯飞老朋友,拿到了体验账号,简单体验了一下,谈谈我的具体感受吧。(我找科大讯飞星火大模型的一个朋友申请了一个专属申请链接:点击申......
  • 科大讯飞AI大模型,太猛了!
    最近几个月,以ChatGPT为代表的AIGC迅速崛起,国内头部科技企业之间也掀起了百模大战,在众多的大模型当中我比较看好的一家就是:科大讯飞。我很早就通过科大讯飞老朋友,拿到了体验账号,简单体验了一下,谈谈我的具体感受吧。(我找科大讯飞星火大模型的一个朋友申请了一个专属申请链接:点击申......
  • NLP与大模型主题全国师资培训班落地,飞桨持续赋能AI人才培养
    为了推动大模型及人工智能相关专业人员的培养,8月11日-8月13日,由中国计算机学会主办、机械工业出版社、北京航空航天大学、百度飞桨联合承办“CCF群星计划之文心高校行-NLP与大模型”主题师资培训班(以下简称培训班)在北京天信亮酒店圆满举办。来自全国各地46所高校、38个人工智能及......