【实战电子书+代码】自然语言处理实战,545页pdf,使用Python理解、分析和生成文本

2019 年 12 月 28 日 专知

【导读】自然语言处理(NLP)系统的开发已建立了通过人脑与人脑之间进行信息流和计算的多种技术。这本新书Natural Language Processing in Action

Understanding, analyzing, and generating text with Python 为我们提供了从基础知识到动手构建后端NLP系统的全套学习内容,希望对您开启NLP学习之旅有所帮助



自然语言处理是现实世界中处理和生成自然语言文本的使用指南。在本书中,作者为我们提供了构建后端NLP系统所要的所有工具和技术,可以支持聊天机器人、垃圾邮件过滤器、论坛主持人、情感分析器、知识库生成器等您可以想象到的自然语言文本挖掘程序或其他NLP应用程序。


本书提供了许多最佳实践实例并深入了解了最新的NLP算法的功能。对于特殊主题,作者也提供了足够的背景材料和引用资源。


Code地址:

https://github.com/totalgood/nlpia



作者介绍


Hobson Lane在构建自主系统以代表人类做出重要决策方面拥有20年的经验。在Talentpair,HOBSON 通过机器来阅读和理解简历,并且出现的错误比大多数招聘者的要少。在Aira,他帮助建立了他们的第一个聊天机器人,为盲人解释视觉世界。他为开源项目(例如Keras,scikit-learn,PyBrain,PUGNLP和ChatterBot)做出了巨大贡献。他目前正在为Total Good开展一个开放式科学研究和教育项目,包括建立一个开源认知助手。他在AIAA,PyCon,PAIS和IEEE上发表多篇论文,并获得了机器人技术和自动化方面的多项专利。



Hannes Max Hapke是一名电气工程师,是一名机器学习工程师。高中时他疯狂迷上了神经网络,同时研究了在微控制器上计算神经网络的方法。在大学后期,他运用神经网络的概念来有效地控制可再生能源发电厂。Hannes喜欢使软件开发和机器学习。他与人合著了深度学习模型和用于招聘,能源和医疗保健应用的机器学习pipeline。



Cole Howard是一位机器学习工程师,NLP从业者和作家。他为超维机器智能系统(深度学习神经网络)开发了大型电子商务推荐引擎和最新的神经网络,在Kaggle竞赛的排行榜中名列前茅。他在 Open Source Bridge Conference和Hack大学上发表了关于卷积神经网络,递归神经网络及其在自然语言处理中的作用的演讲。



内容介绍

本书的第一部分介绍了自然语言以及将自然语言转换为可以搜索和计算的数字的基础方法,如果您不熟悉Python和NLP,可以从书的第一部分开始。掌握了基础知识之后,一些简单的循环计算就可以解决一些重要的问题,比如像垃圾邮件过滤的小项目。


本书的第二部分的核心是对神经网络复杂计算和通信网络的探索,例如文本摘要以及语言翻译,将会对词向量、文档句子有了新的认识,并且该部分作者提供了相关代码,通过实际的操作会对该部分内容有一个更深入的了解与认识。


本书的第三部分,将跟着作者学习如何构建与人进行问答对话的机器。将学习如何提取日期和名称等信息来构建应用程序,在最后三章,将介NLP的棘手问题,将学习到构建聊天机器人的几种不同方法,以及处理大型语料库的算法。




代码准备工作介绍

需要安装一个bash shell, Git的安装程序包括适用于所有三个主要操作系统的bash shell。安装Git后,启动bash终端。


