![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自然语言处理
文章平均质量分 92
大雄没有叮当猫
好好学习,天天向上
展开
-
NLP17:预训练模型之Albert
公众号:数据挖掘与机器学习笔记1. 摘要在预训练自然语言表示时,增加模型大小通常会导致下游任务的性能提高。但是,由于 GPU/TPU 内存限制和更长的训练时间,在某些时候,进一步增大模型变得更加困难。为了解决这个问题,我们提出了两种参数削减技术来降低内存消耗以及加快模型训练速度。实验结果表明我们提出的方法比原始BERT模型的扩展性更好。使用自监督损失来建模句子间的连贯性,有助于下游任务的处理。在GLUE、RACE和SQuAD等benchmarks上取得了SOTA,而且与BERT-large相比拥有更少的原创 2021-01-09 17:50:25 · 1947 阅读 · 0 评论 -
论文阅读05:基于循环神经网络的联合事件抽取-Joint Event Extraction via Recurrent Neural Networks
公众号:数据挖掘与机器学习笔记1.简介事件抽取是把含有事件信息的非结构化文本以结构化的形式呈现出来,在自动文摘、自动问答、信息检索等领域有着广泛的应用。近些年来 ,事件抽取一直吸引着许多研究机构和研究者的注意力。MUC (Message Understanding Conference) 会议、ACE ( Automatic Content Extraction) 会议是典型的含有事件抽取任务的评测会议。在调研中发现,ACE 2005作为论文数据集占据了主流,ACE 2005的事件抽取数据集包括英文、中原创 2020-12-30 21:48:45 · 1083 阅读 · 0 评论 -
NLP16:通过序列标注来进行实体和关系的联合抽取
公众号:数据挖掘与机器学习笔记在之前的文章“论文阅读04:使用序列标注的方式解决实体和关系的联合抽取”介绍了一种使用序列标注的方式来进行实体和关系的联合抽取,模型的具体细节可以查看该文章。今天的文章主要是对这篇文章中论文提到的模型进行简单的实现。论文中提到的偏置目标函数通过给不同的标签赋予不同的权重进行实现。这里仅实现模型,能够跑通,因为是在个人笔记本上跑,机器性能不够,所以没有训练完,也没有调参。最终的训练效果也未知。感兴趣的同学可以自己调调参。1.数据处理import reimport jso原创 2020-11-27 21:50:48 · 1186 阅读 · 4 评论 -
NLP15:使用BiLSTM、BiLSTM-CRF、BiLSTM-Attention、Bert-BiLSTM-CRF进行命名实体识别
公众号:数据挖掘与机器学习笔记1.基于BiLSTM的命名实体识别Embedding+BiLSTM+BiLSTM+Densefrom tensorflow.keras.layers import Embedding, LSTM, Bidirectional, Dense, Dropout, Maskingfrom tensorflow.keras.models import Sequentialdef build_model(): """ 使用Sequential构建模型网络:双原创 2020-11-23 21:08:58 · 6853 阅读 · 17 评论 -
论文阅读04:使用序列标注的方式解决实体和关系的联合抽取
公众号:数据挖掘与机器学习笔记Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme1.摘要实体和关系的联合抽取是信息抽取中的一个重要任务。为了解决这个问题,我们首先提出了一种新的标签方案(tagging scheme),将联合抽取任务转换为打标签(tagging)问题。然后,基于该标签方案,我们研究了不同的端到端模型来抽取实体及实体关系,而不是分开识别实体和关系。我们在一个公开数据集上进行了实验,该数据集是原创 2020-11-22 14:56:28 · 4309 阅读 · 0 评论 -
NLP14:基于BiLSTM-Attention的的关系分类
公众号:数据挖掘与机器学习笔记《Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification》是2016年由中国科学技术大学Peng Zhou等在ACL发表的论文,本文是对该论文的简单解读和代码复现。1.模型结构现在来看,模型的结构还是比较简单的,主要包括5部分,分别是输入层、词嵌入层、BiLSTM层、Attention层和softmax输出层。1.1 输入层输入的是句子,可以是原创 2020-11-07 15:48:52 · 5625 阅读 · 4 评论 -
NLP13:CBOW模型的keras和pytorch实现
公众号:数据挖掘与机器学习笔记1.数据准备import osimport jiebaimport randomimport numpy as npfrom collections import Counterfrom torch.utils.data import Dataset, DataLoaderfrom sklearn.model_selection import train_test_split# 参数设置word_size = 64 # 词向量维度window = 5原创 2020-10-28 20:43:19 · 1461 阅读 · 3 评论 -
NLP12:预训练模型之ELMO
公众号:数据挖掘与机器学习笔记1.简介ELMO是一种深层的上下文单词表示模型,它可以同时建模:(1) 单词使用的复杂特征(例如语法和语义),也就是能够学习到词汇用法的复杂性(2)这些用法如何在语言上下文之间变化(即建模多义性)词向量是深度双向语言模型(deep bidirectional language model,BILM)内部状态的可学习函数,这些双向语言模型在大型文本语料库上进行了预训练。可以将这些预训练的词向量添加到现有模型中,能够显著改善NLP问题(问答、文本蕴含、情感分析等)的解决效原创 2020-10-25 22:14:40 · 1401 阅读 · 1 评论 -
NLP11:中文分词综述
1.中文分词的发展历程对380篇英文文献进行分析,大多是会议论文,来源包括ACL、EMNLP、COLING、IJCNLP等,收录最多的是ACL。SIGHAN是国际计算语言学协会中文处理特别兴趣组。SIGHAN采用多家机构的评测数据组织多次评测(即BakeOff),评测使用封闭测试和开放测试两种方法。封闭测试只允许使用固定训练语料学习相应的模型,而开放测试可以使用任意资源。测试使用的评价标准包括准确率、召回率和F值。其中对比的是人工标注的数据集。CIPS-SIGHAN为中文处理资源与评测国际会议。以SIG原创 2020-10-22 22:55:57 · 863 阅读 · 1 评论 -
论文阅读03:深度文本匹配综述
公众号:数据挖掘与机器学习笔记1.文本匹配概要文本匹配在信息检索、自动问答、机器翻译、对话系统、复述问题等自然语言处理任务上应用广泛。.这些自然语言处理的任务都可以在一定程度上抽象成文本匹配问题,比如信息检索可以归结为查询项和文档的匹配,自动回答可以归结为问题和候选答案的匹配,机器翻译可以归结为两种语言间的匹配,对话系统可以归结为前一句对话和回复的匹配,复述问题则可以归结为两个同义词句的匹配。文本匹配面临的挑战主要来源于以下几个方面:词语匹配的多元性不同的词语可以表示同一个语义,比如同义词;相同原创 2020-10-11 17:35:19 · 1281 阅读 · 0 评论 -
知识图谱04:知识图谱的存储与检索
公众号:数据挖掘与机器学习笔记Web本体语言OWL是当前存储本体的主要形式.OWL也适用于知识图谱的存储, 但OWL文档不适用于大数据量的情况, 影响查询、修改和推理速度. 作为知识库的知识图谱, 其基本元素是海量的各种关系联系在一起的实体, 需要创新性的存储方式. 知识图谱可采用关系型数据库或图数据库存储, 也可采用混合的方式存储。1.关系型数据库将知识图谱存入关系型数据库, 是一个将知识图谱转换为RDF三元组进行存储的问题, 即, 将知识图谱的关系分解为一个个<Subject, Predic原创 2020-10-08 09:46:58 · 2797 阅读 · 2 评论 -
知识图谱03:知识图谱的构建方法
公众号:数据挖掘与机器学习笔记1.构建方法知识图谱的构建方法有三种: 自底向上、自顶向下和二者混合的方法.1.1 自底向上法自底向上的构建方法, 从开放链接的数据源中提取实体、属性和关系, 加入到知识图谱的数据层;然后将这些知识要素进行归纳组织, 逐步往上抽象为概念, 最后形成模式层. 自底向上法的流程如图1所示.知识抽取知识抽取, 类似于本体学习, 采用机器学习技术自动或半自动地从一些开放的多源数据中提取知识图谱的实体、关系、属性等要素. 知识抽取包含实体抽取、关系抽取和属性抽取. 实体原创 2020-10-07 21:42:47 · 19167 阅读 · 1 评论 -
知识图谱02:知识图谱的应用
公众号:数据挖掘与机器学习笔记知识图谱提供了一种更好的组织、管理和理解互联网信息的能力, 可用于语义搜索、智能问答、个性化推荐等, 在社交和电子商务等领域中实现价值. 基于知识图谱的应用是信息领域当前的研究热点, 也是促进人工智能发展的基础技术之一.1.语义搜索知识图谱是语义搜索的大脑[55]. 传统搜索引擎基于用户输入的关键词检索后台数据库中的Web网页,将包含搜索关键词的网页的链接反馈给用户. 语义搜索(也称为语义检索)则首先将用户输入的关键词映射至知识图谱中的一个或一组实体或概念, 然后根据知识原创 2020-10-06 19:31:51 · 1636 阅读 · 0 评论 -
知识图谱01:知识图谱的定义
公众号:数据挖掘与机器学习笔记知识图谱(knowledge graph)是以图的形式表现客观世界中的实体(概念、人、事物)及其之间的关系的知识库。2012年,谷歌提出了知识图谱的概念,自此,知识图谱得到了广泛的关注和应用研究,现已发展成为语义搜索、智能问答、决策支持等智能服务的基础技术一。知识图谱是以图的形式表现客观世界中的实体(概念)及其之间关系的知识库. 知识图谱的研究起源于语义Web. 在2000年的XML大会上, Tim Berners Lee提出了语义Web的理念, 目标是为Web网页添加语原创 2020-10-05 21:54:27 · 5267 阅读 · 0 评论 -
NLP10:基于SiameseNetwork的文本相似度计算
公众号:数据挖掘与机器学习笔记一、文本相似度简介在上一篇文章中,简要介绍了孪生网络(siamese network)的基本原理及应用实战,这里再使用孪生网络来进行文本相似度计算。文本的相似性计算是“文本匹配”的一种特殊情况。一般来说,文本相似度计算任务的输入,是两篇文档,比如下表的前两个句子;输出是两篇文档的相似程度,通常用[0,1]区间内的小数来表示。文本相似度计算在许多NLP任务中都有用到,比如问答系统,通常用户给定一个问题,需要去答案库中匹配一个答案。此时,可以直接匹配到一个答案,也可以先匹原创 2020-10-04 20:35:22 · 2530 阅读 · 6 评论 -
NLP09:孪生网络(Siamese Network)简介及实战应用
公众号:数据挖掘与机器学习笔记1.孪生(Siamese)网络基本原理孪生网络是包含两个或多个相同的的子网络组件的神经网络,如下所示:在孪生网络中,不仅子网络的架构是相同的,而且权重在子网络中也是共享的,这样的网络被称为孪生网络。孪生网络背后的思想是其能够学习有用的数据描述符,这些描述符可以进一步用于在各个子网的输入之间进行比较。因此,孪生网络的输入可以是数值数据、图像数据(CNN为子网络)或者序列数据(以RNN为子网络)。通常,孪生网络对输出执行二分类,判断输入是不是属于同一类。最常用的损失函数为翻译 2020-09-30 22:12:10 · 4359 阅读 · 1 评论 -
NLP08:huggingface transformers-使用Albert进行中文文本分类
公众号:数据挖掘与机器学习笔记1.Albert简介Alber相对于原始BERT模型主要有三点改进:embedding 层参数因式分解跨层参数共享将 NSP 任务改为 SOP 任务1.1 embedding 层参数因式分解(Factorized Embedding Parameterization)原始的 BERT 模型以及各种依据 Transformer 的预训连语言模型都有一个共同特点,即 E=HE=HE=H,其中 E 指的是 Embedding Dimension,HHH原创 2020-09-27 21:19:48 · 8858 阅读 · 25 评论 -
NLP07:基于潜在隐语义索引的文本相似度计算
1.潜在隐语义索引(LSI)概述潜在语义索引(Latent Semantic Indexing,以下简称LSI),有的文章也叫Latent Semantic Analysis(LSA)。其实是一个东西,后面我们统称LSI,它是一种简单实用的主题模型。LSI是基于奇异值分解(SVD)的方法来得到文本的主题的。这里我们简要回顾下SVD:对于一个m×nm \times nm×n的矩阵AAA,可以分解为下面三个矩阵:Am×n=Um×mΣm×nVn×nTA_{m \times n} = U_{m \time原创 2020-09-26 12:15:51 · 646 阅读 · 0 评论 -
NLP06:基于TextCNN的中文文本分类
公众号:数据挖掘与机器学习笔记1.TextCNN基本原理主要看第二张图:第一层为输入层,输入是一个n×kn \times kn×k的矩阵,图中为7×57 \times 57×5。其中nnn为句子中的单词数,kkk为词向量维度。词向量可以是预训练好的,也可以在网络中重新开始训练。第一张图中输入有两个矩阵,其中一个使用的预训练好的向量,另一个则作为训练参数。第二层为卷积层,可以把矩阵理解为一张channels为1的图像,使用宽度同词向量维度一样的卷积核去做卷积运算,且卷积核只在高度方向(单词方向)原创 2020-09-24 20:42:53 · 729 阅读 · 1 评论 -
NLP05:基于CNN-LSTM的情感分类
公众号:数据挖掘与机器学习笔记使用CNN-LSTM进行情感分类,这里是一个二分类模型。整体上分为以下几个步骤:环境及参数设置数据预处理模型网络结构搭建及训练模型使用1. 环境及参数设置环境主要指需要哪些包,参数设置包括Embedding、CNN、LSTM网络层的参数和一些基本参数设置。from tensorflow.keras.preprocessing import sequencefrom tensorflow.keras.models import Sequentialfrom原创 2020-09-20 10:45:38 · 3411 阅读 · 0 评论 -
NLP04:LSTM原理详解及文本生成
公众号:数据挖掘与机器学习笔记1.长短期记忆LSTM 中引入了3个门,即输入门(input gate)、遗忘门(forget gate)和输出门(output gate),以及与隐藏状态形状相同的记忆细胞(某些文献把记忆细胞当成一种特殊的隐藏状态),从而记录额外的信息。1.1. 输入门、遗忘门和输出门与门控循环单元中的重置门和更新门一样,如图所示,长短期记忆的门的输入均为当前时间步输入 XtX_tXt 与上一时间步隐藏状态 Ht−1H_{t−1}Ht−1 ,输出由激活函数为sigmoid函数的全原创 2020-09-03 22:14:20 · 1777 阅读 · 0 评论 -
NLP03:使用TF-IDF和LogisticRegression进行文本分类
公众号:数据挖掘与机器学习笔记1.TF-IDF算法步骤1.1 计算词频考虑到文章有长短之分,为了便于不同文章的比较,进行"词频"标准化。1.2 计算逆文档频率需要一个语料库(corpus),用来模拟语言的使用环境。如果一个词越常见,那么分母就越大,逆文档频率就越小越接近0。分母之所以要加1,是为了避免分母为0(即所有文档都不包含该词)。log表示对得到的值取对数。1.3 计算TF-IDF可以看到,TF-IDF与一个词在文档中的出现次数成正比,与该词在整个语言中的出现次数成反比。所以,原创 2020-09-02 21:43:07 · 2635 阅读 · 0 评论 -
NLP01:概率论基础
公众号:数据挖掘与机器学习笔记1.随机变量定义:如果一个随机试验的结果可以用一个变量来表示,那么该变量叫作随机变量b>离散行随机变量:可以按照一定次序列出的随机变量,常用字母ξ\xiξ、η\etaη等表示。连续型随机变量:如果变量可以在某个区间任取一实数,即变量的取值是连续的。 表1 离散型随机变量ξ\xiξ的分布列ξ\xiξa1a_1a1a2a_2a2…\dots…ana_原创 2020-08-30 10:31:20 · 330 阅读 · 0 评论 -
使用NLP从文章中自动提取关键字
公众号:数据挖掘与机器学习笔记1.背景在许多研究和新闻文章中,关键字是其中的一个重要组成部分,因为关键字提供了文章内容的简洁表示。关键字在从信息检索系统,数据库中查找文章以及优化搜索引擎中起着至关重要的作用。此外,关键字还有助于将文章分类为相关主题或者学科。提取关键字的常规方法包括根据文章内容和作者的判断手动分配关键字,但是这需要花费大量的时间和精力,并且在选择适当的关键字方面也可能不准确。随着NLP的发展,关键字提取也变得更加高效、准确。在下面的文章中,我们将展示使用NLP来进行关键字提取。2.翻译 2020-08-29 14:40:37 · 3086 阅读 · 1 评论 -
使用tf.keras从零开始实现Softmax回归
公众号:数据挖掘与机器学习笔记3.6 使用tf.keras从零开始实现Softmax回归 这一节我们来动手实现softmax回归。首先导入本节实现所需的包或者模块%matplotlib inlineimport tensorflow as tfimport matplotlib.pyplot as pltfrom IPython import displayfrom tensorflow import kerasimport tensorflow.data as tfdatatf.e原创 2020-08-28 22:12:01 · 712 阅读 · 0 评论 -
论文笔记02:深度学习实体关系抽取研究综述
摘要、前言实体关系抽取:通过对文本信息建模,从文本中自动抽取实体对间的语义关系,提取出有效的语义关系应用领域:信息抽取、自然语言理解、信息检索、机器翻译、语义网标注、知识图谱等抽取方法:传统方法:有监督、半监督、弱监督和无监督;深度学习方法:有监督和远程监督相关领域国际会议:ACL、EMNLP、ICLR、AAA、KDD、NAACL、ECML-PKDD等2.深度学习实体关系抽取的问题定义和解决框架2.1 问题定义实体关系抽取是指在实体识别的基础上,从非结构化文本中抽取预先定原创 2020-08-27 21:13:18 · 4209 阅读 · 0 评论 -
论文笔记01:R-BERT:BERT在关系抽取中的应用
利用实体信息丰富预训练模型以进行关系分类Enriching Pre-trained Language Model with Entity Information for Relation Classification摘要关系分类是抽取实体间关系的一个重要的NLP任务。关系抽取中的SOTA方法主要基于卷积神经网络或者循环神经网络。最近,预训练的BERT模型在NLP分类和序列标注任务上取得了非常成功的结果。关系分类同上述任务不同,它依赖于句子和两个目标实体的信息。在这篇文章中,我们提出了一个模型,既利用预翻译 2020-08-26 21:04:44 · 3966 阅读 · 0 评论 -
源码系列01:Keras源码之SimpleRNNCell详解
1.源码讲解 SimpleRNNCell类可以理解为RNN中的一个时间步的计算,而RNN则是把多个这样的cell进行串联起来统一计算。如上图所示,红色小方框就表示一个cell的计算。而外面的红色大方框则表示整个RNN的计算。SimpleRNNCell继承自Layer基类,主要包含4个方法:init():构造方法,主要用于初始化参数build():主要用于初始化网络层中涉及到的权重参数call():用于网络层的参数计算,对输入进行计算,并产生相应地输出get_config():获取该网络层原创 2020-08-24 20:43:16 · 4202 阅读 · 3 评论 -
Seq2Seq详解及实现
1.Seq2Seq是什么? Seq2Seq学习是训练一个模型,将来自一个领域的序列(例如英语语句)转换为另一个领域的序列(例如法语)。"the cat sat on the mat" -> [Seq2Seq model] -> "le chat etait assis sur le tapis" Seq2Seq模型可以用于机器翻译或者自由问答(在给定自然语言问题的情况下生成自然语言答案)。通常,它可以在任何需要生成文本的情况下使用。 我们可以使用多种方法来处理Seq2Seq任务,翻译 2020-08-23 15:09:22 · 5967 阅读 · 0 评论 -
gensim学习之语料库和向量空间
微信公众号:数据挖掘与分析学习1.字符串转为向量1.1导入所需库 import logging logging.basicConfig(format='%(asctime)s:%(levelname)s:%(message)s',level=logging.INFO) from gensim import corpora from ...原创 2018-09-18 10:44:24 · 1726 阅读 · 0 评论