自然语言处理如何入门

ps:笔者会持续更新~

领域分支概括

俗话说得好:

做research或者学习某个技能最重要的是要对自己的research要非常熟悉(3mins让别人听懂你做的这玩意儿是个啥,contribution在哪里,让别人觉得你做的东西有意义)

那么我就整理一下自然语言处理相关领域分支~

自然语言包括许多分支,主要有:

机器翻译、自动文摘、信息检索、文档分类、问答系统、信息过滤、信息抽取、文本挖掘、语音识别等。

其中很多分支都是相互交叉的,大家可以根据自己的兴趣专攻某个领域。我的方向则为人工智能->机器学习->自然语言处理(NLP)->文本挖掘

那么机器学习在文本挖掘中有哪些应用呢?

(1)话题识别

话题识别属于文本分类,实验中常见的例子就是把新闻文本分类成“财经、教育、体育、娱乐”等等。我目前常用的方法主要是“word2vector”和“word to bags”。 word2vector即“词向量”,通过计算文本中词出现的位置、词性和频率等特征,判断新文本是否来自于此类。比如识别文字是评论性文本还是新闻类文本的一种方案就是评论性语句中出现的情态动词和感叹词比较多且位置不固定。“word to bags”是词袋,在topic model中应用的比较多。“word to bags”计算每个词出现在每个类别的概率,然后通过TF-IDF或者信息增益或者概率找到类别信息含量高的词语,通过判断这些词语的共线程度进行文本分类。

(2)情感分类

情感分析就是用户的态度分析。现在大多数情感分析系统都是对文本进行“正负二项分类的”,即只判断文本是正向还是负向的,有的系统也能做到三分类(中立)。比如,我要分析用户对2013年“马航370事件”的态度,只要找到该事件的话题文本,通过台大情感词典等工具判断情感词的极性,然后根据一定规则组合情感词的频度和程度即可判断文本的情感。但这种方法无法判断文本的评价刻面。比如,我现在有一百万条“小米手机评价”信息,我可以通过上面的方法了解大约有百分之多少的用户对小米手机是不满意的,但却无法知道这些不满意的用户是对小米手机的哪一个方面不满意以及占的比率(比如是外形还是性能)。常用的方法是构建小米手机相关词的种子词典,通过词典找到用户评论的刻面,再构建句法树找到评论该刻面的谓语和修饰副词,通过情感词典量化出情感极性,最后将量化后的评论刻面、修饰词、程度副词带入SVM进行文本分类。不过在这里并不适合使用naive bayes,因为在多刻面多分类中,naive bayes很容易出现过拟合。

(3)命名实体识别

所谓的命名实体识别是指让计算机自动识别出自己不认识的词。比如:“胡歌唱歌非常好听!”,计算机如何才能知道“胡歌”是一个词而不应该是“歌唱”是一个词呢?“胡歌”这个词对于绝大多数词库而言都不太可能存在,那么怎么能让机器识别出这个词并且以最大的可能认为这个词是正确的呢?我认为在所有的方法中,CRF的效果最好,甚至比HMM要好得多。CRF又称条件随机场,它能够记录训练数据中每个特征的状态及其周围特征的状态,当多个特征同时出现的时候,找出每个特征在多个特征组合中最有可能出现的状态。也就是说,CRF以“物以类聚”为基本论点,即大多数词出现的环境是有规律的,并不是杂乱无章的。选取特征的时候,以“字”为单位明显要比以“词”为单位好很多,因为命名实体的词是以字为单位才能理解的,比如“陈小春”,我们是以“陈/小/春”的意思来理解的,而不是“陈/小春”或者“陈小/春”。

(4)推荐系统

文本挖掘在推荐系统中的价值在于特征词权重的计算。比如我们给用户推荐一本新书。我们可以按照下面的方式进行建模:首先找到用户评论中关于书籍的所有特征词汇,建立特征词典;然后通过文本分析和时间序列分析结合用户评论的内容和时间紧凑度计算特征词的权重,表示某个用户关心的某个特征的程度。对建立好的用户评论特征程度表进行倒排索引,找到每个特征词的所有评价用户及其评价的权重,最后根据要推荐的书籍的特征找到可以推荐的用户列表,找到评论权重高的用户并把书籍推荐给他。

目前文本挖掘的主要研究领域有:文本结构分析、文本摘要、文本分类、文本聚类、文本关联分析、分布分析和趋势预测等。

所需知识储备

下面来说一说学习人工智能->机器学习->自然语言处理(NLP)->文本挖掘都需要哪些知识储备:

这里不仅仅是文本挖掘方向,整个NLP领域内其实都是适用的,只不过某个特殊领域会有细微的技术差别,但整体入门,还无需那么深入嘞~

  • 统计学习方法

    这个是最重要的,想要在这个领域深入研究,必须摸透统计学习方法,这里推荐李航教授的《统计学习方法》,一开始大家可能觉得枯燥无味,最好是结合相关的实际应用和代码来阅读,效果最好,理解起来也更方便一些。

  • NLP的整体流程

    这个大家一定要熟悉,对于流程中的每个步骤都烂熟于心,并知道什么时候运用什么方法解决问题,这是NLP的核心,包含的东西非常多,我未来会在博客中详细讲解

  • 一门语言

    学计算机归根到底还是需要用代码实现,光靠想点子也不成,所以大家一定要精通一门语言,最近机器学习最火热的大家应该都知道,就是python嘞~

原文地址:https://www.cnblogs.com/wujingqiao/p/9032854.html

时间: 2024-11-01 10:52:48

自然语言处理如何入门的相关文章

Python自然语言工具包(NLTK)入门

