《Python数据科学入门》之阅读笔记(第3章)

Python数据科学入门

Dmitry Zinoviev著
熊子源 译


第三章 使用文本数据

第13单元 处理HTML文件

Beautifulsoup通过Python字典接口实现对HTML标签属性的访问。如果标签对象t表示超链接,则超链接目标的字符串值为t[“herf”].string。HTML标签是不区分大小写的。

Soup最有用的函数:

soup.find() 找到目标的一个实例
soup.find_all() 找到目标的所有实例

HTML\XML之所以强大,是因为有多样化的功能,但是这些功能未尝不是他们的魔咒。尤其是涉及到表格数据。

第14单元 处理CSV文件

CSV写入器提供writerow()和writerows()两个函数:

Writerow() 将一个字符串或数字作为一条记录写入文件
Writerows() 将字符串或数字列的列表作为记录集写入文件

第15单元 读取JSON文件

JSON是一种轻量级的数据交换格式,该格式与编码语言无关。

某些Python中的数据类型和结构(集合、复数)无法存储在JSON中。需要在导入前将他们转换成JSON可表示的数据类型。

数据序列化:
(序列化:将复杂数据存放在JSON文件中的操作)

dump() 将一个用JSON表示的Python对象导出到先前打开的文本中
dumps() 导出的Python对象是文本字符串
loads():将有效的JSON字符串转换为Python对象

第16单元 处理自然语言中的文本

NLTK语料库:
NLTK语料库都存储在模块nltk.corpus中。

nltk.corpus.wordnet对象:一个在线语义网络WordNet(用词性和序列号标记的同义词集合)

同义词可以具有上义词(含义比较抽象的同义词)和下义词(含义比较具体的同义词)

plaintextCorpusReader创建自己的语料库:

fields() 	#返回包含在新创建的语料库中的文件列表 
raw() 		#返回语料库中原始的“原始”文件
sents() 	#返回所有句子的列表
words() 	#返回所有单词的列表

规范化

Word_tokensize(text) 切分单词
sent_tokensize(text) 切分句子
regexp_tokensize(text,re) 基于正则表达式的分词

NLTK提供了两种基本的词干分析器:

  • Porter:比较保守
  • Lancaster:比较激进,会产生更多的音型相近但含义不同的句子

Nltk.pos_tag(text):为文本中的每一个单词分配一个词性标签,其中文本是一个单词列表。函数的返回值是一个元组列表,其中元组的第一个元素是原始单词,第二个元素是标签。


"All we can do is our best, and sometimes the best we can do is to start over."--《Avengers: Endgame》

你可能感兴趣的:(NLP,Python3.7,书籍笔记)