![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NLP
零一睡不醒
人生苦短
展开
-
NLP中的卷积神经网络
原文:http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/一、何为卷积1、卷积最开始是指信号处理领域的卷积操作:https://www.cnblogs.com/alexanderkun/p/8149059.html2、图像的卷积,理解卷积最简单的方法是把它想成一个应用到矩阵上...原创 2019-12-04 16:11:20 · 1331 阅读 · 0 评论 -
基于信息熵的分词及新词发现(三)基于天龙八部小说的新词发现
算法原理在一、二部分:一、基于信息熵的分词及新词发现(一) 信息熵的理解二、基于信息熵的分词及新词发现(二)统计学意义下的词语构成代码流程如下:1、读取天龙八部小说文档,并转换为Series 数据结构。Series是一个一维数组,是基于NumPy的ndarray结构。Pandas会默然用0到n-1来作为series的index,但也可以自己指定index(可以把index理解为di...原创 2019-10-21 14:15:35 · 644 阅读 · 0 评论 -
基于信息熵的分词及新词发现(二)统计学意义下的词语构成
要想从一段文本中抽出词来,我们的第一个问题就是,怎样的文本片段才算一个词?1、出现频数超过某个阈值的片段,作为该语料中的词汇输出。片段长度为为超参数。2、光是出现频数高还不够,一个经常出现的文本片段有可能不是一个词,而是多个词构成的词组。在人人网用户状态中,“的电影”出现了 389 次,“电影院”只出现了 175 次,然而我们却更倾向于把“电影院”当作一个词,因为直觉上看,“电影”和“院”...原创 2019-10-21 13:44:32 · 510 阅读 · 0 评论 -
基于信息熵的分词及新词发现(一) 信息熵的理解
“信息熵”是一个非常神奇的概念,它能够反映知道一个事件的结果后平均会给你带来多大的信息量。如果某个结果的发生概率为 p ,当你知道它确实发生了,你得到的信息量就被定义为 – log(p) 。 p 越小,你得到的信息量就越大。如果一颗骰子的六个面分别是 1 、 1 、 1 、 2 、 2 、 3 ,那么你知道了投掷的结果是 1 时可能并不会那么吃惊,它给你带来的信息量是 – log(1/2) ,...原创 2019-10-21 13:23:17 · 1628 阅读 · 1 评论 -
文本关键词提取方法综述
一、提取过程总共分两步,第一步对文章分词、去停用词、pos tag 之后,得到候选关键词列表L;第二步,使用关键词提取算法提取关键词。最后得到的关键词应满足以下三个条件:1·、Understandable. The keyphrases are understandable to people. This indicates the extracted keyphrases shoul...原创 2018-11-29 10:26:49 · 7371 阅读 · 0 评论 -
LDA (一) 文本关键词提取
一、算法原理:使用gensim自带的LDAmodel。使用方法原理是:候选的关键词与抽取的主题计算相似度并进行排序,得到最终的关键词。关键点,候选关键词和抽取的主题如何计算相似度?最简单的想法是:每个主题由N个单词*概率 的集合来代表。每个文本属于k个主题,把k个主题所包含的词赋予该文档,便得到每个文档的候选词关键词。如果文档分词后得到的词语在候选关键词中,那么将其作为关键词提取出来。(候选关键词...原创 2018-11-30 15:39:38 · 12351 阅读 · 3 评论 -
python 分析qq聊天记录
一、导出聊天记录.txt。二、通过正则表达式对txt匹配得到:日期,时间,QQ号码,聊天内容四个列表。正则表达式分析:1、'r'是防止字符转义的 如果路径中出现'\t'的话 不加r的话\t就会被转义 而加了'r'之后'\t'就能保留原有的样子。 raw string。2、[]定义字符范围。[\d-]匹配数字和-格式的字符;\s+ 匹配多个空格。[^\n]代表任何字符除了\n,任...原创 2019-03-20 17:21:16 · 7148 阅读 · 0 评论 -
pyhanlp 安装、使用
github地址 :https://github.com/hankcs/HanLP一、win10 安装pyhanlp1.在cmd 环境下输入:conda install -c conda-forge jpype1pip install pyhanlp一、JPype简述1.JPype是什么? JPype是一个能够让 python 代码方便地调用 Java 代码的...原创 2019-04-11 11:28:27 · 4527 阅读 · 1 评论 -
NLP 自然语言处理原理与实践 笔记
一 、语义语义(semantic)指信息(数据)的意义,放到通信领域,可以理解为编码的意义,具体到自然语言中,就是词的意义和句子的意义。什么是意义本身呢?为什么会形成这些意义,或者说意义又是如何在人的大脑中组织起来的呢?范畴化:不属于任何范畴的语义是不存在的。客观事物在人的头脑中形成的信息不是相互独立的,而是普遍联系的,随着对客观世界认识的不断丰富,逐渐形成一个网络。类和实例。...原创 2019-05-20 13:45:52 · 196 阅读 · 0 评论 -
python 之计算词典和词频矩阵
词典构造:每个单词对应一个数字ID 。words列表里的单词排序,不知道以何原理。词频矩阵:col 数为单词的个数,列数为文本的个数。from collections import Counterfrom itertools import chainimport numpy as npdocuments = ["Human machine interface for lab ab...原创 2018-11-30 17:15:11 · 5368 阅读 · 0 评论 -
gensim 实现tfidf 之语料的流式加载
有37万个文本数据来生成tfidf模型,如果直接一次性放入内存,会出现MemoryErrorgensim实现了流式加载语料的功能,故定义迭代器完成语料的载入。生成字典过程中,遍历file文件,每个处理一个文本数据。import warningswarnings.filterwarnings(action='ignore',category=UserWarning,module='g...原创 2019-07-09 13:14:54 · 1363 阅读 · 3 评论 -
TextRank 关键词提取算法
一、TextRank 的算法原理: 其前身是PageRank。 二者的思想有相同之处,区别在于:PageRank算法根据网页之间的链接关系构造网络,而TextRank算法根据词之间的共现关系构造网络;PageRank算法构造的网络中的边是有向无权边,而TextRank算法构造的网络中的边是无向有权边。TextRank 一般模型可以表示为一个有向有权图 G =(V, E), 由点集合 V和边集合 E...原创 2019-01-03 17:17:32 · 2929 阅读 · 1 评论 -
基于TFIDF的关键词提取算法
1 关于TFIDF的理论,已经路人皆知。 2 TFIDF手写实现。3 调用jieba自带的方法 完成关键词提取。 输入一篇文章,根据每个词语的TFIDF值的大小排序,输出该文章的topk个关键词# sentence 的格式为'word1 word2 ... wordn' 是一个字符串。keywords = jieba.analyse.extract_tags(sentence, ...原创 2019-01-03 16:51:15 · 3468 阅读 · 0 评论 -
基于sklearn TFIDF模型 的文章推荐算法
1 sklearn的TfidfVectorizer() 方法的参数解释2 手写tfidf模型3 大数据情况下,如何计算测试集文本和训练集文本的余弦相似度一 训练阶段 输入数据格式:一个列表,列表中的每个元素代表一个文本。每个文本分词后的词语组成的一个字符串 代表该文本。 生成的模型、tfidf矩阵、文章item_id列表分别保存。import pandas...原创 2018-12-20 16:49:44 · 2508 阅读 · 0 评论 -
中文NLP知识总结
一、词袋模型:分词、去停用词、消除数字、英文,得到若干词语的集合。二、词典:词语和其索引ID的一一对应关系。假设共有N个词语。三、one-hot编码: 在词典基础上,分词之后的文章的词频向量。可以看成是M*N的单词-文档矩阵A。A(i,j)=第i篇文章中词典索引为j的词语出现的次数,即词频TF。四、TF-IDF模型:在one-hot基础上,A(i,j)的值由词频变成了词频*逆文档频率。...原创 2018-12-15 11:26:31 · 1143 阅读 · 0 评论 -
gensim使用之一 tfidf 和lsa
1、给定训练语料生成语料的tfidf向量和lsi向量;2、对新的测试语料,用tfidf和lsi 判断其和训练语料的相似度。import jiebafrom gensim import corpora, modelsfrom gensim.similarities import Similarity#jieba.load_userdict("userdict.txt")stopwo...原创 2018-12-15 14:25:43 · 4682 阅读 · 1 评论 -
gensim 使用之二 从gensim到sklearn的格式转换
从gensim到sklearn的格式转换一个很尴尬的问题是,gensim中的corpus数据格式,sklearn是无法识别的。即gensim中对向量的表示形式与sklearn要求的不符。在gensim中,向量是稀疏表示的。例如[(0,5),(6,3)] 意思就是说,该向量的第0个元素值为5,第6个元素值为3,其他为0.但是这种表示方式sklearn是无法识别的。sklearn的输入一般是与n...原创 2018-12-15 15:49:09 · 963 阅读 · 0 评论 -
gensim 使用三 LDA模型使用
1、语料的处理:通过corpora.Dictionary把原始文本数据转为字典。将用字符串表示的文档转换为用id表示的文档向量。因为输入数据为csv中的一列数据,故先进行预处理使其变为train[]样式的数据。stopwords = [line.strip() for line in open('./stopword.txt', 'r',encoding='utf-8').readlin...原创 2018-11-30 14:37:19 · 7127 阅读 · 11 评论 -
NLP 之命名实体识别
对这个代码的理解:https://blog.csdn.net/buppt/article/details/81180361一.训练集数据格式19980101-01-001-004/m 12月/t 31日/t ,/w 美国白宫/nt 发言人/n 、/w 国家/n 总统/n 奥/nr 巴马/nr 发表/v 1998年/t 新年/t 讲话/n 《/w 迈向/v...原创 2019-10-09 09:31:16 · 1532 阅读 · 0 评论 -
PLSA原理
一、原理来源:https://www.cnblogs.com/xueliangliu/archive/2012/08/01/2962162.htmlPLSA是个从文档中发现topic的算法,它认为文本可以分三个层次来理解。1,文档(d);2,主题(z);3,单词(w),既一个文档包含若干主题,每个主题包含若干单词。从概率层面来讲,这里的包含其实是某种分布。也就是说,一个文档可以看做在一些主...原创 2018-12-17 09:49:58 · 610 阅读 · 0 评论 -
LDA(二) 文本聚类
一、算法原理:使用Kmeans进行聚类二、算法流程:1. 对给定的语料先分词,得到分词后的语料;2. 构造词典,corpus_tfidf, 最后构造 corpus_lda3. Kmeans聚类,pred 是对语料的聚类结果列表。pred = kmean.predict(tfidf_vec)#!/usr/bin/python# -*- coding:utf8 -*-...原创 2018-12-17 14:56:33 · 3879 阅读 · 1 评论 -
基于gensim TFIDF模型 的文章推荐算法
1. gensim.similarities.SparseMatrixSimilarity 的三个方法2. TFIDF 源码浅析3. gensim使用之一 tfidf 和lsi一 训练阶段 输入数据格式:一个列表,列表中的每个元素(也是列表)代表一个文本。每个文本分词后的词语组成的一个列表代表该文本。 生成的模型、tfidf矩阵、文章item_id列表,字典,语料分别保存。...原创 2018-12-28 16:45:28 · 5462 阅读 · 3 评论 -
LDA (三) 关键词提取2.0
前言:对于第一个版本 的基于LDA的文本关键词提取 实现了给定文本,提取其关键的功能。后来有需求变动,需要给出所提取的关键词的重要程度排名。便有一个问题:如何判断文本自身的词语的重要性几何,其打分的依据是什么。这也是所有关键词提取方法中最重要的一步。思路:1. LDA模型训练得到 topic_word 。由此可以知道每个topic 由哪些单词所代表,以及每个单词在这个topic的重要性得分...原创 2019-01-03 15:17:31 · 7626 阅读 · 0 评论 -
基于语义的中文文本关键词提取(SKE)算法
参考文献:http://xueshu.baidu.com/usercenter/paper/show?paperid=125db7807fcd28419b5388104d486fdc&site=xueshu_se对于每个候选关键词,其得分由五部分加权求和得到:Vd: 单词居间度密度. loc:单词所在文章的位置得分. len: 单词长度得分。pos: 单词所属词性得分. tfi...原创 2019-01-03 16:01:27 · 3644 阅读 · 0 评论 -
从零开始的文本TF-IDF向量构造和基于余弦相似度的文本分类
一、任务需求 1、给定数据库里面的N行数据每行代表一篇文章,属性分别是[id, title, summuary,content] ,从mysql数据库获取数据并生成DataFrame格式的数据,有两列,分别是id 和content。id对应数据表里的id,content根据 content > summuary > title 重要程度排序,对应数据表相关列的数据。...原创 2018-12-06 15:48:33 · 3522 阅读 · 0 评论