美文网首页
第二周 - 20180422

第二周 - 20180422

作者: RootHarold | 来源:发表于2018-04-22 12:25 被阅读0次

    数据预处理以及Doc2Vec过程

    模型训练之前需要对数据进行预处理,毕竟文本信息很难直接用来拟合。除了简单易懂的One-Hot编码方式,业内更常用的还是Doc2Vec方案。Doc2Vec可以对文本信息进行低维稠密的分布式表达,往往更适合用于分类、拟合等处理,本文也将采用Doc2Vec的技术路线。

    一、 数据清洗

    数据来源是网络爬虫爬取的中文评论,在将其向量化之前,首先对其进行清洗,去除了标点符号等非建设性字符。

    数月前,一位当时的好友“谴责”我发颜表情恶意卖萌的行为,而如今进行数据清洗时才明白颜表情的“污染性”。上图中正则表达式里有大量的硬编码,以用来过滤掉令人难以置信的颜表情,即使这样,数据中仍然有少量的“非建设性字符”,可以忽略。

    二、 分词

    英文句子中,单词与单词之间有空格间隔,往往不需要进行分词,取而代之的是“组块分析”(chunking)。而中文文本的处理则相对更麻烦,Doc2Vec中的传入数据需要中文分词之后的结果。

    本例中采用结巴分词器进行分词,并开启隐马尔科夫参数使其能探索新词。

    分词之后的结果用列表存储。

    三、 Doc2Vec

    Doc2Vec是数据预处理过程中最重要的一个阶段,目的是将文本信息进行低维稠密的分布式表达。本文中基于gensim包实现。

    Doc2Vec 或者叫做 paragraph2vec, sentence embeddings,是一种非监督式算法,可以获得 sentences/paragraphs/documents 的向量表达,是 word2vec 的拓展。学出来的向量可以通过计算距离来找 sentences/paragraphs/documents 之间的相似性,可以用于文本聚类,对于有标签的数据,还可以用监督学习的方法进行文本分类,例如经典的情感分析问题。

    其基本原理推荐博文基于gensim的doc2vec实践 - CSDN博客

    首先利用爬取的文本训练Doc2Vec:

    得到一个模型:

    利用这个模型再将分好词的本文向量化:

    最终生成向量(部分):

    相关文章

      网友评论

          本文标题:第二周 - 20180422

          本文链接:https://www.haomeiwen.com/subject/jgmqlftx.html