![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NLP之美
训灼说
GitHub ID:Xunzhuo
展开
-
fastText详解
1. 什么是fastText英语单词通常有其内部结构和形成⽅式。例如,我们可以从“dog”“dogs”和“dogcatcher”的字⾯上推测它们的关系。这些词都有同⼀个词根“dog”,但使⽤不同的后缀来改变词的含义。而且,这个关联可以推⼴⾄其他词汇。在word2vec中,我们并没有直接利⽤构词学中的信息。⽆论是在跳字模型还是连续词袋模型中,我们都将形态不同的单词⽤不同的向量来表⽰。例如,“dog”和“dogs”分别⽤两个不同的向量表⽰,而模型中并未直接表达这两个向量之间的关系。鉴于此,fastText提原创 2020-07-11 20:45:58 · 1416 阅读 · 0 评论 -
NLP概述
1. 什么是NLP自然语言处理 (Natural Language Processing) 是人工智能(AI)的一个子领域。**自然语言处理是研究在人与人交互中以及在人与计算机交互中的语言问题的一门学科。**为了建设和完善语言模型,自然语言处理建立计算框架,提出相应的方法来不断的完善设计各种实用系统,并探讨这些实用系统的评测方法。2. NLP主要研究方向信息抽取:从给定文本中抽取重要的信息,比如时间、地点、人物、事件、原因、结果、数字、日期、货币、专有名词等等。通俗说来,就是要了解谁在什么时候、什么原创 2020-07-11 20:45:24 · 1047 阅读 · 0 评论 -
详解seq2seq
1. 什么是seq2seq在⾃然语⾔处理的很多应⽤中,输⼊和输出都可以是不定⻓序列。以机器翻译为例,输⼊可以是⼀段不定⻓的英语⽂本序列,输出可以是⼀段不定⻓的法语⽂本序列,例如:英语输⼊:“They”、“are”、“watching”、“.”法语输出:“Ils”、“regardent”、“.”当输⼊和输出都是不定⻓序列时,我们可以使⽤编码器—解码器(encoder-decoder)或者seq2seq模型。序列到序列模型,简称seq2seq模型。这两个模型本质上都⽤到了两个循环神经⽹络,分别叫做编码器原创 2020-07-11 20:44:57 · 4225 阅读 · 0 评论 -
Transformer详解
1. 什么是Transformer《Attention Is All You Need》是一篇Google提出的将Attention思想发挥到极致的论文。这篇论文中提出一个全新的模型,叫 Transformer,抛弃了以往深度学习任务里面使用到的 CNN 和 RNN。目前大热的Bert就是基于Transformer构建的,这个模型广泛应用于NLP领域,例如机器翻译,问答系统,文本摘要和语音识别等等方向。2. Transformer结构2.1 总体结构Transformer的结构和Attention模原创 2020-07-11 20:44:19 · 4468 阅读 · 0 评论 -
XLNet详解
XLNet 是一个类似 BERT 的模型,而不是完全不同的模型。总之,XLNET是一种通用的自回归预训练方法。它是CMU和Google Brain团队在2019年6月份发布的模型,最终,XLNet 在 20 个任务上超过了 BERT 的表现,并在 18 个任务上取得了当前最佳效果1. 什么是XLNetXLNet 是一个类似 BERT 的模型,而不是完全不同的模型。总之,XLNet是一种通用的自回归预训练方法。它是CMU和Google Brain团队在2019年6月份发布的模型,最终,XLNet 在 .原创 2020-07-11 20:43:41 · 6569 阅读 · 0 评论 -
说说GloVe
1. 说说GloVe正如GloVe论文的标题而言,**GloVe的全称叫Global Vectors for Word Representation,它是一个基于全局词频统计(count-based & overall statistics)的词表征(word representation)工具,它可以把一个单词表达成一个由实数组成的向量,这些向量捕捉到了单词之间一些语义特性,比如相似性(similarity)、类比性(analogy)等。**我们通过对向量的运算,比如欧几里得距离或者cosine原创 2020-07-11 20:43:06 · 2412 阅读 · 0 评论 -
textRNN 与 textCNN详解
1. 什么是textRNNtextRNN指的是利用RNN循环神经网络解决文本分类问题,文本分类是自然语言处理的一个基本任务,试图推断出给定文本(句子、文档等)的标签或标签集合。文本分类的应用非常广泛,如:垃圾邮件分类:2分类问题,判断邮件是否为垃圾邮件情感分析:2分类问题:判断文本情感是积极还是消极;多分类问题:判断文本情感属于{非常消极,消极,中立,积极,非常积极}中的哪一类。新闻主题分类:判断一段新闻属于哪个类别,如财经、体育、娱乐等。根据类别标签的数量,可以是2分类也可以是多分类。自动问原创 2020-07-11 20:42:35 · 2828 阅读 · 0 评论 -
从0进入智能客服系统
我们会产生一个想法:能不能有一个机器人来回答这些重复的问题,它能 24 小时的工作不用休息,降低客户成本,还能挖掘聊天记录里面的一些有价值的知识点。这就是智能客服产生的背景。1. 智能客服系统智能客服产生的背景:为什么要有智能客服这样的一个产品,或者说研究方向呢?主要有以下这几个原因:我们日常生活中会遇到大量的客服问题,比如说你打电话给联通、移动等,或者说在淘宝上买东西,这些问题大部分都是一些重复的问题,而且频率也特别高,非常的耗人工;对于一个客服密集型的企业来说,大量的人工客服,造成了企业的.转载 2020-07-11 20:41:18 · 1066 阅读 · 0 评论 -
从0进入推荐系统
推荐系统是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。 随着电子商务规模的不断扩大,商品个数和种类快速增长,顾客需要花费大量的时间才能找到自己想买的商品。1. 什么是推荐系统推荐系统是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。.转载 2020-07-11 20:40:30 · 275 阅读 · 0 评论 -
语音识别之PyTorch-Kaldi详细教程
本文介绍PyTorch-Kaldi。Kaldi是用C++和各种脚本来实现的,它不是一个通用的深度学习框架。如果要使用神经网络来梯度GMM的声学模型,就得自己用C++代码实现神经网络的训练与预测,这显然很难实现并且容易出错。我们更加习惯使用Tensorflow或者PyTorch来实现神经网络。因此PyTorch-Kaldi就应运而生了,它使得我们可以利用Kaldi高效的特征提取、HMM模型和基于WFST的解码器,同时使用我们熟悉的PyTorch来解决神经网络的训练和预测问题。阅读本文前需要理解HMM-DNN.原创 2020-07-02 21:56:57 · 12917 阅读 · 4 评论 -
NLP自然语言处理 【基础+进阶】书籍
回炉炼丹了????两个月,准备好好再提升一下自己,为了我的核心项目Jarvis????️,回炉重造一下。这篇文章主要内容是分享我的暑假书单????这些书都是我精挑细选出来的,豆瓣评分都比较高????暑假目标:主要目的是专业领域的深入,即自然语言处理。拓宽了知识宽度,必须找准发力点。更加深入才行!书籍分类书籍我分为两部分:回顾复习深入提高第一部分: 回顾复习 (快速过一遍)第一本:《自然语言处理》HanLP 作者的书籍,之前没看过,这次想快速过一下,梳理一下NLP的思路。原创 2020-06-28 21:00:49 · 1041 阅读 · 0 评论 -
RNN成长记(五):LSTM与GRU
在本文中,我们将探索并尝试创建我们自己定义的 RNN 单元。不过在此之前,我们需要先仔细研究简单的 RNN,再逐步深入较为复杂的单元(如 LSTM 与 GRU)。我们会分析这些单元在 tensorflow 中的实现代码,最终参照这些代码来创建我们的自定义单元。基本 RNN:对于传统的 RNN 来说,最大的问题就在于每个单元的重复输入都是静态的,因此我们无法充分学习到长期的依赖情况。你回想一下基本 RNN 单元,就会发现所有操作都是单一的 tanh 运算。对于解决短期依赖情况的问题来说,这种结构已.原创 2020-06-12 22:52:04 · 637 阅读 · 0 评论 -
RNN成长记(四):Attention机制
在这篇文章里,我们将尝试使用带有注意力机制的编码器-解码器(encoder-decoder)模型来解决序列到序列(seq-seq)问题首先,让我们来一窥整个模型的架构并且讨论其中一些有趣的部分,然后我们会在先前实现的不带有注意力机制的编码器-解码器模型基础之上,添加注意力机制。我们将慢慢引入注意力机制,并实现模型的推断。。注意:这个模型并非当下最好的模型,更何况这些数据还是我在几分钟内草率地编写的。这篇文章旨在帮助你理解使用注意力机制的模型,从而你能够运用到更大的数据集上,并且取得非常不错的结果。带有原创 2020-06-12 22:50:54 · 753 阅读 · 1 评论 -
RNN成长记(三):Encoder-Decoder
在本文中,我将介绍基本的编码器(encoder)和解码器(decoder),用于处理诸如机器翻译之类的 seq2seq 任务。我们不会在这篇文章中介绍注意力机制,而在下一篇文章中去实现它。如下图所示,我们将输入序列输入给编码器,然后将生成一个最终的隐藏状态,并将其输入到解码器中。即编码器的最后一个隐藏状态就是解码器的新初始状态。我们将使用 softmax 来处理解码器输出,并将其与目标进行比较,从而计算我们的损失函数。这里的主要区别在于,我没有向编码器的输入添加 EOS(译注:句子结束符,end-of.原创 2020-06-12 22:50:20 · 2072 阅读 · 2 评论 -
RNN成长记(二):文本分类
在第一篇文章中,我们看到了如何使用 TensorFlow 实现一个简单的 RNN 架构。现在我们将使用这些组件并将其应用到文本分类中去。主要的区别在于,我们不会像 CHAR-RNN 模型那样输入固定长度的序列,而是使用长度不同的序列。文本分类这个任务的数据集选用了来自 Cornell 大学的语句情绪极性数据集,它包含了 5331 个正面和负面情绪的句子。这是一个非常小的数据集,但足够用来演示如何使用循环神经网络进行文本分类了。预处理步骤清洗句子并切分成一个个 token;将句子转换为数值 t.原创 2020-06-12 22:49:32 · 408 阅读 · 0 评论 -
RNN成长记(一):CHAR-RNN
**提示:**关于 RNN 的内容将横跨好几篇文章,包括基本的 RNN 结构、支持字符级序列生成的纯 TensorFlow 实现等等。而关于 RNN 的后续文章会包含更多高级主题,比如更加复杂的用于机器翻译任务的 Attention 机制等。一、概述使用循环结构拥有很多优势,最突出的一个优势就是它们能够在内存中存储前一个输入的表示。如此,我们就可以更好的预测后续的输出内容。持续追踪内存中的长数据流会出现很多的问题,比如 BPTT 算法中出现的梯度消失(gradient vanishing)问题就是其中.原创 2020-06-12 22:48:48 · 1007 阅读 · 0 评论 -
Word2Vec将音乐变成向量
机器学习算法在视觉领域和自然语言处理领域已经带来了很大的改变。但是音乐呢?近几年,音乐信息检索领域一直在飞速发展。这篇文章写的是NLP的一些技术是如何移植到音乐领域的。探寻了一种使用流行的 NLP 技术 word2vec 来表示复调音乐的方法。让我们来探究一下这是如何做到的……Word2vec词嵌入模型使我们能够通过有意义的方式表示词汇,这样机器学习模型就可以更容易地处理它们。这些词嵌入模型让我们可以用包含语义的向量来表示词汇。Word2vec 是一个流行的词向量嵌入模型,由 Mikolov 等人于.原创 2020-06-12 22:44:43 · 929 阅读 · 2 评论 -
如何用神经网络预测股票趋势?
前言疫情期间,我爸妈又开始炒股了,鉴于之前做过一个AI结合的量化交易项目,但是不是负责算法部分,所以想自己尝试一下,实现一个算法引擎。纯数据科学只能做参考,最好结合传统量化交易和舆情分析,我后面有时间会尝试三者结合,希望有更好效果。在本教程中,你将了解到如何使用被称作长短期记忆网络(LSTM)的时间序列模型。LSTM 模型在保持长期记忆方面非常强大。阅读这篇教程时,你将:明白预测股市走势的动机;下载股票数据 — 你将使用由 Alpha Vantage 或 Kaggle 收集的股票数据;将数.原创 2020-06-12 22:43:30 · 8350 阅读 · 3 评论 -
✍️动手实现NeuralNetwork神经网络
一个帮助初学者理解深度神经网络内部工作机制的指南写作动机: 为了使我自己可以更好地理解深度学习,我决定在没有像 TensorFlow 这样的深度学习库的情况下,从零开始构建一个神经网络。我相信,理解神经网络的内部工作原理对任何有追求的数据科学家来说都很重要。这篇文章包含了我所学到的东西,希望对你们也有用。什么是神经网络?大多数介绍神经网络的文章在描述它们时都会与大脑做类比。在不深入研究与大脑类似之处的情况下,我发现将神经网络简单地描述为给定输入映射到期望输出的数学函数更容易理解一些。神经网络.原创 2020-06-11 11:18:08 · 236 阅读 · 0 评论 -
在哪里读人工智能的论文?
一个读人工智能的论文网站:Paperswithcode类别丰富,涵盖了各个人工智能的方向跟进最新最热门的学术论文原创 2020-06-11 11:17:32 · 727 阅读 · 0 评论 -
你真的理解One-Hot编码吗?原理解释
在机器学习中为什么要进行 One-Hot 编码?入门机器学习应用,尤其是需要对实际数据进行处理时,是很困难的。一般来说,机器学习教程会推荐你或要求你,在开始拟合模型之前,先以特定的方式准备好数据。其中,一个简单的例子就是对类别数据(Categorical data)进行 One-Hot 编码(又称独热编码)。为什么 One-Hot 编码是必要的?为什么你不能直接使用数据来拟合模型?在本文中,你将得到上述重要问题的答案,并能更好地理解机器学习应用中的数据准备工作。什么是类别数据?类别数据.原创 2020-06-11 11:16:48 · 4039 阅读 · 0 评论 -
✍️动手实现Markov-Chain马尔可夫链
学习马尔可夫链及其性质,了解转移矩阵,并用 Python 动手实现!马尔可夫链是通常用一组随机变量定义的数学系统,可以根据具体的概率规则进行状态转移。转移的集合满足马尔可夫性质,也就是说,转移到任一特定状态的概率只取决于当前状态和所用时间,而与其之前的状态序列无关。马尔可夫链的这个独特性质就是无记忆性。跟随本教程学会使用马尔可夫链,你就会懂得离散时间马尔可夫链是什么。你还会学习构建(离散时间)马尔可夫链模型所需的组件及其常见特性。接着学习用 Python 及其 numpy 和 random 库来实现一.原创 2020-06-11 11:08:46 · 1946 阅读 · 0 评论 -
Jupyter Notebook详细教程(下)
实例分析现在我们已经看了一个 Jupyter Notebook,是时候看看它们在实践中使用了,这应该会让你更清楚地了解它们为什么那么受欢迎。现在是时候开始使用前面提到的财富 500 数据集了。请记住,我们的目标是了解美国最大公司的利润在历史上是如何变化的。值得注意的是,每个人都会有自己的喜好和风格,但是一般原则仍然适用,如果你愿意,你可以在自己的 notebook 上跟随这一段,这也给了你自由发挥空间。命名你的 notebook在开始编写项目之前,你可能想要给它一个有意义的名称。也许有点让人困惑,你原创 2020-06-11 11:01:52 · 3075 阅读 · 2 评论 -
Jupyter Notebook详细教程(上)
Jupyter Notebook 是一个非常强大的工具,常用于交互式地开发和展示数据科学项目。它将代码和它的输出集成到一个文档中,并且结合了可视的叙述性文本、数学方程和其他丰富的媒体。它直观的工作流促进了迭代和快速的开发,使得 notebook 在当代数据科学、分析和越来越多的科学研究中越来越受欢迎。最重要的是,作为开源项目的一部分,它们是完全免费的。Jupyter 项目是早期 IPython Notebook 的继承者,它在 2010 年首次作为原型发布。尽管在 Jupyter Notebook 中.原创 2020-06-11 11:01:04 · 5752 阅读 · 0 评论 -
40个有趣的Linux命令
信息是生活中的我们必不可少的元素,但是信息如何定义,如何去度量信息的多少,以及度量信息的不确定性,是一个抽象的难题,香农在1948年提出的信息理论解决了这个问题。这篇文章我会用浅显的例子来解释,什么是信息,什么是信息熵,以及信息熵公式的原理。我不会一开始就堆砌一些抽象的概念,会一步一步用例子来解释。定性分析举例解释各个概念的含义信息、信息量、自信息、信息熵总的来说:当一件事情(宏观态)有多种情况(微观态)时,这种事情对某人(观察者)而言具体是哪种情况(微观态)的不确定性叫做信息熵所以信息转载 2020-06-11 10:52:41 · 2460 阅读 · 2 评论 -
什么是深度学习中的卷积?
看了国外大佬的文章有所感悟,有太多的公开课、教程在反复传颂卷积神经网络的好,却都没有讲什么是“卷积”,似乎默认所有读者都有相关基础,所以我想谈谈关于卷积的那些事。卷积现在可能是深度学习中最重要的概念。正是靠着卷积和卷积神经网络,深度学习才超越了几乎其他所有的机器学习手段。但卷积为什么如此强大?它的原理是什么?在这篇文章中我将讲解卷积及相关概念,帮助你彻底地理解它。网络上已经有不少博客讲解卷积和深度学习中的卷积,但我发现它们都一上来就加入了太多不必要的数学细节,艰深晦涩,不利于理解主旨。这篇文章虽..原创 2020-06-11 10:50:58 · 968 阅读 · 0 评论 -
自然语言处理、机器学习、深度学习、人工智能推荐书目
本文主要是我对ML、DL、NLP的经典书籍的推荐,希望你有所收获。我认为以下都是经典书籍了,AI方向我觉得都可以好好读读,必定有收获 (CV 方向 NLP的书就看情况了吧~)机器学习周老师的经典书籍,很详细的讲述了机器学习的理论知识 主要讲述了为什么机器学习的火热 以及顶层的原理。如果感兴趣的朋友可以 先学一学微积分 线性代数 微积分 因为这本书对机器学习的数学功底有一定要求,不然的话学习起来会吃力并且效率低下比较经典的入门实战教程,自己买了还没看完,后面准备手撸一遍算法分类机器学习基础原创 2020-06-11 10:47:00 · 339 阅读 · 0 评论 -
人工智能该如何零基础入门?
很多朋友想学习人工智能,不过不知如何入手,这篇文章就带你进入AI的世界一、语言希望在进入这个领域之前 至少得会一门语言 Python。后面可以学学C或者C++,很多源码也是C和C++的二、数学以及不想做调包侠的话,学通透得有比较好的数学基础:微积分 线性代数 概率论如果数学基础不好可以先补一补,不然有些理解起来或许会很头疼。三、快速入门机器学习、深度学习推荐我的启蒙书,复旦大学邱老师的开源书《神经网络与深度学习》虽然本身市面上有很多机器学习,深度学习的书西瓜书,统计...原创 2020-06-11 10:42:45 · 2192 阅读 · 0 评论 -
如何设计一个聊天机器人?谈谈聊天机器人技术栈
如果你正在为一个客户设计一个聊天机器人(咨询,开发,原型设计……),这段对话可能听起来很熟悉:客户:「实现我的机器人最佳技术的是什么?」我:「不仅仅是一项技术,而是一系列的多种技术。每项技术都可以解决一个问题,所以这取决于你的项目。」客户:「好吧,那你能给我什么建议吗?」我:「你知道吗,要回答这个问题,我差不多需要问你将近 10 个聊天机器人问题!」在这篇文章中,我会详细讲述如何为客户设计高效聊天机器人的技术栈框架。正如你所看到的,聊天机器人各种各样的都有。所以,该为聊天机器人付多少钱.原创 2020-06-11 00:53:24 · 2212 阅读 · 0 评论