自然语言处理(一)布朗语料库

什么是自然语言处理?

自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它是一门融语言学、计算机科学、数学于一体的科学。

0.jpg

自然语言处理的英文全称为:Natural Language Processing 人们习惯将其简称为NLP.

1.jpg

简单来说,自然语言处理就是用计算机与文本打交道。例如:文本分类、机器翻译、阅读理解等都属于自然语言处理范畴。

2.jpg

2017高考时,智能教育机器人Aidam和成都准星云学科技有限公司开发的人工智能系统AI-Maths也“参加高考“,成为了高考大军中的一员。

3.jpg

机器人高考文科全国卷II获得134分,用时仅仅10分钟!这都是自然语言处理的研究成果。


4.jpg

什么是NLTK?

利用python进行深度学习完成自然语言处理项目时,常常会看到一些大佬们用NLTK,那么NLTK到底是什么呢?

5.jpg

NLTK是python中著名的自然语言处理库,自带语料库、词性分类库、自带分类、分词、等诸多功能,是自然语言处理的“金钥匙”。

6.jpg

NLTK的安装

  • Linux(以centos7为例):

    在Linux下安装十分方便,直接在终端输入: sudo pip install nltk 即可。

    7.jpg

  • Windows(以win7为例):

    在windows下安装,网上的一些陈旧安装方法过于繁琐,小叮当为大家分享一种目前来说较为方便的安装方法:

    Step1.进入python的第三方库网址:

    https://www.lfd.uci.edu/~gohlke/pythonlibs/#genshi

8.jpg

Step2.搜索NLTK安装包:
说到搜索,让我更不解的是,明明一个"Ctrl+F"操作就可以解决的事,好多人非要自己滑着滚动条去找,只能说,你开心就好,我小叮当无话可说~

9.jpg

反正小叮当我是这样搜索的,直接“Ctrl+F”,在网页右上角出来的文本框中,输入“nltk",回车,让计算机自动帮我们搜索。

10.jpg

Step3.下载nltk包到本地:

点击ntlk安装包直接下载,目前这个包的名称是"nltk‑3.3‑py2.py3‑none‑any.whl”(顾名思义,对于python2和python3都支持,放心地用吧)

11.jpg

此时,只需要注意一点:记录好下载的路径(或是像小叮当一样,直接放到一个盘的根目录下,简单又好记)和包的名称,因为一会儿安装时要用到。

Step4.安装NLTK:

打开CMD命令窗口,输入命令:

pip install F:\nltk‑3.3‑py2.py3‑none‑any.whl

这里“F:\nltk-3.3-py2.py3-none-any.whl"就是你刚下载的位置和包的名称。

12.jpg

过一会儿,nltk就在你的电脑上装好了~(如过你用pycharm编辑器时import nltk还会出错,这可能是你没有设置安装包自动加载到项目中,可以参考7行代码,彻底告别python第三方包import导入问题!

NlTK自带语料库

NlTK自带语料库,我们可以通过执行“nltk.download()"调出nltk下载器,来下载我们需要的相关语料库。我们以在win7环境下为例,进行说明。

13.jpg
1#!/usr/bin/env python
2# -*- coding:utf-8 -*-
3__author__ = 'IT小叮当'
4date: 2018 / 10 / 16
5import nltk
6nltk.download()

我们以下载"布朗语料库”(Brown Corpus)为例,进行说明。布朗语料库(Brown Corpus)是在1960年中期美国布朗大学构建的一个具代表性的平衡语料库,是第一个机读语料库,也是第一个平衡语料库

14.jpg

甚至后来新构建的英语平衡语料库如lob(Lancaster-Oslo/Bergen,英国英文)London-Lund(英语口语),都还仍遵循布朗语料库的架构。布朗语料库收集了500个连贯英语书面语,文本每个文本超过2000词,整个语料库共有1161192个词。

我们选中,NLTK下载器中的“ALL Packages”,拖动右端的滚动条,在"Identifier"所在的列,找到在"brown"(也可在Name列找“Brown Corpus”),点击“Download”便可进行下载。

15.jpg

下载完成后,该项便会自动被标绿,表示已经下载完成,下方也有相应的提示“Finished installing brown"。

16.jpg

我们通过执行如下代码,可以看到布朗语料库共包含了15个分类,有'adventure')、‘belles_lettres’(纯文学)、'editorial'(编辑), 'fiction'(小说), 'government'(政府), 'hobbies'(爱好), 'humor'(幽默), 'learned'(学术), 'lore'(知识), 'mystery'(推理小说), 'news'(新闻), 'religion', 'reviews'(评论), 'romance'(浪漫), 'science_fiction'(科幻小说),布朗语料库包含了57340个句子和1161192个词汇。

17.jpg

具体代码如下:

 1#!/usr/bin/env python 
2# -*- coding:utf-8 -*- 
3__author__ = 'IT小叮当'
 4date: 2018 / 10 / 16 
5from  nltk.corpus import brown
 6classes=brown.categories()
 7print("布朗语料库的主题分类:") 
8print(classes) 
9l=len(brown.sents())
10print("布朗语料库的句子个数:"+str(l))
11word=len(brown.words())
12print("布朗语料库的词汇个数:"+str(word))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容