机器学习--如何将nlp应用到深度学习

LeLe.xu LeLe.xu     2022-09-04     591

关键词:

数据收集以后,我们下面接着要干的事情是如何将文本转换为神经网络能够识别的东西。

 

词向量

作为自然语言,只有被数学化才能够被计算机认识和计算。数学化的方法有很多,最简单的方法是为每个词分配一个编号,这种方法已经有多种应用,但是依然存在一个缺点:不能表示词与词的关系。

词向量是这样的一种向量[2.1, -3.31, 83.37, 93.0, -18.2, ……],每一个词对应一个向量,词义相近的词,他们的词向量距离也会越近(欧氏距离、夹角余弦)

词向量有一个优点,就是维度一般较低,一般是50维或100维,这样可以避免维度灾难,也更容易使用深度学习

 

词向量的原理?

词向量的训练是一种无监督学习,也就是没有标注数据,给我n篇文章,我就可以训练出词向量。

基于三层神经网络构建n-gram语言模型(词向量顺带着就算出来了)的基本思路:

最下面的w是词,其上面的C(w)是词向量,词向量一层也就是神经网络的输入层(第一层),这个输入层是一个(n-1)×m的矩阵,其中n-1是词向量数目,m是词向量维度

第二层(隐藏层)是就是普通的神经网络,以H为权重,以tanh为激活函数

第三层(输出层)|V|个节点,|V|就是词表的大小,输出以U为权重,以softmax作为激活函数以实现归一化,最终就是输出可能是某个词的概率。

另外,神经网络中有一个技巧就是增加一个从输入层到输出层的直连边(线性变换),这样可以提升模型效果,这个变换矩阵设为W

假设C(w)就是输入的x,那么y的计算公式就是y = b + Wx + Utanh(d+Hx)

这个模型里面需要训练的有这么几个变量:CHUW。利用梯度下降法训练之后得出的C就是生成词向量所用的矩阵,C(w)表示的就是我们需要的词向量

 

怎样得到我们需要的词向量?

感觉别个写的很复杂的样子呀,不会怎么办,有个简单有效的解决方案就是googleword2vec工具,我们可以把需要训练的样本数据通过word2vec转换为二进制集合。

 

环境准备:

1centos7.0

2gcc

3python-jieba

4locale zh_CN.UTF-8

 

第一步 准备工作

咱们要准备一个分好词的文本文件,用jieba分词即可。

命名为train.txt

接着下载word2vec工具,这个c写的,需要编译,我已经编译完成,可以直接使用。编译后:

 

第二步 训练词向量

 

训练命令:

./word2vec -train train.txt -output vectors.bin -cbow 0 -size 200 -window 5 -negative 0 -hs 1 -sample 1e-3 -thread 12 -binary 1

 

训练成功后会生成一个vectors.bin文件,这个就是训练好的词向量的二进制文件

 

第三步 测试,利用词向量寻找近义词

如上图,则说明我们的词向量训练成功。

 

深度学习机器学习与nlp的前世今生

...、为什么做文本挖掘什么是NLP?简单来说:NLP的目的是让机器能够理解人类 查看详情

聊天机器人(chatbot)终极指南:自然语言处理(nlp)和深度机器学习(deepmachinelearning)(代码片段)

...(NLP)以及如何将NLP和深度学习(DeepLearning)应用到聊天机器人(Chatbots)方面的最好的资料。时不时地我会发现一个出色的资源,因此我很快就开始把这些资源编制成列表。不久,我就发现自己开始与bot开发人员和bot社区的其... 查看详情

机器不学习:浅析深度学习在实体识别和关系抽取中的应用

机器不学习jqbxx.com-机器学习好网站命名实体识别(NamedEntityRecognition,NER)就是从一段自然语言文本中找出相关实体,并标注出其位置以及类型,如下图。命名实体识别是NLP领域中的一些复杂任务的基础问题,诸如自动问答,关... 查看详情

02-nlp-06-深度学习与nlp简单应用

希望在毫不知情(很少的人类介入)的情况下实现。即端对端的实现。一、Intro工具推荐:二、Auto-Encoder使用自编码器的情况:1)拿到的原始数据缺少标签(数据降噪) 2)数据太大了,需要进行降维,使得最后数据集大小... 查看详情

《nlp的相关资料推荐》

