当前位置:   article > 正文

只需5步用python让你掌握NLP基本概念(赶快收藏)_python 自然语言理解 识别上下文内容 不联网

python 自然语言理解 识别上下文内容 不联网

NLP简介 自然语言处理属于人工智能领域。所有计算机都擅长对数值数据进行处理,NLP这一部分计算机技术是处理文本数据,用来分析世界上不同的语言的。 现在NLP的应用大多都在机器翻译、舆情监测、自动摘要、观点提取、文本分类、问题回答、文本语义对比、语音识别、中文OCR等方面。

今天我们要get到的技能就是使用 Python中Spacy和NLTK 等库对语言处理进行基本概念的学习。

众所周知我们分析原始文本数据,数据量,代码量小的情况下,可以人眼分析一些。

但是如果我们试图在编程中建立一种机制,使用Python从文本数据中分析和提取最大的信息的话,我们还是使用 jupyter notebook 协助python编程代码进行所有处理和分析语言处理比较好。(Jupyter采用anaconda 发行版。)

毕竟用jupyter notebook的话就不用在回顾项目的时候再一次次的重新跑一遍代码了!

介绍了本篇教程的目的和要使用工具,学姐要开始上硬菜了!

五步走主题如下:

第 1 步:Spacy和NLTK安装指南

第 2 步:关于文本的基本概念和正则表达式

第 3 步:标记化和词干

第 4 步:词形还原和停用词

第 5步:词性 (POS) 和命名实体识别 (NER)

别跑,接下来我们就一步一步的说,保管你能看懂学会。

第 1 步:安装指南

安装 anaconda

首先安装 anaconda 发行版,安装后,anaconda会在环境中安装Spacy和NLTK库。

安装Spacy和NLTK

NLTK配置(安装NLTK库,命令行输入以下命令):

pip3 install nltk

有些时候的nltk代码需要语料库才能运行,运行下面的python代码下载语料库。

  1. import nltk
  2. nltk.download()

Spacy配置(安装spacy库,命令行输入以下命令):

pip3 install spacy

接着下载spacy的英语语言库:

python -m spacy download en #en stands for english

注意spacy使用时候需要声明使用的模型

  1. import spacy
  2. nlp = spacy.load('en_core_web_sm')

也可以下载spacy的中文语言库:

  1. python -m spacy download zh_core_web_sm
  2. import spacy
  3. nlp = spacy.load("zh_core_web_sm")

spacy库各语种下载传送门:https://spacy.io/usage/models#quickstart

第 2 步:文本的基本概念

安装下载好之后,接下来开始用 python读取这些文件,进行语言处理。先用一些文本数据来初步尝试一下,先从基本字符串开始:

  1. #打印普通字符串
  2. print('Amit')
  3. #output: Amit

举个例子:

字符串的名称是 GURUGRAM,这是一个城市的名字。如果需要选择特定范围的字母表时,要使用切片法和索引法。

当我们从左到右时,索引从0开始,当我们想要从右到左的字母表时,它从负 (-1) 开始,而不是从零开始。

然后用python进行以下操作:

  1. #首先将字符串插入到变量中
  2. string = GURUGRAM
  3. #获取第一个带有索引的字母
  4. print(string[0])
  5. #输出:G
  6. #打印多个字母
  7. print(string[2], string[5])
  8. #输出:RR
  9. #用于获取带有负索引的字母
  10. print(string[-4])
  11. #输出:G

现在通过切片获取字符:

  1. print(string[0:2])
  2. #output: GU
  3. print(string[1:4])
  4. #output: URU

是不是感觉有点意思了?那就开始挑战对句子的处理吧!

接下来是strip()函数表演时间,此函数可以删除开头和结尾的字符,但不能删除中间的字符,如果我们不指定删除字符,则默认情况下它将删除空格。

  1. #一个句子和句子中的移除字符
  2. sentence = "****Hello World! I am Amit Chauhan****"
  3. remove_character = "*"
  4. #使用strip函数去除
  5. star(*) sentence.strip(removing_character)
  6. #output:
  7. 'Hello World! I am Amit Chauhan'

上面的例子是从句子中去掉了星号。因此可以看出,这个函数可以去除字符,大家可以尝试以下不指定删除字符是什么样的结果。

和strip函数完全相反的操作是join操作,例子:

  1. str1 = "Happy"
  2. str2 = "Home""
  3. Good ".join([str1, str2])
  4. #output: 'Happy Good Home'

正则表达式

正则表达式有时称为关系表达式或 RegEx,用于字符或字符串匹配,在许多情况下用于查找和替换字符或字符串。

那如何在正则表达式中处理字符串和模式?首先学习在实际操作中导入正则表达式:

  1. # 要使用正则表达式,我们需要 import re
  2. import re

如何对简单字符串使用“re”?例子:

首先得有一个句子,然后在其中找到字符串,再对字符串进行一些操作

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/614519
推荐阅读
相关标签