在本期文章中,小生向您介绍了自然语言工具包(Natural Language Toolkit),它是一个将学术语言技术应用于文本数据集的 Python 库.称为“文本处理”的程序设计是其基本功能:更深入的是专门用于研究自然语言的语法以及语义分析的能力. 鄙人并非见多识广, 语言处理(linguistic processing) 是一个相对新奇的领域.如果在对意义非凡的自然语言工具包(NLTK)的说明中出现了错误,请您谅解.NLTK 是使用 Python 教学以及实践计算语言学的极好工具.此外,计

自然语言处理NLP快速入门

https://mp.weixin.qq.com/s/J-vndnycZgwVrSlDCefHZA [导读]自然语言处理已经成为人工智能领域一个重要的分支,它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法.本文提供了一份简要的自然语言处理介绍,帮助读者对自然语言处理快速入门. 作者 | George Seif 编译 | Xiaowen An easy introduction to Natural Language Processing Using computers to un

2018-11-01 专栏一岁了-我为什么投身于普及用中文编程

知乎专栏于2017年11月9日开通, 之前只想写些中规中矩的年度小结, 但感觉有些东西不吐不快, 权当人生阶段报告吧. 最早对编程的接触在初中, 同学帮他家里玻璃厂写了个优化切割率的程序, 我看了点源码. 高中时想自学C未果. 00年大学志愿选了听起来和计算机很接近的信息工程专业, 当时属于软硬兼修但偏电子方面. 大一开始学C, 选修了单片机/汇编等等, 之后课程中计算机基础知识(尤其体系/系统方面)比较欠缺. 毕业后在上海工作四年, 跟着不少前辈学习, 对软件工程实践有了点亲身体会. 2008

数据科学书籍

数据科学相关书籍 数据分析 实习的时候只会Matlab,公司小,没钱买正版,所以领导要我两星期把R学会,当时看的有这些书 1.R语言实战 评价:很好的入门书,从安装.入门.基本的统计分析,作图命令,以及常见的分类.回归.降维等方法都有写 推荐指数:五颗星 2.数据分析-R语言实战 评价:专门用R语言写的数据分析的书,掌握R的基础后可以看看,侧重数据分析的基本方法,介绍了一些常见的分析方法,比较基础. 推荐指数:四星半 3.探索性数据分析 评价:外国人写的书,但是翻译真的太烂了.而且内容其实没什么

自然语言处理怎么最快入门?

http://www.zhihu.com/question/19895141 stanford NLP课程网址 https://class.coursera.org/nlp/lecture 14 个回答 赞同337反对,不会显示你的姓名 吴俣,自然语言处理民工 杨泽.林斌.王汪汪 等人赞同 推荐<数学之美>,这个书写得特别科普且生动形象,我相信你不会觉得枯燥.这个我极力推荐,我相信科研的真正原因是因为兴趣,而不是因为功利的一些东西. 接下来说,<统计自然语言处理基础>这本书,这书实

自然语言处理-介绍、入门与应用

自然语言处理-介绍.入门与应用 根据工业界的估计,仅仅只有21%的数据是以结构化的形式展现的.数据由说话,发微博,发消息等各种方式产生.数据主要是以文本形式存在,而这种方式却是高度无结构化的.使用这些文本消息的例子包括:社交网络上的发言,聊天记录,新闻,博客,文章等等. 尽管我们会有一些高维的数据,但是它所表达的信息我们很难直接获取到,除非它们已经被我们人工地做了处理(例如:我们阅读并理解了它们).或者,我们可以通过自动化系统来对他进行分析. 为了从文本数据里得到有意义并且可行的深层信息,我们需

python入门、python数据分析(numpy、matplotlib、sklearn等)tensflow、爬虫、机器学习、深度学习、自然语言处理、数据挖掘、机器学习项目实战、python全栈、PHP、java、java web、openCV、hadoop、matlab、android、数据结构算法和刷题等教学视频

扫描二维码加好友购买视频,绝对优惠,谢谢支持. python入门和进阶熟练教学视频 入门: 进阶: python数据分析教学视频 python数据分析晋级班 tensorflow教程及实战 python爬虫教学 机器学习课程 深度学习课程 机器学习项目班 自然语言处理教学视频 python全栈教学视频 数据挖掘视频 PHP教学视频 java java web openCV教学视频 Hadoop教学视频 matlab教学 andriod教学视频 数据结构算法班及面试班 原文地址:https://w

NLP汉语自然语言处理入门基础知识介绍

NLP汉语自然语言处理入门基础知识介绍 自然语言处理定义: 自然语言处理是一门计算机科学.人工智能以及语言学的交叉学科.虽然语言只是人工智能的一部分(人工智能还包括计算机视觉等),但它是非常独特的一部分.这个星球上有许多生物拥有超过人类的视觉系统,但只有人类才拥有这么高级的语言. 自然语言处理的目标是让计算机处理或说"理解"自然语言,以完成有意义的任务,比如订机票购物或QA等.完全理解和表达语言是极其困难的,完美的语言理解等效于实现人工智能. 自然语言处理涉及的几个层次: 作为输入一共

自然语言处理入门

自然语言处理NLP( natural language process)是这几年越来越火了,kaggle上的比赛有关NLP的也日渐多起来了. NLP的应用场景很多,情感分析,邮件过滤,ai客服,机器翻译等等等等,就像这几年越来越火有成为BAT之后第四极的今日头条,为什么能够为每个人推送不同的感兴趣的内容,这里少不了机器学习的功能,当然也包括NLP. 想入门NLP,上网一搜,搜到的多是些具体算法的讲解,或者某些框架的使用,要么就是上来就一顿推荐看某某书某某论文或者讲义.从个人经验的角度来讲,这种方