英文自然语言预处理

article/2025/9/7 22:25:32

目录

1、数据集准备

2、数据集处理 

(1)简单分词、词性还原、停用词过滤

(2)特征提取(TT-IDF、信息增益、卡方检验、互信息、N-Gram等)

(3)文本标签向量化

(4)选择合适的算法模型进行训练


1、数据集准备

      测试数据集下载:testdata.xls           停用词过滤表下载:stopwords.txt

     

2、数据集处理 

(1)简单分词、词性还原、停用词过滤

# -*- coding: utf-8 -*-import pandas as pd
import jieba
from nltk.stem import WordNetLemmatizer"""
函数说明:简单分词
Parameters:filename:数据文件
Returns:list_word_split:分词后的数据集列表category_labels: 文本标签列表
"""
def word_split(filename):read_data=pd.read_excel(filename)list_word_split=[]category_labels=[]for i in range(len(read_data)):row_data = read_data.iloc[i, 1]           # 读取单个漏洞描述文本list_row_data = list(jieba.cut(row_data)) # 对单个漏洞进行分词list_row_data=[x for x in list_row_data if x!=' '] #去除列表中的空格字符list_word_split.append(list_row_data)row_data_label=read_data.iloc[i,2]   #读取单个漏洞的类别标签category_labels.append(row_data_label) #将单个漏洞的类别标签加入列表return list_word_split, category_labels"""
函数说明:词性还原
Parameters:list_words:数据列表
Returns:list_words_lemmatizer:词性还原后的数据集列表
"""
def word_lemmatizer(list_words):wordnet_lemmatizer = WordNetLemmatizer()list_words_lemmatizer = []for word_list in list_words:lemmatizer_word = []for i in word_list:lemmatizer_word.append(wordnet_lemmatizer.lemmatize(i))list_words_lemmatizer.append(lemmatizer_word)return list_words_lemmatizer"""
函数说明:停用词过滤
Parameters:filename:停用词文件list_words_lemmatizer:词列表
Returns:list_filter_stopwords:停用词过滤后的词列表
"""
def stopwords_filter(filename,list_words_lemmatizer):list_filter_stopwords=[]  #声明一个停用词过滤后的词列表with open(filename,'r') as fr:stop_words=list(fr.read().split('\n')) #将停用词读取到列表里for i in range(len(list_words_lemmatizer)):word_list = []for j in list_words_lemmatizer[i]:if j not in stop_words:word_list.append(j.lower()) #将词变为小写加入词列表list_filter_stopwords.append(word_list)return list_filter_stopwordsif __name__=='__main__':list_word_split, category_labels=word_split('testdata.xls') #获得每条文本的分词列表和标签列表print('分词成功')list_words_lemmatizer=word_lemmatizer(list_word_split)  #词性还原print('词性还原成功')list_filter_stopwords=stopwords_filter('stopwords.txt',list_words_lemmatizer) #获得停用词过滤后的列表print("停用词过滤成功")

停用词表也可参考:stopwords 

(2)特征提取(TT-IDF、信息增益、卡方检验、互信息、N-Gram等)

         TF-IDF算法实现参看:TF-IDF算法       信息增益算法实现参看:信息增益算法

(3)文本标签向量化


"""
函数说明:文本向量化,标签向量化   one-hot编码
Parameters:feature_words:特征词集doc_words:文本列表doc_category_labels:文本类别标签
Returns:docvec_list:文本向量列表labelvec_list:标签向量列表
"""
def words2vec(feature_words,doc_words,doc_category_labels):#文本列表转向量列表docvec_list=[]for words in doc_words:docvec = [0] * len(feature_words)for j in words:if j in feature_words:docvec[feature_words.index(j)]=1docvec_list.append(docvec)#标签列表转向量列表labelvec_list = []labelset=list(set(doc_category_labels))for label in doc_category_labels:doclabel = [0] * len(labelset)doclabel[labelset.index(label)]=1labelvec_list.append(doclabel)return docvec_list,labelvec_list

(4)选择合适的算法模型进行训练

 

本人博文NLP学习内容目录:

一、NLP基础学习

1、NLP学习路线总结

2、TF-IDF算法介绍及实现

3、NLTK使用方法总结

4、英文自然语言预处理方法总结及实现

5、中文自然语言预处理方法总结及实现

6、NLP常见语言模型总结

7、NLP数据增强方法总结及实现

8、TextRank算法介绍及实现

9、NLP关键词提取方法总结及实现

10、NLP词向量和句向量方法总结及实现

11、NLP句子相似性方法总结及实现

12、NLP中文句法分析

二、NLP项目实战

1、项目实战-英文文本分类-电影评论情感判别

2、项目实战-中文文本分类-商品评论情感判别

3、项目实战-XGBoost与LightGBM文本分类

4、项目实战-TextCNN文本分类实战

5、项目实战-Bert文本分类实战

6、项目实战-NLP中文句子类型判别和分类实战

交流学习资料共享欢迎入群:955817470(群一),801295159(群二)


http://chatgpt.dhexx.cn/article/EZX3Z77P.shtml

相关文章

经验分享 | 英文论文写作工具分享

网站分享 1.Thesaurus 针对英语单词近义词和反义词的询问词汇库,键入一个单词会自动生成多个与之类似的单词,列出各个单词的近义词和反义词。如果论文中太多相同的形容词(如important等),就可以通过此网站查找近义词…

英文间隔问题

在中译英的参考文献中,有时候会突然发现英文单词之间间隔不一样,同时还会造成中文间隔不一的问题 需要去段落里面设置一下 点最右下角的箭头 依次点击,勾选允许西文在单词中间换行 完成!

集中化监控SQL Server数据库

集中化监控SQL Server数据库 英文原文地址:https://www.simple-talk.com/sql/database-administration/centralize-your-database-monitoring-process/ 名词解释: CMS -- 中央管理服务器(Central Management Server) MDW -- 管理数…

cntopic库:支持中英文LDA话题分析

cntopic 简单好用的lda话题模型,支持中英文。该库基于gensim和pyLDAvis,实现了lda话题模型及可视化功能。 本文视频讲解已上传到B站(今晚会通过审核),大家可以关注大邓的 B站账号:大邓和他的python 安装 pip install cntopic使用 …

【英文文本分类实战】之二——数据集挑选与划分

请参考本系列目录:【英文文本分类实战】之一——实战项目总览 下载本实战项目资源:神经网络实现英文文本分类.zip(pytorch) [1] 数据集平台 在阅读了大量的论文之后,由于每一篇论文都会提出一个模型,十分想…

Window部分软件图标显示不正常

电脑上的软件图标突然就变得不正常显示,网上baidu找了很多,也有很多解决方法,下面记录一种最终解决我问题的方法。 进入到控制面板-显示,将显示比例更改一下,注销电脑,若图标显示正常,再把显示…

电脑软件快捷方式不显示图标

电脑上有的软件快捷方式不显示图标,只显示是图片的样式,图片显示不出来,可能是原图标文件丢失,关联失效,缓存异常等,有时卸载软件重新安装可能会好,有的可能卸载重新安装也解决不了。 以下提供…

2,【electron+vue】 构建桌面应用——常见的功能及问题(修改桌面图标,软件图标,窗口图标,图标不显示问题,影藏默认菜单栏,开机自启,手动或被动关闭应用)

一.修改桌面图标,软件图标或者窗口左上角的图标. 1.首先这些图标必须是 .ico 结尾的图片,如果你将其他格式的图片改成.ico的,也不行哦,至于为什么,我也没深入研究,按着规定来就好. 2.如何获取.ico格式的图片或者说如何将其他格式的图片转换成.ico格式的图片呢,这里推荐一个app…

Win10 底部应用图标显示不正常(空白)

导致此问题一般是因为: 移动了程序目录未正确卸载的情况下重新安装 解决方法 右击任务栏图标,再右键程序,点击属性,更改程序正确位置和图标。

TortoiseSVN文件夹及文件图标不显示解决方法

由于自己的电脑是win7(64位)的,系统安装TortoiseSVN之后,其他的功能都能正常的使用,但是就是文件夹或文件夹的左下角就是不显示图标,这个问题前一段时间就遇到了(那个时候没找到合适的答案&…

解决win10系统下软件图标显示异常的问题

最近遇到的问题,桌面图标,特别是word、excel等office办公软件的桌面图标全部变成txt的图标了,特别是之前安装过WPS软件,更容易出现这个问题。如下图所示: 解决办法: 1.下载软件filetypesman.zip&#x…

win10系统桌面应用图标显示不出来的问题

别慌别慌,只要找到桌面任务栏上右击鼠标,在弹出的菜单中点击【任务管理器】。在【任务管理器】找到【Windows资源管理器】,右击鼠标,选择【重新启动】即可重建图标缓存 CK: https://zhuanlan.zhihu.com/p/121125559

桌面计算机里没有桌面显示不出来怎么办,电脑桌面显示不出来图标 所有软件都可以正常工作 怎么解决?...

苏绯离 回答数:3 | 被采纳数:125 2020-04-18 12:14:50 当你遇到桌面上一个图标都没有的情形时,是由于多种原因引起的,你可按下面方法进行检修。 1、首先右击桌面选排列图标/勾选显示桌面图标。 2、如果故障依旧,打开…

win10某些软件图标显示过小解决方法

win10笔记本电脑分辨率过高,导致某些没有适配win10的软件显示窗口过小,看起来很是不舒服。 本文将介绍一种解决方法,调大显示窗口及图标。 以My Base为例: 1.右键单击图标–>选择“打开文件所在位置” 2.右键单击图标–>…

软件图标显示不正常【win7企业版】

现象: 原因: 图标缓存没有把该软件图标建立起来 解决: 一、 1、找到 IconCache.db 2、你要把电脑隐藏文件打开不然找不到这个文件的,组织—文件夹及搜索选项——查看——显示隐藏文件、文件夹和驱动器 隐藏已知文件的扩展名的√ 去…

解决win10系统桌面应用图标显示不出来的问题

解决win10系统桌面应用图标显示不出来的问题 有时候win10系统桌面应用图标会因为一些原因显示不出来或者显示的不全(白色),这时候由于在桌面看的难看,并不好寻找使用的图标。 这里提供一个简单的方法-重置系统图标数据库文件&…

Win10 图标 显示不正常解决办法

解决Win10下图标不能正常显示(如变白色等)的问题。 Win10图标不能正常显示的解决方法 方法一:通过删除IconCache.db文件方法二:直接更改图标样式 方法一:通过删除IconCache.db文件 1.随便 打开 一个 文件夹 ,点击 查看 &#xff…

office软件不显示图标

本方法的适用条件: 1. 确保已经正确安装office软件(笔者本人office版本为2016专业版),office各功能可以正确使用。 2. ‘’设置‘’→‘’应用‘’→‘’应用和功能‘’,中确保.xlsx的默认打开程序为excel。(word,ppt同理) 本人遇到的问题: 1. 桌面→鼠标右键,不…

WIN10运行软件,窗口不显示 解决办法

#win10 运行软件后,不显示窗口 今天遇到个问题,我打开postman之后,任务栏显示它已经打开了,但是窗口就是不显示,如下图: 用alt tab 查看,也能看到它!!!鼠标…

软件图标显示不正常的问题

最近一段时间做开发,一致用plantix,但是不知道为何,桌面上的图标无法正常显示,就像这样 一开始上网找恢复桌面图标的办法,例如:在属性中更改图标,发现plantix的启动图标在安装目录下也同样无法显…