【导读】自然语言处理(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” 获取《自然语言处理实战》专知会员资源链接索引~