Python机器学习NLP自然语言处理基本操作词袋模型
作者:我是小白呀 发布时间:2023-08-20 06:23:30
标签:Python,机器学习,NLP,词袋模型
概述
从今天开始我们将开启一段自然语言处理 (NLP) 的旅程. 自然语言处理可以让来处理, 理解, 以及运用人类的语言, 实现机器语言和人类语言之间的沟通桥梁.
词袋模型
词袋模型 (Bag of Words Model) 能帮助我们把一个句子转换为向量表示. 词袋模型把文本看作是无序的词汇集合, 把每一单词都进行统计.
向量化
词袋模型首先会进行分词, 在分词之后. 通过通过统计在每个词在文本中出现的次数. 我们就可以得到该文本基于词语的特征, 如果将各个文本样本的这些词与对应的词频放在一起, 就是我们常说的向量化.
例子:
import jieba
from gensim import corpora
# 定义标点符号
punctuation = [",", "。", ":", ";", "?", "!"]
# 定义语料
content = [
"今天天气真不错!",
"明天要下雨?",
"后天要打雷。"
]
# 分词
seg = [jieba.lcut(con) for con in content]
print("语料:", seg)
# 去除标点符号
tokenized = seg.copy()
for s in tokenized:
for p in punctuation:
if p in s:
s.remove(p)
print("去除标点:", tokenized)
# tokenized是去标点之后的
dictionary = corpora.Dictionary(seg)
print("词袋模型:", dictionary)
# 保存词典
dictionary.save('deerwester.dict')
# 查看字典和下标id的映射
print("编号:", dictionary.token2id)
输出结果:
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\Windows\AppData\Local\Temp\jieba.cache
Loading model cost 1.140 seconds.
Prefix dict has been built successfully.
语料: [['今天天气', '真不错', '!'], ['明天', '要', '下雨', '?'], ['后天', '要', '打雷', '。']]
去除标点: [['今天天气', '真不错'], ['明天', '要', '下雨'], ['后天', '要', '打雷']]
词袋模型: Dictionary(7 unique tokens: ['今天天气', '真不错', '下雨', '明天', '要']...)
编号: {'今天天气': 0, '真不错': 1, '下雨': 2, '明天': 3, '要': 4, '后天': 5, '打雷': 6}
来源:https://blog.csdn.net/weixin_46274168/article/details/120125023


猜你喜欢
- 本文实例讲述了django框架模板语言使用方法。分享给大家供大家参考,具体如下:模板功能作用:生成html界面内容,模版致力于界面如何显示,
- IDEA版本:2020.25. 用户名中文问题导致Jrebel用不了 - 解决方案5.1 重装系统 - 下次不要用中文啦5.2 改注册表,并
- 近段时间由于修改一个ASP程序(有SQL注入漏洞),在网上找了很多相关的一些防范办法,都不近人意,所以我将现在网上的一些方法综合改良了一下,
- 循环写入字典key、value、删除指定的键值对:原文本‘jp_url.txt'每行元素以逗号分隔:host_key,product
- few-shot learning的采样Few-shot learning 基于任务对模型进行训练,在N-way-K-shot中,一个任务中
- 想大家都做过遮罩层这种常见的功能,css或jquery实现,实现方式多样化,这里http://我介绍我在项目中实现的方式,全屏遮罩,部分区域
- 在现代的 web 框架里面,基本都有实现了依赖注入的功能,可以让我们很方便地对应用的依赖进行管理,同时免去在各个地方 new 对象的麻烦。比
- PostMessage()def keyHwnd(hwndEx, char): """  
- python这样注释,让你的代码看起来更加的优雅,是不是常常感觉自己的python代码写出来,看起来特别的乱,虽然可以正常运行,但是在优雅性
- 表数据导出到一个文本文件最简单的方法是使用SELECT... INTO OUTFILE语句的查询结果直接导出到一个文件在服务器主机上。导出数
- 我一直都不喜欢在访问数据库时采用拼接SQL的方法,原因有以下几点: 1. 不安全:有被SQL注入的风险。 2. 可能会影响性能:每条SQL语
- 前言SQL Server创建表是最常见也是最常用的操作之一,下面就为您介绍SQL Server创建表的语句写法,供您参考,希望可以让您对SQ
- 今天将webserice里面的一个代码,拷到一个C#类,结果运行编译错误。DataBase = Server.MapPath("d
- 每个程序员都绝对必须知道的关于字符集和Unicode的那点儿事(别找借口!)Unicode与字符集你曾经是否觉得HTML中的"Co
- 在实验中需要自己构造单独的HTTP数据报文,而使用SOCK_STREAM进行发送数据包,需要进行完整的TCP交互。因此想使用原始套接字进行编
- 1. 判断表单元素是否存在(一) if("periodPerMonth" in document.theForm) {
- 先看看结果吧,去bilibili上拿到的图片=-=第一步,导入模块import requestsfrom bs4 import Beauti
- function formatNum(num){ if
- 通常报表都存储在一个地方,但是在单独的文件中。随着文件数量的增加在结构和搜索上也困难多多,针对这个问题,我遇到了一个非常有趣的报表对象属性&
- 简介 tensorflow 配套的可视化工具, 将你的计算图画出来.当训练一个巨大的网络的时候, 计算图既复杂又令人困惑. TensorBo