机器学习之路: python nltk 文本特征提取
- git: https://github.com/linyi0604/MachineLearning
- 分别使用词袋法和nltk自然预言处理包提供的文本特征提取
- from sklearn.feature_extraction.text import CountVectorizer
- import nltk
- # nltk.download("punkt")
- # nltk.download('averaged_perceptron_tagger')
- '''
- 分别使用词袋法和nltk自然预言处理包提供的文本特征提取
- '''
- sent1 = "The cat is walking in the bedroom."
- sent2 = "A dog was running across the kitchen."
- # 使用词袋法 将文本转化为特征向量
- count_vec = CountVectorizer()
- sentences = [sent1, sent2]
- # 输出转化后的特征向量
- # print(count_vec.fit_transform(sentences).toarray())
- '''
- [[0 1 1 0 1 1 0 0 2 1 0]
- [1 0 0 1 0 0 1 1 1 0 1]]
- '''
- # 输出转化后特征的含义
- # print(count_vec.get_feature_names())
- '''
- ['across', 'bedroom', 'cat', 'dog', 'in', 'is', 'kitchen', 'running', 'the', 'walking', 'was']
- '''
- # 使用nltk对文本进行语言分析
- # 对句子词汇分割和正则化 把aren't 分割成 are 和 n't I'm 分割成 I和'm
- tokens1 = nltk.word_tokenize(sent1)
- tokens2 = nltk.word_tokenize(sent2)
- # print(tokens1)
- # print(tokens2)
- '''
- ['The', 'cat', 'is', 'walking', 'in', 'the', 'bedroom', '.']
- ['A', 'dog', 'was', 'running', 'across', 'the', 'kitchen', '.']
- '''
- # 整理词汇表 按照ASCII的顺序排序
- vocab_1 = sorted(set(tokens1))
- vocab_2 = sorted(set(tokens2))
- # print(vocab_1)
- # print(vocab_2)
- '''
- ['.', 'The', 'bedroom', 'cat', 'in', 'is', 'the', 'walking']
- ['.', 'A', 'across', 'dog', 'kitchen', 'running', 'the', 'was']
- '''
- # 初始化stemer 寻找每个单词最原始的词根
- stemmer = nltk.stem.PorterStemmer()
- stem_1 = [stemmer.stem(t) for t in tokens1]
- stem_2 = [stemmer.stem(t) for t in tokens2]
- # print(stem_1)
- # print(stem_2)
- '''
- ['the', 'cat', 'is', 'walk', 'in', 'the', 'bedroom', '.']
- ['A', 'dog', 'wa', 'run', 'across', 'the', 'kitchen', '.']
- '''
- # 利用词性标注器 对词性进行标注
- pos_tag_1 = nltk.tag.pos_tag(tokens1)
- pos_tag_2 = nltk.tag.pos_tag(tokens2)
- # print(pos_tag_1)
- # print(pos_tag_2)
- '''
- [('The', 'DT'), ('cat', 'NN'), ('is', 'VBZ'), ('walking', 'VBG'), ('in', 'IN'), ('the', 'DT'), ('bedroom', 'NN'), ('.', '.')]
- [('A', 'DT'), ('dog', 'NN'), ('was', 'VBD'), ('running', 'VBG'), ('across', 'IN'), ('the', 'DT'), ('kitchen', 'NN'), ('.', '.')]
- '''
机器学习之路: python nltk 文本特征提取的更多相关文章
- 机器学习之路: python k近邻分类器 KNeighborsClassifier 鸢尾花分类预测
使用python语言 学习k近邻分类器的api 欢迎来到我的git查看源代码: https://github.com/linyi0604/MachineLearning from sklearn.da ...
- 机器学习之路--Python
常用数据结构 1.list 列表 有序集合 classmates = ['Michael', 'Bob', 'Tracy'] len(classmates) classmates[0] len(cla ...
- 机器学习之路: python 回归树 DecisionTreeRegressor 预测波士顿房价
python3 学习api的使用 git: https://github.com/linyi0604/MachineLearning 代码: from sklearn.datasets import ...
- 机器学习之路: python 线性回归LinearRegression, 随机参数回归SGDRegressor 预测波士顿房价
python3学习使用api 线性回归,和 随机参数回归 git: https://github.com/linyi0604/MachineLearning from sklearn.datasets ...
- 机器学习之路: python 决策树分类DecisionTreeClassifier 预测泰坦尼克号乘客是否幸存
使用python3 学习了决策树分类器的api 涉及到 特征的提取,数据类型保留,分类类型抽取出来新的类型 需要网上下载数据集,我把他们下载到了本地, 可以到我的git下载代码和数据集: https: ...
- python —— 文本特征提取 CountVectorize
CountVectorize 来自:python学习 文本特征提取(二) CountVectorizer TfidfVectorizer 中文处理 - CSDN博客 https://blog.csdn ...
- 机器学习之路:python 文本特征提取 CountVectorizer, TfidfVectorizer
本特征提取: 将文本数据转化成特征向量的过程 比较常用的文本特征表示法为词袋法词袋法: 不考虑词语出现的顺序,每个出现过的词汇单独作为一列特征 这些不重复的特征词汇集合为词表 每一个文本都可以在很长的 ...
- 【NLP】干货!Python NLTK结合stanford NLP工具包进行文本处理
干货!详述Python NLTK下如何使用stanford NLP工具包 作者:白宁超 2016年11月6日19:28:43 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的 ...
- 【NLP】Python NLTK处理原始文本
Python NLTK 处理原始文本 作者:白宁超 2016年11月8日22:45:44 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集的大量公开 ...
随机推荐
- markdown小记(语法+markdownpad)
一.有道云笔记markdown语法小记 1.目录[TOC] 2.标题# 一级标题## 二级标题...###### 六级标题 3.项目列表有序列表: 1. 1. (显示为i.) 2. 3. - (显示为 ...
- Linux基础-swap交换分区
任务:对一块15G大小的硬盘进行分区,主分区为5G,扩展分区10G,一个逻辑分区5G作为swap交换分区,并激活查看新的swap分区 第一步,建立的新的SCSI硬盘,开启Linux系统前添加一块大小为 ...
- 南京邮电大学 CTF 逆向部分 Writeup
Hello,RE! 提示 IDA 中按 R . Google 到 IDA 中 R 快捷键是 Character ,转为字符串. 丢进 IDA(虽然我并不会使用 IDA 有个 strcmp 函数,比较 ...
- YUV422(UYVY)转RGB565源代码及其讲解.md
目录 前言 源码 代码分析 YUV三个分量的关系 循环遍历 结束语 前言 使用zmm220核心板,IFACE102版本的内核等,4300型号的LCD,XC7011_SC1145摄像头,亲测有效. 本文 ...
- Linux内核跟踪之ring buffer的实现【转】
转自:http://blog.chinaunix.net/uid-20543183-id-1930845.html ---------------------------------------- ...
- Oracle基础结构认知—初识oracle【转】
Oracle服务器(oracle server)由实例和数据库组成.其中,实例就是所谓的关系型数据库管理系统(Relational Database Management System,RDBMS), ...
- MySQL增量备份与恢复实例【转】
小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,就不太可能每天进行一次完整备份了,这时候就可以使用增量备份.增量备份的原理就是使用了mysql的binlog日志.本次操作的 ...
- pl/sql developer 设置oracle的date类型默认显示样式
oracle里默认的date显示样式: 我的是汉化过的: 进入后,点击工具->首选项->日期/时间设置即可: 设置后在pl/sql developer中查看: 英文版的操作步骤: Tool ...
- c++ 类的构造顺序
在单继承的情况下,父类构造先于子类,子类析构先于父类,例: class A { public: A() { cout << "A" << endl; } ~ ...
- openjudge-NOI 2.5基本算法之搜索 专题题解目录
1.1700 八皇后问题 2.1756 八皇后 3.1789 算24