Bootstrap

中文自然语言处理学习笔记(一)——NLP环境配置

1. NLP的开发环境

NLP的开发环境需要一种功能强大且易于使用的编程语言和相关工具。Python语言以其简洁的语法、丰富的库支持、以及内置的机器学习和数学库而备受青睐。由于Python是开源且免费的,因此无需额外资金投入即可进行NLP开发。推荐使用集成了Python开发环境和常用数据科学库的软件Anaconda,它能够简化环境设置过程。可以从 https://www.anaconda.com/download/ 下载Anaconda。

1.1 Anaconda安装

 Anaconda是一个集成了conda、Python以及180多个科学包及其依赖项的开源Python发行版本。conda是一个开源的环境管理器,可用于安装不同版本的软件包及其依赖,并方便在不同环境之间切换。如果您只需要特定的包,或者希望节省带宽和存储空间,可以选择使用较小的Miniconda发行版,它仅包含conda和Python。

Anaconda适用于多种操作系统,包括Windows、Linux和Mac OS X,您可以根据自己的系统选择对应的版本。此外,Anaconda支持同时管理Python 2.7和3.x两个版本,但本文推荐使用Python 3,因为Python 2已经停止更新维护,并且本文中所有代码都基于Python 3编写。

在Windows系统下,安装Anaconda相对简单。您可以按照默认选项进行安装,并在选择安装路径后,在“Advanced Options”中勾选“Add Anaconda to my PATH environment variable”选项。对于初学者来说,建议勾选此选项,这样可以方便后续创建多个Python环境,尽管可能会对其他程序产生影响。

1.2 Anaconda 应用介绍

安装完成后,您会在开始菜单栏中看到几个应用程序,包括 Anaconda Navigator、Anaconda Prompt、Jupyter Notebook 和 Spyder。

1. Anaconda Navigator

Anaconda Navigator 是 Anaconda 发行版中提供的桌面图形界面,可以方便地启动应用程序、管理 conda 包、环境和频道,无需使用命令行。启动 Anaconda Navigator 后会打开一个网页,其中列出了一些应用程序,如 CMD.exe Prompt、JupyterLab、Jupyter Notebook、Spyder 和 RStudio 等。如果要运行 Spyder,只需在 Navigator 的主页上点击 Spyder,即可启动并开始编写和运行代码。

2. 用Anaconda Prompt创建环境

Anaconda Prompt 类似于命令提示符 CMD,但已经配置好了环境变量。刚安装完 Anaconda 时,其中的软件包可能比较旧,为了避免未来出现错误,您可以首先打开 Anaconda Prompt,然后输入 conda update --all 命令来更新所有包。在提示是否更新时输入 y(Yes)以继续更新,等待更新完成即可。

在 Anaconda Prompt 中,您可以直接运行 Python 文件(例如 python hello.py),或者输入 python 进入交互模式。这样的交互界面能让您方便地测试和运行代码。

在开发过程中,不同项目可能需要不同版本的包甚至是不同版本的 Python,这时可以使用虚拟环境来解决这些问题。通过创建一个独立的 Python 开发环境,可以实现不同项目之间的隔离。在 Anaconda Prompt 中,您可以利用 Anaconda 提供的 conda 工具来管理不同的 Python 环境。例如,初学自然语言处理的读者可以使用 conda 创建一个专门用于 NLP 的虚拟环境。

(1) 创建NLP的虚拟环境

先查看python版本,然后创建一个名为“NLP”的虚拟环境,并且指定Python版本,如代码1‑1所示

  python --version   #查看python版本

  conda create -n NLP python=3.11.5  #如果python版本为3.11.5

(2) 进入NLP虚拟环境

创建虚拟环境完成之后,使用activate命令进入这个虚拟环境,并在NLP虚拟环境中查看配置的编译环境信息。如代码1-2所示。

activate NLP

conda info -e

1-2

图1‑2所示的信息中显示了虚拟环境所在路径,位于Anaconda安装路径下的 envs文件夹中。刚创建好虚拟环境,除了Python自带的包之外没有其他的包。查看当前环境下的所有包,如代码1‑3所示。

  conda env list   #查看所有的环境 

(3) 在NLP虚拟环境中安装或卸载程序包

在学习过程中,我们可以根据需要使用两种方式安装软件包:pip install package_name 和 conda install package_name,其中 package_name 是指软件包的名称。在虚拟环境中,使用 pip install 只会安装指定的软件包本身,而 conda install 会自动处理软件包的依赖关系。在虚拟环境中安装和卸载程序包如代码1‑4、代码1‑5所示。

