【新手上路常见问答】关于自然语言处理(NLP)
关于自然语言处理,该怎么来学习和研究呢,给大家分享一下。
1. 自然语言处理是什么呢?
自然语言处理是用电子计算机处理和加工人类的书面和口头语言信息的技术。同时它也是人工智能的一个主要内容,是人类用电子计算机模拟人类智能的一个重要尝试,也是人工智能领域的一大难题。
这项技术是一门专门的边缘性交叉性学科,如图所示。
自然语言处理系统包括
- 机器翻译系统
- 自然语言理解系统
- 信息自动检索系统
- 信息自动抽取系统
- 文本信息挖掘系统
- 术语数据库系统
- 计算机辅助教学系统
- 语音自动识别系统
- 语音自动合成系统
- 文字自动识别系统
举个例子来说,智能问答机器人,比如Siri,就包括了自然语言理解系统、信息自动检索系统、信息自动抽取系统、文本信息挖掘系统、语音自动识别系统和
语音自动合成系统。需要和大家强调的是,智能问答机器人不是简单地搜索关键词寻找对应语句。也就是说,自然语言处理和信息检索还是有所区别的。
2.自然语言处理的基本原理是?
关于机器理解自然语言,早期,人们基于句法–语义规则的方法解决了简单问题,但是无法从根本上将自然语言理解实用化。随着语料库建设和语料库语言学的发展以及计算机技术本身的发展,使用概率和数据驱动的方法,自然语言处理可以专注于大规模真实文本的处理。语料库语言学(英语:corpus linguistics)是基于语言运用的实例(即语料库)的语言研究。 语料库语言学可以对自然语言进行语法与句法分析,还可以研究它与其他语言的关系。具体来讲,就是在句法剖析、词类标注、参照消解、话语分析、机器翻译这些技术中引入概率,并且采用从语音识别和信息检索中借鉴的基于概率和数据驱动的评测方法。
自然语言处理中也使用机器自动学习的方法,让计算机自动地从语料库中获取准确的语言知识。自然语言处理的热点包括建设机器词典和大规模语料库。由于建造标注语料库需要花费较高的成本,相比有监督的机器学习方法,无监督的机器学习技术会得到更广泛的应用。支持向量机技术、最大熵技术、多项逻辑回归、图式贝叶斯模型技术广泛应用于自然语言处理研究。随着高性能计算机的发展和应用,机器学习系统可以得到很好的训练,系统性能也能得到提高。需要强调的是,使用机器学习方法开发的基于语料库的自动分析软件是独立于具体语言的。研究者不需要懂相关语言,只要基于训练语料库使用自动分析软件就可以得出不错的分析结果。
统计数学方法被广泛应用到分析语言数据,建立了概率性的基于统计的语言模型,计算机根据模型的概率参数,可以估计出自然语言中语言成分出现的可能性。语言统计模型包括隐马尔可夫模型(Hidden Markov Model,简称HMM),最大熵模型(Maximum Entropy Model)。支持向量机(Support Vector Machine,简称SVM),条件随机场(Condition Random Field,简称CRF)等。
3.自然语言处理的基本技能是?
如前所述,自然语言处理需要机器学习的相关知识以及统计学习的主要方法,特别是监督学习方法,包括感知机、k近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、EM算法、隐马尔可夫模型和条件随机场等。
理解自然语言处理的基本线路:分词、词性标注、解析
中文分词是中文信息处理的基础。
4.自然语言处理有哪些工具包?
- HanLP
https://github.com/hankcs/HanLP
中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理
我在一个项目中采用过,质量很不错。
- Natural Language Toolkit(NLTK):
http://www.nltk.org/
- 哈尔滨工业大学的工具包LTP http://www.ltp-cloud.com/,
提供包括中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注等丰富、 高效、精准的自然语言处理技术。
- 清华大学自然语言处理与社会人文计算实验室的一些开源工具包
作者:刘知远
链接:https://www.zhihu.com/question/19929473/answer/90201148
来源:知乎
中文词法分析
THULAC:一个高效的中文词法分析工具包
包括中文分词、词性标注功能。已经提供C++、Java、Python版本。
中文文本分类
THUCTC: 一个高效的中文文本分类工具
提供高效的中文文本特征提取、分类训练和测试功能。
THUTag: 关键词抽取与社会标签推荐工具包
GitHub - YeDeming/THUTag: A Package of Keyphrase Extraction and Social Tag Suggestion
提供关键词抽取、社会标签推荐功能,包括TextRank、ExpandRank、Topical PageRank(TPR)、Tag-LDA、Word Trigger Model、Word Alignment Model等算法。
PLDA / PLDA+: 一个高效的LDA分布式学习工具包
https://code.google.com/archive/p/plda/
知识表示学习
知识表示学习工具包
GitHub - Mrlyk423/Relation_Extraction: Knowledge Base Embedding
包括TransE、TransH、TransR、PTransE等算法。
考虑实体描述的知识表示学习算法
GitHub - xrb92/DKRL: Representation Learning of Knowledge Graphs with Entity Descriptions
词表示学习
跨语言词表示学习算法
Learning Cross-lingual Word Embeddings via Matrix Co-factorization
主题增强的词表示学习算法
GitHub - largelymfs/topical_word_embeddings: A demo code for topical word embedding
可解释的词表示学习算法
GitHub - SkTim/OIWE: Online Interpretable Word Embeddings
考虑字的词表示学习算法
GitHub - Leonard-Xu/CWE
网络表示学习
文本增强的网络表示学习算法
GitHub - albertyang33/TADW: code for IJCAI2015 paper “Network Representation Learning with Rich Text Information”
5.自然语言处理有哪些参考学习资料?
吴军的《数学之美》一书中讲了一些关于自然语言处理的例子,做为入门学习很不错。
冯志伟的《自然语言处理简明教程》这本书讲解了自然语言处理的基本方法,描述了每一种方法的技术原理和实际应用过程,是不错的扩展教程。
Steven Bird的《Python自然语言处理 》也是入门书,帮助读者运用Python和NLTK掌握实用技能。通过示例和练习可以学习抽取信息、解析语言、进行语义分析、访问语言学数据库等等。
Coursera上DeepLearning.AI的在线教程:https://www.coursera.org/specializations/natural-language-processing
欢迎大家留言,一起讨论自然语言处理的学习。
具体内容,欢迎下载幻灯片数据分析与人工智能实践之自然语言处理与图像处理。
【新手上路常见问答】关于自然语言处理(NLP)相关推荐
- 【新手上路常见问答】关于技术管理
目录 1. 做技术管理需要具备哪些基本素质? 2. 技术管理工作包括哪些方面? 3. 不懂技术能做技术管理么? 4. 如何快速掌握一个技术领域的基本内容? 5. 做技术管理有哪些参考书籍? 为帮助开发 ...
- 【新手上路常见问答】关于知识工程
目录 目录 1.什么是知识工程? 2.知识工程的理论基础是? 3.知识工程的研究内容是? 4.如何实施知识工程? 5.可以解决怎样的问题? 6.有哪些工具可以用于知识工程? 7.目前成功的案例是? 8 ...
- 【新手上路常见问答】关于物联网传输协议MQTT
1.物联网数据传输的要求是什么? 物联网中的数据传输会面临很多挑战.采集发送数据的终端能耗应该较小,在低带宽和不稳定的网络情况下,需要保证数据的传输是成功的,保证数据不被重复发送,连接断开后可以进行重 ...
- HanLP《自然语言处理入门》笔记--1.新手上路
文章目录 1. 新手上路 1.1 自然语言与编程语言的比较 1.2 自然语言处理的层次 1.3 自然语言处理的流派 1.4 机器学习 1.5 语料库 1.6 开源工具 1.7 总结 1.8 GitHu ...
- 自然语言处理之新手上路
1. 新手上路 自然语言处理(Natural Language Processing,NLP)是一门融合了计算机科学.人工智能及语言学的交叉学科,它们的关系如下图所示.这门学科研究的是如何通过机器学习 ...
- python自然语言处理入门-新手上路
新手上路 博主微信公众号(左).Python+智能大数据+AI学习交流群(右):欢迎关注和加群,大家一起学习交流,共同进步! 目录 摘要 1. 自然语言与编程语言 2. 自然语言处理的层次 2.1 语 ...
- 自然语言处理NLP之BERT、BERT是什么、智能问答、阅读理解、分词、词性标注、数据增强、文本分类、BERT的知识表示本质
自然语言处理NLP之BERT.BERT是什么.智能问答.阅读理解.分词.词性标注.数据增强.文本分类.BERT的知识表示本质 目录
- 自然语言处理NLP之文本蕴涵、智能问答、语音识别、对话系统、文本分类、情感计算
自然语言处理NLP之文本蕴涵.智能问答.语音识别.对话系统.文本分类.情感计算 目录
- 一、自然语言处理(新手上路)
目录 前言 1. 自然语言与编程语言 2. 自然语言处理层次 2.1 语音.图像和文本 2.2 中文分词.词性标注和命名实体识别 2.3 信息抽取 2.4 文本分类与文本聚类 2.5 句法分析 2.6 ...
最新文章
- 数据访问层之数据库访问设计(转)
- MVC中一个表单实现多个提交按钮(一个action搞定添删改)
- PHP-数据库长连接mysql_pconnect的细节
- Java 8 Stream API详解--转
- 16进制的两位数转换不了 matlab_【大学生计算机基础】进制那些问题。小数或整数转换,各种进制间转换.........
- 大话数据结构 (程杰 著)
- 想做出让老板眼前一亮的可视化报告,这几个“心机”千万要有
- Linux监控工具Spotlight on Unix
- 【车牌识别】基于matlab GUI模板匹配车牌识别(带面板)【含Matlab源码 1215期】
- 图像标注工具labelImg使用
- 2019年 CCF 中国计算机学会推荐国际学术会议和期刊目录 最新版
- 清华贫困生的树洞,没有卖惨与诉苦,那股韧劲直抵人心
- 【人脸识别】基于 Gabor+SVM和PCA+SVM实现人脸识别matlab源码含 GUI
- UE4 VR 重置摄像机朝向
- ispreedSheet ios编辑类似表格界面在ipad上
- C语言入门篇----system命令
- 电商项目的数据库表设计(MySQL版)
- 计算机d盘d桌面不见了,计算机D驱动器中的文件夹自动消失. 我没有隐藏或删除它. 我为什么找不到它?...
- 微信JSSDK多图片上传
- 小学生学数学c语言编程,用C语言做出小学生数学应用题的感觉
热门文章
- matlab绘制不同角度的抛体运动
- 机器学习笔记 - 特征向量和特征值
- 平安科技美国研究院院长韩玫:AI赋能传统行业,要知其然也知其所以然
- cam是计算机应用领域中的一种 其含义是,CAM是计算机应用领域中的一种,其含义是()。...
- PHP图书信息表books,创建一个图书表
- AttributeError: module ‘keras_applications‘ has no attribute
- Java通过SMS短信平台实现发短信功能
- sht20 python_SHT20 IIC 寄存器概述
- php报错:PHP Startup Unable to load dynamic library
- ThingJS-X森可视平台框架源码 java+Netcore版本 旗舰版企业版