Python机器学习NLP自然语言处理基本操作词袋模型

作者:我是小白呀 时间:2023-08-20 06:23:30 

概述

从今天开始我们将开启一段自然语言处理 (NLP) 的旅程. 自然语言处理可以让来处理, 理解, 以及运用人类的语言, 实现机器语言和人类语言之间的沟通桥梁.

Python机器学习NLP自然语言处理基本操作词袋模型

词袋模型

词袋模型 (Bag of Words Model) 能帮助我们把一个句子转换为向量表示. 词袋模型把文本看作是无序的词汇集合, 把每一单词都进行统计.

Python机器学习NLP自然语言处理基本操作词袋模型

向量化

词袋模型首先会进行分词, 在分词之后. 通过通过统计在每个词在文本中出现的次数. 我们就可以得到该文本基于词语的特征, 如果将各个文本样本的这些词与对应的词频放在一起, 就是我们常说的向量化.

Python机器学习NLP自然语言处理基本操作词袋模型

例子:


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

标签:Python,机器学习,NLP,词袋模型
0
投稿

猜你喜欢

  • Django的CVB实例详解

    2023-11-04 06:47:26
  • 浅谈图表参数化设计

    2010-08-29 18:03:00
  • 使用Python paramiko模块利用多线程实现ssh并发执行操作

    2021-02-02 03:10:05
  • python 与c++相互调用实现

    2023-01-11 13:20:19
  • JS/jQ实现免费获取手机验证码倒计时效果

    2023-09-23 05:21:41
  • WEB2.0时代活动类网页我们该如何设计?

    2009-12-16 12:19:00
  • 详解python中GPU版本的opencv常用方法介绍

    2023-09-19 22:55:17
  • Django1.7+python 2.78+pycharm配置mysql数据库教程

    2023-11-04 14:43:28
  • MySQL切分查询用法分析

    2024-01-28 01:11:35
  • pytest-sugar 执行过程中显示进度条的脚本分享

    2023-01-26 13:20:40
  • PHP中array_slice函数用法实例详解

    2023-06-20 20:18:04
  • 详解Mysql如何实现数据同步到Elasticsearch

    2024-01-23 04:39:57
  • java的正则表达式你知道多少

    2022-06-09 00:09:34
  • 初步探究Python程序的执行原理

    2022-11-06 10:30:20
  • Python 3.6 读取并操作文件内容的实例

    2021-11-21 16:52:14
  • 概念性产品设计

    2008-06-11 12:57:00
  • Perl 文本文件的读写操作、文件的重命名和删除、多个文本文件的合并实现代码

    2022-06-05 01:35:44
  • Django中对数据查询结果进行排序的方法

    2021-01-31 23:40:18
  • Orcale权限、角色查看创建方法

    2024-01-20 04:22:02
  • Node.js API详解之 Error模块用法实例分析

    2024-05-13 09:58:47
  • asp之家 网络编程 m.aspxhome.com