![](https://img-blog.csdnimg.cn/20200703141248460.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
NLP
以实战积累为基本组成部分,理论与项目相互结合。
北木.
交流分享,共同成长
展开
-
文本处理之标签值labels与原样本数据的对应
声明:博客转载自博主 普通攻击往后拉标签值labels随样本data一起改变顺序,并保持对应关系1 问题描述很多时候在处理数据时,样本数据与标签值是放在两个数据结构中存储的。当样本数据顺序发生变化时,我们需要保证其对应的标签顺序也同时发生变化。2 解决方法思想很简单,由于样本数据的变化是未知的,想要标签数据随着样本数据的变化而变化,最简单的方法就是将标签和样本融合在一起。例如,在python中,我们可以这样做:import numpy as npdata = [[1,2,3,1],[2,1转载 2020-08-06 19:19:50 · 4946 阅读 · 0 评论 -
文本语料预处理总结
1. 用于处理最后的输出结果,主要是将英文去掉import jiebaimport reeve_list = ["测试中出现Power_Type_check", "依据BOM和装配图,BOM中没有不用处理", "内存问题反馈攻关组跟踪"]print(list(map(lambda x: re.sub("[\s\d%_/a-zA-Z]+", "", x), eve_list)))2. 去除了停用词,并且针对的是列表中的每一个字段import jiebaimport reeve_list =原创 2020-08-03 14:59:15 · 763 阅读 · 3 评论 -
Python读取各种文件形式并转化为可处理的数据结构
1. 读取一个excel文件路径,返回读取的内容import pandas as pdfilepath = r'C:\Users\zhf\Desktop\华为杯\原型系统V10\输入文件\输入文件夹\数据集500.xlsx'pd.set_option('max_colwidth', 500)data = pd.read_excel(filepath) # sheet参数要改print(data)2. 读取一个excel文件路径,返回读取的内容为列表import pandas as pdi原创 2020-08-03 10:17:48 · 830 阅读 · 3 评论 -
词语向量化 — word2vec简介和使用(二)
往期回顾词语向量化 — word2vec简介和使用(一)一、Word2Vec梗概字面意思:即Word to Vector,由词到向量的方法。专业解释:Word2Vec使用一层神经网络将one-hot(独热编码)形式的词向量映射到分布式形式的词向量。使用了Hierarchical softmax, negative sampling等技巧进行训练速度上的优化1。作用:我们日常生活中使用的自然语言不能够直接被计算机所理解,当我们需要对这些自然语言进行处理时,就需要使用特定的手段对其进行分析或预处理。转载 2020-07-18 10:09:54 · 1694 阅读 · 5 评论 -
文本向量化
前言文本向量化,就是把文本转化为向量形式。这里用两种方式实现本文向量,一种是TF方式,一种是TF-IDF方式,且这里向量的长度就是字典的长度。TF就是词频、TF-IDF就是词频-逆频率。关于这两者的介绍已经满大街了,对于这两者概念如有不懂,自行百度。本文基于python 实现,输入两篇短文本,输出文本向量,并用余弦相似度方式,计算两篇文档的相关性。实现计算两个向量余弦相似度import mathdef count_cos_similarity(vec_1, vec_2): if le转载 2020-07-18 09:04:04 · 4102 阅读 · 0 评论 -
词语向量化 — word2vec简介和使用(一)
词向量介绍一句话概括词向量用处:就是提供了一种数学化的方法,把自然语言这种符号信息转化为向量形式的数字信息。这样就把自然语言问题要转化为机器学习问题。最常用的词向量模型无非是 one-hot Representation模型和 distributed representation 模型。One-hot RepresentationOne-hot Representation 即用一个很长的向量来表示一个词,向量长度为词典的大小N,每个向量只有一个维度为1,表示该词语在词典的位置,其余维度全部为0。转载 2020-07-18 08:33:49 · 1626 阅读 · 0 评论 -
TextRank系列之文本自动摘要提取
前期回顾TextRank系列之关键词提取算法原文链接:文本自动摘要:基于TextRank的中文新闻摘要用TextRank做单领域多文本的自动摘要的过程如下:把所有文章整合成文本数据,并把文本分割成单个句子;用WordAVG的方法,将每个句子中所有单词的词向量合并为句子的向量表示;计算句子向量间的相似性并存放在矩阵中,作为转移概率矩阵M;然后将转移概率矩阵转换为以句子为节点、相似性得分为边的图结构,用于句子TextRank计算;对句子按照TextRank值进行排序,排名最靠前的n个句子作原创 2020-07-17 22:28:26 · 2934 阅读 · 1 评论 -
TextRank系列之关键词提取算法
前期回顾:TF-IDF算法介绍及实现 仅仅从词的统计信息出发,而没有充分考虑词之间的语义信息。现在本文将介绍一种考虑了相邻词的语义关系、基于图排序的关键词提取算法TextRank。简述:用TextRank提取来提取关键词,用PageRank的思想来解释它:如果一个单词出现在很多单词后面的话,那么说明这个单词比较重要一个TextRank值很高的单词后面跟着的一个单词,那么这个单词的TextRank值会相应地因此而提高 其思想非常简单:通过词之间的相邻关系构建网络,然后用PageRank原创 2020-07-18 08:36:35 · 1477 阅读 · 4 评论 -
TF-IDF算法介绍及实现
目录1、TF-IDF算法介绍(1)TF是词频(Term Frequency)(2) IDF是逆向文件频率(Inverse Document Frequency)(3)TF-IDF实际上是:TF * IDF2、TF-IDF应用3、Python3实现TF-IDF算法4、NLTK实现TF-ID...转载 2020-07-17 15:26:36 · 2114 阅读 · 0 评论 -
Python检查当前目录下是否存在所需的文件夹或文档,若不存在,则需要自动生成
实现的功能是:当前目录下是否存在所需的文件夹或文档,若不存在,则需要自动生成import os# 检查相应的文件夹是否存在def mkdir(): file_path = os.getcwd() #获得当前工作目录 if os.path.exists(file_path + "\输入文件"): print("输入文件(文件夹)存在") else: os.makedirs(file_path + "\输入文件")# 判断相应文本是否在对原创 2020-06-27 22:15:17 · 1417 阅读 · 0 评论 -
自然语言处理之企业文本故障树生成思路及注意要点
项目步骤: 原始语料的预处理 (数据接入,语料过滤,噪声去除)语料噪声的去除:正则表达式提取数据集的划分 (专有字段的划分,语料内容的划分)样本数据集的聚类 (特征提取,聚类过程)特征提取算法: TF-IDF、word2vec算法聚类算法: DBSCAN 、AP、Mean-Shift算法摘要生成 (关键词提取)关键词提取算: TF-IDF、Textrank算法...原创 2020-05-22 19:29:12 · 451 阅读 · 0 评论 -
图解Mean-Shift聚类算法
前期回顾 K-Means聚类算法 — 算法原理、质心计算、距离度量、聚类效果评价及优缺点 与K-Means算法不一样的是,Mean Shift 算法可以自动决定类别的数目。与K-Means算法一样的是,两者都用集合内数据点的均值进行中心点的移动。 声明 以下部分内容来源于:meanshift算法Mean Shift算法原理 meanshift 算法其实通过名字就可以看到该算法的核心,mean(均值),shift(偏移),简单的说,也就是有一个点 xxx,它的周围有很多个点xix_i.原创 2020-05-22 19:24:32 · 1552 阅读 · 2 评论 -
DBSCAN聚类算法 — 理论 + 图解 + 代码
前期回顾 K-Means算法 — 算法原理、质心计算、距离度量、聚类效果评价及优缺点一、前言二、DBSCAN聚类算法三、参数选择四、DBSCAN算法迭代可视化展示五、常用的评估方法:轮廓系数六、用Python实现DBSCAN聚类算法一、前言DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种基于密度的空间聚类算法。 该算法将具有足够密度的区域划分为簇,并在具有噪声的空间.转载 2020-05-22 16:16:13 · 2197 阅读 · 0 评论 -
Python判断一个词语是不是人名
import jieba.posseg as psegdef isname(single_word_string): pair_word_list = pseg.lcut(single_word_string) for eve_word, cixing in pair_word_list: if cixing == "nr": return True return Falsesingle_word_string = "明天"print原创 2020-05-20 22:23:10 · 5802 阅读 · 1 评论 -
Python之pandas.iloc和pandas.loc使用用法
引言 pandas.iloc方法提供了基于整数的索引方式,跟 python自身的list 的索引方式是十分类似的! 栗子 import numpy as npimport pandas as pdnp.random.seed(1) # 为了使得生成的随机数固定,这里设置了随机数种子s1 = pd.Series(np.random.randn(5), index=list(range(0, 10, 2)))print(s1)结果为:0 1.6243452 -0.6117.原创 2020-05-19 18:27:54 · 792 阅读 · 0 评论 -
Python 数据清洗之缺失数据填充函数 fillna() 及缺失值处理
引入 在实际的项目中,当缺失数据比较多的情况下,可以直接滤除;而当缺失数据比较少时,需要对数据进行填充。 栗子 import numpy as npfrom numpy import nanimport pandas as pddata=pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list('abcd'))print(data)data.iloc[0:2,0:3]=nanprint(data) 0 1 .原创 2020-05-19 10:52:19 · 10527 阅读 · 2 评论 -
Python中的@staticmethod和@classmethod的用法
引言 一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。 这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利于命名空间的整洁。 从使用上看@staticmethod和@classmethod的区别 @staticmethod不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样。@classmethod也不需要self参数,但第一个参数需要.原创 2020-05-19 10:30:40 · 324 阅读 · 0 评论 -
暑期实习面经(NLP 方向)达摩院、腾讯、微软、美团、百度
本人情况:双非本末流985研二,爱奇艺 NLP 日常实习经历,无论文,投的都是 NLP 算法岗。 目前到手:微软、腾讯,应该是选微软了吧 阿里达摩院(挂) 一面(45分钟) 上来面试官介绍他们组情况,问我有什么想问的?我有点懵逼,这不是一般最后的环节吗。 问研究生期间的研究方向; 研究内容有提到 DSSM,询问是否知道现在对 DSSM 的改进模型,回答不知,现在更多做的生成模型,因此问题转到生...转载 2020-04-23 09:34:07 · 1712 阅读 · 0 评论 -
一文解决 pyinstaller 打包过程
1. 首先,进入cmd,然后运行 pip install pyinstaller 来安装这个包2. 然后关掉杀毒软件,并进入需要打包文件所在的文件夹,D:\Tools software\pycharm\zhf\Leetcode,再执行pyinstaller -F .\你的名字.py3. 结果为:并在该文件夹下生成文件:在dist文件夹中是生成的.exe可执行程序:效果为:拓...原创 2020-04-16 23:03:39 · 316 阅读 · 0 评论 -
Pyinstaller 打包exe 出现PermissionError: [Errno 13] Permission denied: 'C:\\...\xxx.dll
通过cmd进去需要打包文件所在的文件夹,D:\Tools software\pycharm\zhf\Leetcode,然后执行pyinstaller -F .\你的名字.py问题如下:解决办法:关掉杀毒软件,再执行pyinstaller -F .\你的名字.py结果为:...原创 2020-04-16 23:02:23 · 3360 阅读 · 0 评论 -
python中join函数
"sep".join(iterable) join 用于以指定分隔符 sep 将可迭代对象 iterable (必须为str类型) 连接为一个新的字符串栗子1:分别以指定分隔符对字符串、列表、元组、字典元素进行连接string = "test"lis = ['w', 'e', 'q']tpl = ('w', 'e', 'q')dic = {"55": 5, "44": 4, ...原创 2020-02-26 10:42:17 · 3112 阅读 · 0 评论 -
python中的copy.deepcopy()
源于: 功能类代码 – TxtSampleCluster.py 功能比较: copy.copy()是浅拷贝,只拷贝父对象,不会拷贝对象的内部的子对象。copy.deepcopy()是深拷贝,会拷贝对象及其子对象。import copyList1 = ['1', '2', 3, 'a', ['b', 'c']]List2 = List1 # 将List1赋给L...原创 2020-02-14 17:10:14 · 11525 阅读 · 1 评论 -
python中format函数
format函数作用: 用于字符串的格式化 1. 关键字: print('{name}在{option}'.format(name="李白", option="玩"))结果为:李白在玩 2. 位置: print('name={} path={}'.format("功能类代码", "/")) # 结果为: name=功能类代码 path=/print('{0}在{1}'.forma...转载 2020-02-14 09:27:20 · 5098 阅读 · 2 评论 -
Python之strip()
源于: 功能类代码 – DatasettoFileClass.py – 函数make_directionary strip()功能: python中的strip用于去除字符串的 首尾 字符 ,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符注意: 传入的是一个字符数组,编译器去除两端所有相应的字符,直到没有匹配的字符 栗子1: String = 'sa...原创 2020-02-14 00:07:09 · 1444 阅读 · 0 评论 -
Python中的index()方法
源于: 功能类代码 – DatasettoFileClass.py – 函数codingclf_one index()功能: Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。 in...原创 2020-02-13 21:21:25 · 55953 阅读 · 1 评论 -
Python之os.mkdir()与os.makedirs()
源于: 执行类代码 --MainOne.py – 函数dataclf import ospath = r'C:\Users\zhf\Desktop\test\path_01\path_02\path_03'try: os.mkdir(path) print(u'第一次创建成功!')except: print(u'第一次创建失败!') try: ...原创 2020-02-13 17:14:17 · 651 阅读 · 0 评论 -
python之shutil模块
源于: 执行类代码 --MainOne.py – 函数dataclf 1. shutil.rmtree() shutil.rmtree功能: 递归地删除文件夹以及里面的文件 有一个test文件夹,里面有三个文本文件,分别是’1.txt’,‘2.txt’,‘3.txt’,‘1.docx’,‘1.xlsx’,可以使用以下代码来进行删除 import shutilpath = "C:/...原创 2020-02-13 16:56:28 · 292 阅读 · 0 评论 -
python之pool.apply_async
源于: 执行类代码 --parallel_str_search.py – 函数do_search 进程池pool中的apply方法与apply_async方法比较: 1. apply方法是阻塞的 意思是等待当前子进程执行完毕后,再执行下一个进程。import timefrom multiprocessing import Pooldef run(msg): pr...原创 2020-02-13 14:11:06 · 44192 阅读 · 4 评论 -
python中的extend功能及用法
源于: 执行类代码 --parallel_str_search.py – 函数combine_result extend() 函数的功能: 用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)A = [1, 2, 3]B = [['a', 'b']]A.extend([4])A.extend([5, 6])B.extend(['c', 'd'])B.ext...原创 2020-02-13 13:46:07 · 89245 阅读 · 3 评论 -
yield关键字功能及用法
yield功能及用法: 通俗理解,当程序执行到标有yield关键词的代码语句时,其相当于一个return,将值返回后函数冻结,遇到next()方法时,函数解冻,继续执行。栗子1:def f(): print("starting...") while True: res = yield 6 print("res:", res)g = f()...原创 2020-02-13 00:42:42 · 250 阅读 · 0 评论 -
df.to_excel的功能与用法
源于: 执行类代码 – ExcelExtractionClass.py – 函数list_to_excel 功能: 用于将pd.DataFrame形式的数据写入Excel中 用法: pd.DataFrame(effective_list).to_excel(excel_path)将列表 effective_list 中的数据写入excel并放到 excel_path路径中...原创 2020-02-12 16:54:15 · 10691 阅读 · 0 评论 -
numpy.ndarray.tolist 功能及用法
源于: 执行类代码 – ExcelExtractionClass.py – 函数filter_dataframe Numpy中tolist()的功能: 用于将数组或矩阵转为列表。from numpy import *A = array([1, 2, 3])print(type(A)) # 结果 <class 'numpy.ndarray'>B = A.tolis...原创 2020-02-12 16:11:35 · 2511 阅读 · 0 评论 -
pd.concat() 实现数据拼接
源于: 执行类代码 – ExcelExtractionClass.py – 函数contact_excel pandas.concat( objs, axis=0, join='outer', join_axes=None, ignore_index=Fa...原创 2020-02-12 15:48:32 · 2787 阅读 · 0 评论 -
pandas抽取行列数据
取行和列的几种常用方式:data[ 列名 ]:取单列或多列,不能用连续方式取,也不能用于取行。data.列名:只用于取单列,不能用于行。data[ i:j ]:用起始行下标(i)和终止行下标(j)取单行或者连续多行,不能用于列的选取。data.loc[行名,列名]:用对象的.loc[]方法实现各种取数据方式。data.iloc[行下标,列下标]:用对象的.iloc[]方法实现各种取数据方...原创 2020-02-12 15:35:12 · 4408 阅读 · 0 评论 -
python中的Counter.most_common()
源于: 执行类代码 – CountTxtClass.py – 函数plot_sample_num 栗子: 找出一个序列中出现次数最多的元素words = [ 'look', 'into', 'my', 'eyes', 'look', 'into', 'my', 'eyes', 'the', 'eyes', 'the', 'eyes', 'the', 'eyes', '...原创 2020-02-11 09:23:40 · 5179 阅读 · 0 评论 -
python中的assert
源于: 执行类代码 – CountTxtClass.py – 函数count_txt assert 语句的作用是帮助我们及早发现程序中的错误,其基本的使用语法是:assert condition这个语句的含义是: python程序检查这个condition,并且当条件不符合的时候立刻返回一个异常。...原创 2020-02-10 22:20:52 · 111 阅读 · 0 评论 -
python中的list.pop()和list.remove()
源于: 执行类代码 – CountTxtClass.py – 函数get_result_txt 栗子: 删除列表中元素并返回其值a = [1, 2, 3, 4, 5, 6]b = a.pop()print("b:", b)print("a:", a)c = a.pop(2)print("c:", c)print("a:", a)输出为:...原创 2020-02-10 21:40:53 · 2310 阅读 · 0 评论 -
Python中的os.listdir()方法及获取文件夹中所有文件的路径
源于: 执行类代码 – CountTxtClass.py – 函数get_result_txt 文件操作: 1. os.listdir(): 列出路径下所有的文件 2. os.path.join(): 连接文件的作用 3. os.path.isdir(): 判断是否是文件夹 os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 ...原创 2020-02-10 21:08:51 · 39265 阅读 · 1 评论 -
python中thinter模块实现文件或文件夹路径的选择并获得路径
import tkinter as tkfrom tkinter import filedialog'''打开选择文件夹对话框'''root = tk.Tk()root.withdraw()Folderpath = filedialog.askdirectory() # 获得选择好的文件夹Filepath = filedialog.askopenfilename() # 获得...原创 2020-02-10 15:34:28 · 2957 阅读 · 0 评论 -
python获取当前计算机cpu数量
源于: 执行类代码 – MainOne.py – 函数main_faker cpu_count的返回值就是cpu数量:from multiprocessing import cpu_countprint(cpu_count())原创 2020-02-10 15:28:11 · 750 阅读 · 1 评论