谈谈我在自然语言处理入门的一些个人拙见
因为最近在准备本科毕设的论文部分,所以最近原创的相对比较少,但是为了坚持每天学点新知识,我也逼着自己每天抽出晚上的1小时左右把自己想到的并且自己还没理解的小知识点的网上搜索下好的文章,能一下子读懂的,最好有图之类的文章,再根据自己的一些小理解,将文章编辑下,分享给大家。末尾再附上自己的当天准备的五个托福单词,这五个单词我也不是我先学过的,而是托福单词随机到的,在我编辑的时候我也刚好学下。正是在这种逼自己的情况下,我觉得我在这一个多月的时间里真的涨了不少知识。我也真心希望我的粉丝们跟我一样,每天逼着自己,学点知识,用不了一个月,即使一个星期你也会有很多收获的。当然大神们就继续自己的学习方法哈。嘿嘿。
好了,哈哈,想说的太多了,但是该进入我们今天的主题了。因为有很多人问我怎么入门自然语言处理,深度学习,机器学习等问题。我回答的太多了,也真的帮助了很多人。因为我知道入门这件事在有人指点下,真的很节省时间的,没有什么比我们的时间更重要了,要有的话,只能是咱们的亲人了。所以,今天我就总结下,作为小白过来的我的一些经验,若有不对的地方或者更好的经验,欢迎下面评论区写上,大家共享。
怎么能表示自己自然语言处理入门了呢?
那就是写一个分类器,我大三进入NLP实验室,听到新来的研究生师兄师姐们第一个任务总是写一个分类器。而我期间干了很多杂事以及上课,并没有真正的写过一个分类器。再加上考研的原因,我真正写一个自己基本都懂各种细节的文本分类器是在考完研的那个寒假。这个的功能就是给你一句话,你给这句话分个类即可。刚开始最好用CNN这个神经网络,因为这个简单。而你得需要数据,这个你可以去github上搜索,比如cnn text classification +自己喜欢用的框架(tensorflow,pytorch等),里面有代码,也基本会有数据。github真是个好东西,一定要充分利用。
实现分类器的时候,你能学很多东西。
编程语言:python
这个编程语言一定要学,为什么呢?因为俗话说,人生苦短,我用
python。python实现我们的想法确实快,而且我们是机器学习方向,所以需要很多数据,python有很好的数据处理包,并且大家也都知道很多大公司出了python的深度学习框架,比如tensorflow,pytorch等。但是python确实比C++慢,等你学会了用python实现各种算法的应用时,转成C++也会很快的。python只是推荐,如果你直接上手C++也行,只是推荐。
CNN神经网络
因为你要学会CNN来写分类器,所以你应该先把CNN彻底了解了。在你了解CNN的时候,你会学会很多东西。比如神经网络在NLP中到怎么使用的?为什么这么使用?你会了解什么是神经单元,它的计算公式是什么?句子是怎么提取特征放进CNN的,词如何embedding,什么是窗口大小,窗口是怎么计算的,滑动步长代表什么,什么是宽卷积,窄卷积,常用的窗口大小是什么,什么是pooling,pooling细分为哪些pooling,为什么要pooling,什么是全连接,什么是线性变换,怎么映射到类别上的等。你可能会问我能不能先彻底的学习什么是深度学习?我的推荐是,在了解CNN的时候,遇到什么不懂得再去查什么这样学的最快了。在这个期间你学习神经网络的话,推荐看网易云课堂吴恩达的深度学习微专业课程。总之,在解决问题的时候学东西真的效率很高。只是推荐。
是否要系统的学下数学?
我们需要的数学大致为统计学,线数,微积分。入门的时候,微积分会求复合函数导数即可;线数了解矩阵概念,会点乘,叉乘即可;统计学,你的分类器的损失函数一般会是交叉熵,这个时候你具体了解下什么是熵,信息熵,交叉熵。在NLP入门的时候在深度学习火之前是统计的天下,而现在是深度学习和统计一起的天下。现在你不需要系统学这个,只需要遇到问题的时候,涉及什么具体的学什么。
看理论 看github源码 写自己代码
一行一行分析,期间你会学到怎么清洗数据,中文和英文的不同处理法。建立字典,为什么要将文本数字化,什么是padding,怎么表示未登录的词,选择什么样的优化器,设置怎样的学习率,在搭建网络中,你会学到怎么对准维度,数据具体怎么流动,什么是softmax,什么是激活函数,评估方法都有哪些等。
最后一些话
等你入门了,其他的学的就很快了。NLP,CV等入门思路是一样的。机器学习和数学知识在自己有时间的时候还是慢慢学学最好,毕竟万变不离其宗,懂了这些,即使出了新的算法,也能很快理解。前提是有时间的话,我就是抽空就看看这些知识,并总结写成公众号。如果可以的话,找几个比你厉害的人一起学更好!今天就这么多吧,写到凌晨了,如果有什么问题,公众号右下角加我微信。真心希望能帮到你!一起坚持,加油!
更多精彩内容,请关注 深度学习自然语言处理 公众号,就是下方啦!跟随小博主,每天进步一丢丢!哈哈!
谈谈我在自然语言处理入门的一些个人拙见相关推荐
- 《自然语言处理入门》不是 NLP 学习路上的万能药
<自然语言处理入门>是图灵 2019 年 10 月出版的一本 NLP 领域的入门图书,作者是何晗(网名 hankcs,HanLP 作者.「码农场」博客博主).图书上架之后得到了广大的读者的 ...
- 【实战教程】NLP-Beginner:自然语言处理入门练习
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 今天给大家分享一门很好的NLP入门学习实战仓库,话不多说,学它!!! 此项目完成了 ...
- NLP汉语自然语言处理入门基础知识介绍
NLP汉语自然语言处理入门基础知识介绍 自然语言处理定义: 自然语言处理是一门计算机科学.人工智能以及语言学的交叉学科.虽然语言只是人工智能的一部分(人工智能还包括计算机视觉等),但它是非常独特的一部 ...
- NLP-Beginner:自然语言处理入门练习-任务一
NLP-Beginner:自然语言处理入门练习 任务一:基于机器学习的文本分类 深度学习项目,在训练之前,一般均会对数据集做shuffle,打乱数据之间的顺序,让数据随机化,这样可以避免过拟合. Ba ...
- HanLP《自然语言处理入门》笔记--5.感知机模型与序列标注
笔记转载于GitHub项目:https://github.com/NLP-LOVE/Introduction-NLP 5. 感知机分类与序列标注 第4章我们利用隐马尔可夫模型实现了第一个基于序列标注的 ...
- HanLP《自然语言处理入门》笔记--1.新手上路
文章目录 1. 新手上路 1.1 自然语言与编程语言的比较 1.2 自然语言处理的层次 1.3 自然语言处理的流派 1.4 机器学习 1.5 语料库 1.6 开源工具 1.7 总结 1.8 GitHu ...
- python自然语言处理入门教程(一)
1.NLTK自然语言处理工具包 1.1 NLTK简介 NLTK是构建Python程序与人类语言数据工作的主要平台.它提供了易于使用的界面,以超过50语料库和词汇资源,如WordNet的,连同一套文字处 ...
- 自然语言处理入门(一)
概念 (Natural Language Processing, 简称NLP)就是利用电子计算机为工具对人类特有的书面形式和口头形式的自然语言的信息进行各种类型处理和加工的技术,这种技术现在已经形成一 ...
- 《自然语言处理入门》笔记
目录 第一章 新手上路 1.1自然语言与编程语言 1.1.1词汇量 1.1.2结构化 1.1.3歧义性 1.1.4容错性 1.1.5易变性 1.1.6简略性 1.2自然语言处理的层次 1.2.1语音. ...
- Python NLTK 自然语言处理入门与例程
Python NLTK 自然语言处理入门与例程 在这篇文章中,我们将基于 Python 讨论自然语言处理(NLP).本教程将会使用 Python NLTK 库.NLTK 是一个当下流行的,用于自然语言 ...
最新文章
- golang中的strings.SplitAfter
- Linux中ELF格式 可执行文件+动态链接器 的加载
- Eclipse下搭建C语言开发环境
- 基于JAVA+SpringMVC+Mybatis+MYSQL的体育器材管理系统
- 【Java从0到架构师】SpringBoot - SpringMVC
- centos7 mysql5.6.35_Centos7.2.1511 编译安装Mysql5.6.35
- 华为云盘里面的照片怎么导出来_华为手机误删照片,怎么恢复?别急!只需点击这里...
- 【代码优化】注解优先命名模式
- 计算机无法安装蓝牙驱动,windows10系统安装蓝牙驱动图文教程|windows10系统如何安装蓝牙驱动...
- HLS中pragma的归纳总结(入门级)
- windows10自带我的文档等路径修改
- 运营实战:5个步骤分析目标人群画像流程图
- ETUDE HOUSE伊蒂之屋携手全新中国区品牌大使Justin黄明昊
- SD-WAN基本介绍
- PHP云盘网盘系统源码+快速对接多家云存储+VIP付费下载功能
- dvt高危患者的护理措施_DVT的预防措施
- 五年程序员谈软件工程师做职业规划的重要性
- ai字母组合发音规律_使用和尚ai的俄语字母分类
- Unity之数据持久化——Json
- IntelliJ IDEA类和方法注释模板配置