Step 1 安装anaconda 3:

  • Linux(https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh)

  • MacOSX(https://repo.anaconda.com/archive/Anaconda3-5.2.0-MacOSX-x86_64.pkg)

  • Windows(https://repo.anaconda.com/archive/Anaconda3-5.2.0-Windows-x86_64.exe)


Step 2 安装编辑器:

如果使用jupyter notebook或VSCode或Spyder(内置在Anaconda中),则可以跳过此步骤。

作者推荐Sublime Text。它比其他选择更干净,更成熟。另外,它还有更多的个人开发人员编写的插件。


Step3 安装Git和Bash:

  • Linux-已安装

  • MacOSX-已安装

  • Windows(https://git-scm.com/downloads)

需要确保你的PATH变量包含到conda,Python和其他anaconda安装的编辑器的路径。可以通过一下语句进行设置:

echo "PATH=$HOME/Anaconda3/bin:$PATH" >> ~/.bashrc


或者

echo "PATH=/c/Users/$USER/AppData/Local/Continuum/Anaconda3/:$PATH" >> ~/.bashrc


需要确保启动了新的MINGW64终端,winpty以诱骗用户将MINGW64终端(git-bash)视为符合标准的TTY终端应用程序。因此,~/.bashrc从git-bash终端中将aliases添加到您的:

echo "alias python='winpty python'" >> ~/.bashrcecho "alias jupyter='winpty jupyter'" >> ~/.bashrcecho "alias ipython='winpty ipython'" >> ~/.bashrc


Step4 克隆:

git clone https://github.com/totalgood/nlpia.git


Step5 安装 nlpia:

可以使用备用的软件包管理器安装nlpia:

  • 5.1. conda

  • 5.2. pip

  • 5.3. docker

可选操作 5.1. conda


创建环境nlpaienv:

cd nlpia  # make sure you're in the nlpia directory that contains `setup.py`conda env create -n nlpiaenv -f conda/environment.ymlconda install -y pip  # to get the latest version of pipconda activate nlpiaenvpip install -e .


在运行此部分时,都要先激活环境:

conda activate nlpiaenv


在windows系统中的操作:

C:\ activate nlpiaenv


确保导入nlpia:

python -c "print(import nlpia)"


结束之后就可以运行书中的代码啦。


可选操作 5.2. pip:

cd nlpiapip install --upgrade pippip install -e .


或者

pip install nlpia


基于Linux的操作系统(如Ubuntu和OSX)内置了C ++编译器,因此您可以使用pip,但是,如果您使用的是Windows,并且要安装软件包,例如python-levenshtein需要编译的C ++库,则需要编译器。Microsoft允许免费下载编译器,有了C / C ++编译器和python源代码文件,就可以使用pip 安装nlpia:

cd nlpia  # make sure you're in the nlpia directory that contains `setup.py`pip install --upgrade pipmkvirtualenv nlpiaenvsource nlpiaenv/bin/activatepip install -r requirements-test.txtpip install -e .pip install -r requirements-deep.txt


nlpia由于安装问题,附带的聊天机器人(包括TTS和STT音频驱动程序)可能与Windows不兼容pycrypto。


可选操作 5.3. docker:

  • jupyter docker image

docker build -t nlpia .

  • 运行

n -p 8888:8888 nlpia

复制从运行日志获得的token

打开浏览器并使用链接 

http://localhost:8888/?token=...

  • 如果要保留文件或者正在运行的文件夹,使用以下语句:

docker run -p 8888:8888 -v ~:/home/jovyan/work nlpia

便捷下载,请关注专知公众号(点击上方蓝色专知关注)

  • 后台回复"NLPA” 获取《自然语言处理实战》专知会员资源链接索引~ 


专 · 知


专知,专业可信的人工智能知识分发,让认知协作更快更好!欢迎注册登录专知www.zhuanzhi.ai,获取5000+AI主题干货知识资料!
欢迎微信扫一扫加入专知人工智能知识星球群,获取最新AI专业干货知识教程视频资料和与专家交流咨询
点击“阅读原文”,了解使用专知,查看5000+AI主题知识资料
登录查看更多
0

相关内容

自然语言处理(NLP)是语言学,计算机科学,信息工程和人工智能的一个子领域,与计算机和人类(自然)语言之间的相互作用有关,尤其是如何对计算机进行编程以处理和分析大量自然语言数据 。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【干货书】机器学习Python实战教程,366页pdf
专知会员服务
338+阅读 · 2020年3月17日
【新书】深度学习搜索,Deep Learning for Search,附327页pdf
专知会员服务
204+阅读 · 2020年1月13日
(免费精品课程分享)-PyTorch深度学习实战
深度学习与NLP
18+阅读 · 2018年10月28日
自然语言处理NLP快速入门
专知
20+阅读 · 2018年10月8日
【理论+代码】公开课全免费,手把手带你进入人工智能领域
量化投资与机器学习
10+阅读 · 2018年4月7日
Python NLP入门教程
计算机与网络安全
9+阅读 · 2017年11月21日
Arxiv
3+阅读 · 2019年9月5日
Arxiv
53+阅读 · 2018年12月11日
Arxiv
22+阅读 · 2018年8月30日
Arxiv
4+阅读 · 2018年3月30日
Arxiv
3+阅读 · 2018年3月21日
VIP会员
Top
微信扫码咨询专知VIP会员