...众号"CS的陋室"的相关内容。一 作者的NLP学习之路1机器学习:《统计学习方法》,雷明的《机器学习与应用》,塞巴斯蒂安的《Python机器学习》,sklearn的API文档深度学习:黄文坚《tensorflow实战》,tensorflow技术解析与实战... 查看详情

autoencoders在nlp中的应用

1.前言深度学习是机器学习的一个分支,它设计大量的学习函数和概念模型。大多数机器学习需要大量的人工筛选的特征作为输入,通常特征筛选需要对数据的意义有深入的了解。并且一个能很好的适用于一组数据的特征可能并... 查看详情

基于pytorch热门深度学习框架从零开发nlp聊天机器人

百度云盘 NLP要学习和应用的好,首先是心理学的基础根基要打牢。必学科目:1.普通心理学,关于脑神经运作的基础和心理状态的基本分类。细分要研究认知心理学和情感管理,再细分,要多学习逻辑思维。2.发展心理学,... 查看详情

什么是深度学习,促进深度学习的策略

...要工程能力去开发模型和部署服务。所以只有编程技能、机器学习知识、数学三个方面共同发展,才能取得更好的成果。按我们的学习经验,从一个数据源开始——即使是用最传统、已经应用多年的机器学习算法,先完整地走完... 查看详情

转载:

...泛。但是分词技术只是NLP的一个基础部分,在人机对话,机器翻译中,深度学习将大显身手。这篇文章,将展示深度学习的强大之处,区别于之前用符号来表示语义,深度学习用向量表达语义。这篇文章的最大价值在于,为初学... 查看详情

自动聊天机器人项目班[一门课搞定聊天机器人]

打造传统NLP聊天机器人第1课聊天机器人的基础模型与综述知识点1:行业与业界综述实战项目:最简单的Rule-Base聊天机器人第2课NLP基础及扫盲知识点1:NLP基本算法实战项目:经典NLP问题与解法第3课用基础机器学习方法制作聊天... 查看详情

python深度学习之路-2.1机器学习的流程(代码片段)

2.1机器学习的流程简介进行机器学习的整体流程:数据收集。数据清洗(清洗重复或缺失的数据,以提高数据的精读)。运用机器学习算法对数据进行学习(获取基准)。使用测试数据进行性能评测。将机... 查看详情

过度学习对学习迁移有何影响?

...处理的领域有了很大的进展。这种成功是由于改变了传统机器学习的几个出发点,使其在应用于非结构化数据时性能很好。如今深度学习模型可以玩游戏,检测癌症,和人类交谈,自动驾驶。深度学习变得强大的同时也需要很大... 查看详情

哪里可以学习深度学习课程?想学人工智能方向的

...一种能与人类进行交互的计算机代理或程序,其中以聊天机器人最为著名。虚拟助理多用于客户服务和支持,并可以作为智能家居的管理者。04机器学习平台(MachineLearningPlatforms)机器学习是计算机科学和人工智能技术的分支,它... 查看详情

为深度机器学习标记数据集

】为深度机器学习标记数据集【英文标题】:LabelingDatasetfordeepmachinelearning【发布时间】:2018-08-0410:04:40【问题描述】:我正在尝试创建用于文本识别的CNNTensor-flow,我已经按照如何使用MNIST数据集构建它的教程进行操作,我正在... 查看详情

一文看懂深度学习——人工智能系列学习笔记

...念、优缺点和主流的几种算法。 深度学习、神经网络、机器学习、人工智能的关系深度学习、机器学习、人工智能简单来说:深度学习是机器学习的一个分支(最重要的分支)机器学习是人工智能的一个分支 查看详情

深度学习与机器学习的区别

深度学习是一种特殊的机器学习,它将现实世界表示为嵌套的层次概念体系(由较简单概念间的联系定义复杂概念,从一般抽象概括到高级抽象表示),从而获得强大的性能与灵活性。深度学习和传统机器学习最重要的区别是它... 查看详情

目录nlp相关理论及应用

...中文文本分类实战)使用inceptionv3做各种图像分类识别08-4机器学习、深度学习及NLP需要掌握的相关算法关于nlp的学习资料收集 查看详情

学习深度学习如何下手

...析和奇异值分解中。其次是概率论与统计学。广义的说,机器学习的核心是统计推断,机器学习的巨头不少都是统计学大师,如迈克尔乔丹,杨乐坤,辛顿等,另外机器学习中大量用到贝叶斯公式,隐马尔科夫模型等等。再次就... 查看详情