注意现在不需要卸载numpy包,仅供需要卸载时用

代码1‑4

  conda install numpy  #安装numpy包 

代码1‑5 

  conda update numpy  #对现有的numpy包进行升级

  conda remove numpy  #卸载现有的numpy包。 

(4) 退出当前的编译环境

代码 1‑6 

  conda deactivate   #退出当前环境,回到最开始的环境。 

(5) 删除创建的NLP 虚拟环境

注意这里的环境后续还需要用,这一步仅供需要时使用,代码 1‑7 

  conda remove NLP --all  #删除已有的NLP 环境 

Anaconda能够管理不同环境下的包,使其在不同环境下互不影响。在NLP的学习过程中,会使用到很多的程序包,Anaconda的这种功能无疑为我们的学习提供了很大的便利。

1.3 Jupyter Notebook

Jupyter Notebook 是一个在浏览器中使用的交互式笔记本,适用于数据科学领域的人员,如机器学习和数据分析等。它允许将代码、文字和图像结合在一起,非常适合编写带有程序代码的文章,并进行交互式解释。

打开 Jupyter Notebook 有三种方式:

1. 在开始菜单栏中点击 Anaconda 下的 Jupyter Notebook 图标。
2. 在 Anaconda Prompt 中输入 "jupyter notebook" 命令,浏览器会自动打开并显示当前目录。
3. 在工作目录文件夹中按住 Shift 键并同时右键点击鼠标,在弹出的菜单中选择 "在此处打开命令窗口",然后输入 "jupyter notebook"。

打开 Jupyter Notebook 后,您可以点击右上角的 "New" 创建新的文档。Jupyter 的界面分为编辑模式和命令模式两种输入模式。当单元格的边框线是绿色时,表示处于编辑模式,可以输入代码或文本;按 Esc 键可以切换到命令模式。命令模式下的边框线是蓝色,可以使用键盘输入运行程序的命令,按 Enter 键切换回编辑模式。

在 Jupyter 中,文档以单元格为单位进行编辑。单元格有三种类型:

- Code(代码):用于输入可执行的代码。
- Heading(标题):表示此单元格的内容是标题,可以选择不同级别的标题。
- Markdown:使用 Markdown 语法编辑文本内容。

在编辑完成后,按下 Shift+Enter 快捷键或点击页面上方的 "Run Cell" 按钮来执行单元格中的命令。最后,编辑完成后,可以将文件保存为默认的 ".ipynb" 格式,也可以保存为其他格式,如 ".py"、".md"、".html" 等。

1.4 Spyder

Spyder是一款集成开发环境(IDE),提供了代码编辑器、编译器、调试器和图形用户界面工具,旨在帮助用户更便捷地编写和调试代码。与 Jupyter Notebook 类似,Spyder也是用于编写代码的 IDE 工具之一。

Spyder 的界面包括以下几个主要区域:

1. 菜单栏:包含了各种功能和命令选项。
   
2. 工具栏:提供了快捷菜单,并可以通过菜单栏中的 "View" 菜单的 "Toolbars" 选项进行勾选显示。
   
3. 工作区:用于编写和编辑代码。
   
4. 查看栏:用于查看文件、调试对象和变量。
   
5. 输出栏:显示程序的输出信息,也可作为 Python shell 终端来输入 Python 语句。
   
6. 状态栏:显示当前文件权限、编码格式、光标位置以及系统内存等信息。

菜单栏中的具体命令包括:

- File(文件):包含新建、打开、保存、关闭等文件操作。
  
- Edit(编辑):包含撤销、重复、复制、剪切等编辑内容的操作。
  
- Run(运行):用于运行代码,可以选择分块运行或整个文件的运行。
  
- Consoles(控制台):可以打开新的输出栏。
  
- Tools(工具)→Preferences(首选项)→IPython console:可调整字号、背景颜色,并设置启动执行的脚本和代码提示等。
   
- Tools→Preferences→Editor:可设置编辑器的显示方式,如背景、行号、代码提示等参数。

Spyder 提供了丰富的功能和定制选项,使得用户能够高效地编写和调试代码。

1.5 总结

简单介绍了一下nlp的环境搭建和常用的开发软件,具体软件方面的使用不多叙述,若有需要可联系我出相关程序的教程,本人水平有限,文中若有错误,欢迎指出。后续我会继续更新这系列的教程,求关注!

;