
NLP
自然语言处理初学
安然烟火
如果人没有理想,那和咸鱼有什么区别呢?
展开
-
NLP学习(十六)-NLP实战之文本分类多算法对比分析实战-tensorflow2+Python3
本文将详细介绍文本分类问题并用Python实现这个过程:文本分类是有监督学习的一个例子,它使用包含文本文档和标签的数据集来训练一个分类器。端到端的文本分类训练主要由三个部分组成:准备数据集:第一步是准备数据集,包括加载数据集和执行基本预处理,然后把数据集分为训练集和验证集。特征工程:第二步是特征工程,将原始数据集被转换为用于训练机器学习模型的平坦特征(flat features),并从现有数据特征创建新的特征。模型训练:最后一步是建模,利用标注数据集训练机器学习模型。进一步提高分类原创 2020-09-24 17:26:35 · 2599 阅读 · 5 评论 -
NLP学习(十五)-NLP实战之基于K-Means文本聚类-Python3
何为聚类简单理解,如果一个数据集合包含N个实例,根据某种准则可以将这N个实例划分为m个类别,每个类别中的实例都是相关的,而不同类别之间是区别的也就是不相关的,这个过程就叫聚类了。聚类过程1)特征选择(feature selection):就像其他分类任务一样,特征往往是一切活动的基础,如何选取特征来尽可能的表达需要分类的信息是一个重要问题。表达性强的特征将很影响聚类效果。这点在以后的实验中我会展示。2)近邻测度(proximity measure):当选定了实例向量的特征表达后,如何判断两个实例向量原创 2020-09-24 10:30:46 · 3641 阅读 · 1 评论 -
NLP学习(十四)-NLP实战之文本分类-中文垃圾邮件分类-Python3
一、文本分类实现步骤:定义阶段:定义数据以及分类体系,具体分为哪些类别,需要哪些数据数据预处理:对文档做分词、去停用词等准备工作数据提取特征:对文档矩阵进行降维、提取训练集中最有用的特征模型训练阶段:选择具体的分类模型以及算法,训练出文本分类器评测阶段:在测试集上测试并评价分类器的性能应用阶段:应用性能最高的分类模型对待分类文档进行分类二、特征提取的几种经典方法:词袋法(BOW):bag of words,最原始的特征集,一个单词/分词就是一个特征。往往会导致一个数据集有上万个特征,有一些原创 2020-09-22 18:27:23 · 7120 阅读 · 13 评论 -
fasttext预训练词向量加载
官方给出的fasttext预训练词向量下载地址:https://fasttext.cc/docs/en/english-vectors.htmlwiki-news-300d-1M.vec.zip: 在维基百科2017、UMBC webbase语料库和statmt.org新闻数据集中(16B tokens)训练的100万个词向量。>wiki-news-300d-1M-subword.vec.zip: 在维基百科2017、UMBC webbase语料库和statmt.org新闻数据集(16B toke原创 2020-09-22 17:01:43 · 2864 阅读 · 1 评论 -
NLP学习(十三)-NLP实战之LSTM三分类文本情感分析-tensorflow2+Python3
背景介绍文本情感分析作为NLP的常见任务,具有很高的实际应用价值。本文将采用LSTM模型,训练一个能够识别文本postive, neutral, negative三种情感的分类器。本文的目的是快速熟悉LSTM做情感分析任务,所以本文提到的只是一个baseline,并在最后分析了其优劣。对于真正的文本情感分析,在本文提到的模型之上,还可以做很多工作,以后有空的话,笔者可以再做优化。理论介绍RNN应用场景RNN相对于传统的神经网络,它允许我们对向量序列进行操作:输入序列、输出序列、或大部分的输入输出序原创 2020-09-20 14:15:17 · 10088 阅读 · 3 评论 -
NLP学习(十二)-NLP实战之LSTM进行文本情感分析-tensorflow2+Python3
情感分析简介文本情感分析(Sentiment Analysis)是自然语言处理(NLP)方法中常见的应用,也是一个有趣的基本任务,尤其是以提炼文本情绪内容为目的的分类。它是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。 本文将介绍情感分析中的情感极性(倾向)分析。所谓情感极性分析,指的是对文本进行褒义、贬义、中性的判断。在大多应用场景下,只分为两类。例如对于“喜爱”和“厌恶”这两个词,就属于不同的情感倾向。 本文将详细介绍如何使用深度学习模型中的LSTM模型来实现文本的情感分析。文原创 2020-09-19 14:23:05 · 4926 阅读 · 3 评论 -
NLP学习(十一)-NLP实战之电影评分数据的情感分析-Python3
电影评论数据集百度文库地址https://pan.baidu.com/s/15ReMZi0gGo0MA5pn-1h3LQqknb字典参考1、基于词袋模型的逻辑回归情感分类# -*- coding: UTF-8 -*-import reimport numpy as npimport pandas as pdfrom bs4 import BeautifulSoupfrom sklearn.feature_extraction.text import CountVectorizerfr原创 2020-09-18 10:50:52 · 1606 阅读 · 0 评论 -
NLP学习(十)-情感分析技术及案例实现-Python3实现
文章目录1 情感分析简述2 情感分类2.1 基于语义的情感词典方法2.2 基于机器学习的情感分类方法3 情感检索4 情感抽取5 情感分析实战5.1 卷积神经网络 CNN5.2 循环神经网络 RNN5.3 长短时记忆网络 LSTM5.4 电影评论情感分析实战代码1 情感分析简述文本情感分析(Sentiment Analysis)是指利用自然语言处理和文本挖掘技术,对带有情感色彩的主观性文本进行分析、处理和抽取的过程[1]。目前,文本情感分析研究涵盖了包括自然语言处理、文本挖掘、信息检索、信息抽取、机器学习原创 2020-09-17 20:20:46 · 14645 阅读 · 4 评论 -
NLP学习(九)文本向量化doc2vec及案例实现-Python3实现
doc2vec基本原理A distributed memory model训练句向量的方法和词向量的方法非常类似。训练词向量的核心思想就是说可以根据每个单词的上下文预测,也就是说上下文的单词对是有影响的。那么同理,可以用同样的方法训练doc2vec。例如对于一个句子i want to drink water,如果要去预测句子中的单词want,那么不仅可以根据其他单词生成feature, 也可以根据其他单词和句子来生成feature进行预测。因此doc2vec的框架如下所示:每个段落/句子都被映射原创 2020-08-28 17:38:35 · 5899 阅读 · 4 评论 -
NLP学习(八)文本向量化word2vec及案例实现-Python3实现
向量化算法word2vec词袋模型最早的以词语为基本处理单元的文本向量化方法方法:基于出现的词语构建词典(唯一索引)统计每个单词出现的词频构成向量存在的问题维度灾难无法保留语序信息存在语义鸿沟的问题神经网络语言模型(NNLM)特点与传统方法估算P不同,NNLM直接通过一个神经网络结构对nn元条件概率进行估计。基本结构大致操作从语料库中搜集一系列长度为nn的文本序列,假设这些长度为nn的文本序列组成的集合为DD,那么NNLM的目标函数为:网络模型输入层:低维度原创 2020-08-28 17:18:38 · 7006 阅读 · 7 评论 -
NLP学习(七)使用stanford实现句法分析-Python3实现
句法分析句法分析是机器翻译的核心数据结构,是对语言进行深层次理解的基石。句法分析简介1.主要任务识别句子中所包含的句法成分以及这些成分之间的关系,一般以句法树来表示句法分析的结果。2.主要难点歧义搜索空间3.句法分析分类完全句法分析:企图获取整个句子的句法结构部分句法分析:只关注局部的一些成分4.相关方法基于规则存在着语法规则覆盖有限、系统可迁移差等缺陷基于统计(主流)数据集与评测方法数据集与别的语言处理所需要的数据集不同,句法分析需要的是一种树形的标注结构,又称为树库,如原创 2020-08-05 15:36:57 · 4644 阅读 · 1 评论 -
NLP学习(六)hanlp命名实体识别-Python3实现
环境配置1.jdk安装配置环境变量2.jpype安装 pip3 install jpype13.hanlp相关资源下载,百度云https://pan.baidu.com/s/1sw4fDjiLO0PhvYxJ2YMOOw 提取码4lm4代码# -*- coding: utf-8 -*-from jpype import *#路径startJVM(getDefaultJVMPath(), "-Djava.class.path=D:\hanlp\hanlp-1.7.8.jar;D:\han原创 2020-08-05 14:58:00 · 2213 阅读 · 0 评论 -
NLP学习(五)jieba分词-Python3实现
中文分词对于NLP(自然语言处理)来说,分词是一步重要的工作,市面上也有各种分词库,11款开放中文分词系统比较。1.基于词典:基于字典、词库匹配的分词方法;(字符串匹配、机械分词法)2.基于统计:基于词频度统计的分词方法;3.基于规则:基于知识理解的分词方法。第一类方法应用词典匹配、汉语词法或其它汉语语言知识进行分词,如:最大匹配法、最小分词方法等。这类方法简单、分词效率较高,但汉语语言现象复杂丰富,词典的完备性、规则的一致性等问题使其难以适应开放的大规模文本的分词处理。第二类基于统计的分词方法原创 2020-08-05 14:45:59 · 969 阅读 · 0 评论 -
NLP学习(四)规则分词-正向、逆向和双向最大匹配算法的中文分词-python3实现
规则分词规则分词是一种机械分词方法,主要通过维护词典,在切分语句时将语句的每个字符串和词表中的词逐一匹配找到则切分,找不到则不切分。具体包括正向最大匹配法、逆向最大匹配法和双向最大匹配法正向最大匹配算法描述①从左向右取待切分汉语句的m 个字符作为匹配字段, m 为机器词典中最长词条的字符数。②查找机器词典并进行匹配。若匹配成功, 则将这个匹配字段作为一个词切分出来。若匹配不成功,则将这个匹配宇段的最后一个字去掉,剩下的字符串作为新的匹配字段, 进行再次匹配。③重复以上过程,直到切分出所有原创 2020-07-24 16:50:46 · 2721 阅读 · 0 评论 -
NLP学习(三)统计分词-基于HMM算法的中文分词-python3实现
隐马尔科夫模型(HMM)模型介绍HMM模型是由一个“五元组”组成:StatusSet: 状态值集合ObservedSet: 观察值集合TransProbMatrix: 转移概率矩阵EmitProbMatrix: 发射概率矩阵InitStatus: 初始状态分布将HMM应用在分词上,要解决的问题是:参数(ObservedSet, TransProbMatrix, EmitRobMatrix, InitStatus)已知的情况下,求解状态值序列。解决这个问题的最有名的方法是viterbi算法。原创 2020-07-24 16:16:48 · 1724 阅读 · 0 评论 -
NLP学习(二)中文分词技术
运行平台: WindowsPython版本: Python3.xIDE: PyCharm一、 前言这篇内容主要是讲解的中文分词,词是一个完整语义的最小单位。分词技术是词性标注、命名实体识别、关键词提取等技术的基础。本篇博文会主要介绍基于规则的分词、基于统计的分词、jieba库等内容。一直在说中文分词,那中文分词和欧语系的分词有什么不同或者说是难点的呢?主要难点在于汉语结构与印欧体系语种差异甚大,对词的构成边界方面很难进行界定。比如,在英语中,单词本身就是“词”的表达,一篇英文文章就是“单词”加分转载 2020-07-22 17:51:07 · 1603 阅读 · 1 评论 -
NLP学习(一)基础篇
一、 前言2016年3月9日至15日和2017年5月23日至27日,分别在韩国首尔和中国嘉兴乌镇,韩国围棋九段棋手李世石、中国围棋九段棋手柯洁与人工智能围棋程序“阿尔法围棋”(AlphaGo)之间的两场比赛,人类均以失败告终,更是激起了各种“机器超越、控制人类”的讨论,然而机器真的懂人类进而控制人类吗?如果可以那首先必须要先让机器能理解人类的语言。那么机器是如何理解人类语言的呢?这一系列的博文将带领大家熟悉和回顾一个完整的自然语言处理过程。首先理解什么是NLP呢?NLP (Natural Langun转载 2020-07-09 20:08:17 · 2934 阅读 · 0 评论