- 博客(84)
- 资源 (2)
- 收藏
- 关注

原创 文本分类模型第三弹:BoW(Bag of Words) + TF-IDF + LightGBM
一、前言本文是文本分类模型的第三弹,利用词袋模型(BoW),词频逆文档频率(TF-IDF)与 LightGBM 模型进行文本分类。原本计划的第三弹内容为 TextCNN 网络,介于最近刚刚利用 LightGBM 完成了一个简单的文本分类的任务,就趁热记录一下,作为第三弹的内容。这里是文本分类系列:文本分类模型第一弹:关于Fasttext,看这一篇就够了文本分类模型第二弹:HAN...
2020-04-14 21:55:04
2535

原创 Bert (Bi-directional Encoder Representations from Transformers) Pytorch 源码解读(三)
前言Bert (Bi-directional Encoder Representations from Transformers) Pytorch 版本源码解读的第三篇,也是最后一部分。这一部分为源码中, wiki_dataset.py 文件中的内容,主要实现了 Bert 模型预训练时,数据的预处理工作。读完这一部分源码有助于更好的理解模型的输入部分的数据是如何构造的。Bert 源码解读:...
2020-01-13 14:33:15
746
1

原创 Bert (Bi-directional Encoder Representations from Transformers) Pytorch 源码解读(二)
前言这里是 Bert(Bi-directional Encoder Representations from Transformers) 源码解读的第二部分,第一部分主要介绍了 bert_model.py 文件中, bert 模型的定义。而第二部分为 BERT_Training.py 文件,该部分源码主要实现了 Bert 模型的预训练工作。Bert 源码解读:1. 模型结构源码:be...
2020-01-08 15:28:12
976

原创 Bert (Bi-directional Encoder Representations from Transformers) Pytorch 源码解读(一)
前言Bert (Bi-directional Encoder Representations from Transfromers) 预训练语言模型可谓是2018年 NLP 领域最耀眼的模型,看过很多对 Bert 论文和原理解读的文章,但是对 Bert 源码进行解读的文章较少,这篇博客有一份 TensorFlow 版本的 Bert 源码解读,这里来对 Pytorch 版本的 Bert 源码记录...
2019-12-27 15:43:39
2362
2

原创 文本分类模型第二弹:HAN(Hierarchy Attention Network)
一、前言本文是文本分类的第二篇,来介绍一下微软在2016年发表的论文《Hierarchical Attention Networks for Document Classification》中提出的文本分类模型 HAN(Hierarchy Attention Network)。同时也附上基于 Keras 的模型实现,代码解读,以及通过实验来测试 HAN 的性能。这里是文本分类系列:文本...
2019-09-26 21:59:45
6990
8

原创 文本分类模型第一弹:关于Fasttext,看这一篇就够了
一、前言最近手头上接到一个文本分类的任务,当前使用的Baseline是Fasttext模型。由于之前对Fasttext了解不是很多,所以在开始之初决定对Fasttext进行一番调研。但网上关于Fasttext的博客和提出Fasttext的两篇论文在一些细节上都写的不是很清楚,对其性能也缺乏实验数据的支撑说明,于是就有了今天这篇文章。关于Fasttext,看这一篇就够了。这里是文本分类系...
2019-08-04 17:06:34
9215
12

原创 自动摘要生成(三):词向量相似度与有效词含量
一、前言新闻在动摘要生成的前两部分在这里:自动摘要生成(一):最大边界相关算法(MMR)自动摘要生成(二):由PageRank转变而来的TextRank算法这里是新闻摘要生成系列的第三部分,这一篇没有什么具体算法,主要介绍两种更偏向工程实现的抽取式摘要生成方法,分别是词向量相似度值计算,以及句子有效词含量的计算。二、词向量相似度首先来说一下词向量相似度的方法,Word2Ve...
2019-04-21 22:26:23
1882

原创 自动摘要生成(二):由PageRank转变而来的TextRank算法
一、瞎扯这是我2019年写的第一篇博客,开篇说点题外话,翻了一下博客的记录,上一遍新闻自动摘要生成(一)的博客还是去年7月写的,这大半年的时间里,忙着秋招,忙着找工作,忙着实习,忙着完成毕业设计,以及忙着完成毕业论文,月初提交了毕业论文,也总算有时间可以继续书写博客。记得也是在优快云上结识的一位师姐说的很对,“书写是对思维的缓存”。写博客不仅是对自己学习过程的一些记录,而且在知识输出的书写过...
2019-04-20 15:41:52
2662
2

原创 自动摘要生成(一):最大边界相关算法(MMR)
分享一下前一段时间公司需要做的文章自动摘要。一.摘要方法目前来说,文章摘要自动生成主要分为两种方法:生成式和抽取式。生成式采用sequence2sequence+Attention的模型,采用Encoder-Decoder的结构,具体方法可以阅读这篇论文:https://arxiv.org/pdf/1509.00685.pdf抽取式则是通过关键词筛选等方法,从原文中截取句子组成摘要...
2018-07-25 11:53:36
14277
17

原创 基于Tensorflow的LSTM-CNN文本分类模型
题记 前段时间再看QA方面的文章,读了一篇paper(《LSTM-based deep learning model for non-factoid answer selection》)中,使用了LSTM-CNN模型来做answer与question的语义抽取。受此启发,使用这个模型对文本语义信息进行抽取,加上一个softmax函数形成文本分类模型。1.LSTM(Long Short-Ter...
2018-04-26 15:24:47
27001
30
原创 TensorFlow 2.1.0 使用 TFRecord 转存与读取文本数据
前言:上次记录了一下如何使用 TFRecord 来转存图片与 label ,后续经手了一些 NLP 任务,尝试使用了 TF 2.1.0,所以记录一下如何使用 TFRecord 来保存和读取文本数据。准备工作:TFRecord 无法直接记录文本信息,所以需要首先对文本内容进行一些预处理的准备工作,分别是分词,去停用词,建立词典,以及将文本转化为词典 index。再将 index 值写入 TFRecord。TFRecord首先这里把训练集和验证集分构造为了两个 DataFrame ,然.
2020-07-02 11:32:58
1727
1
原创 TensorFlow 2.1.0 使用 TFRecord 转存与读取图片
前言当 NLP 玩家遇到一个 CV 图像分类的任务时,老实的说,我是有点懵逼的。。。任务目标是,训练一个层数较少,结构较为简单的图像分类模型,使用其最后一层隐藏层输出,作为特征向量来表征图像。之前都是使用 Keras 较多,于是本次准备借着这个简单的任务上手 TensorFlow 2.1 。数据加载Python generator 出现的问题TensorFlow 2.1 自...
2020-03-19 21:40:05
2589
4
原创 论文研读(1)《Summarizing Source Code with Transferred API Knowledge》
前言20年给自己立了一个阅读论文数量的flag,但有些论文读完后没有实践,过一阵子又会忘记论文中的一些细节,所以2020开一个新的论文研读系列,记录一下自己读过的论文吧。第一篇论文,《Summarizing Source Code with Transferred API Knowledge》,这篇论文的2018年发表于IJCAI,目前为代码摘要生成的STOA。主要的创新点为归纳出代码中的...
2020-02-19 17:27:51
1261
原创 Python 命名实体识别(NER) 库 使用指南
一、前言最近工作中需要使用命名实体识别来做一版人名及机构名的预识别demo,评估了独立训练一套NER模型所耗费的标注成本巨大,加上目前只是对该需求进行demo版本的开发,所以花了一段时间对目前现有的开源 NER 工具包进行了调研及优缺点评估。这次主要使用的开源 NER 工具包有: StanfordCoreNLP https://stanfordnlp.github.io/Cor...
2019-12-21 16:55:05
17932
5
原创 python RGB与LCH互转 算法
一、前言最近业务需要,要将一个RGB 色彩空间的颜色,转化到 LCH 色彩空间,生成渐变色,再转回 RGB 色彩空间。查遍网上,只有 Matlab 写的转换代码。没有 RGB 与 LCH 互转的 PYTHON 代码,所以自己手撸了一个放上来。需要用 PYTHON 实现转换的同学可以自取。二、原理公式RGB 到 LCH 的转换过程,首先需要将 RGB 转换到 XYZ 空间,再将 XYZ...
2019-11-22 10:12:18
3679
原创 Python 项目生成requirements.txt
项目上线部署的时候需要服务端的同学帮忙打Docker,但是自己也需要提前写好requirements.txt。这里记录一下两种生成requirements.txt的方法。方法一:在项目根目录下,在命令行中输入:pip freeze > requirements.txt这种方法会将当前环境下的所有的信息都存入requirements.txt中。方法二:首先安装 p...
2019-09-02 17:23:17
433
原创 Python 纯手写 实现KNN KD树算法
《统计学习方法》第三章中的算法3.2与算法3.3实现KD树的构造级最邻近点搜索算法3.2:构造KD树输入:空间数据集T输出:KD树Python代码:def creat_ketree(data,depth=0): """ 创建KD树 axis为坐标轴 num为中位数节点 depth为树的深度 median为父节点 ...
2018-08-08 20:24:11
922
原创 Python 纯手写 实现KNN
实现《统计学习方法》P39 例3.1输入:数据集,实例X,K值,以及计算距离的方法输出:距离最近的K个数据,以及最近距离例3.1:首先定义三种计算距离的方法:欧氏距离,曼哈顿距离,以及各个坐标值的最大值对传入的实例X,计算再不同的距离计算方法下的最近距离,及对应的最近的坐标值Python代码:import numpy as npimport mathx = np....
2018-08-07 20:05:35
597
原创 Python 纯手写 实现感知机模型及对偶形式
根据《统计学习方法》P29页算法2.1,实现感知机模型及对偶形式。算法2.1:输入:训练数据集,learning rate alpha。输出:权重w,偏置b。(1)初始化w0,b0(2)在数据集中选定Xi,Yi带入(3)计算Yi * (Xi * w + b),如果小于等于0,对w和b进行更新(4)重复(2),(3),直至无误分类点。Python代码如下:imp...
2018-08-07 16:09:20
729
原创 LeetCode--Python解析【Valid Palindrome】(125)
题目:方法:class Solution: def isPalindrome(self, s): """ :type s: str :rtype: bool """ a=''.join([x for x in s if x.isalpha() or x.isdigit()]).lower() ...
2018-07-30 15:08:37
448
原创 LeetCode--Python解析【Remove Element】(27)
题目:方法:class Solution: def removeElement(self, nums, val): """ :type nums: List[int] :type val: int :rtype: int """ n = 0 for i in num...
2018-07-30 14:01:59
487
原创 LeetCode--Python解析【Move Zeroes】(283)
题目:方法:class Solution: def moveZeroes(self, nums): """ :type nums: List[int] :rtype: void Do not return anything, modify nums in-place instead. """ j...
2018-07-30 10:50:09
397
原创 LeetCode--Python解析【Remove Duplicates from Sorted Array】(26)
题目:方法:class Solution: def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int """ if not nums:return 0 len_list = len(nums) ...
2018-07-26 20:38:58
1544
原创 LeetCode--Python解析【Add Binary】(67)
题目:方法:class Solution: def addBinary(self, a, b): """ :type a: str :type b: str :rtype: str """ len_a = len(a) - 1 len_b = len(b) - 1...
2018-07-26 16:18:35
393
1
原创 LeetCode--Python解析【Largest Number】(179)
题目:方法:class Solution: def cmp(self,x,y): return (x > y) - (x < y) def comper(self,x,nums): temp = 0 for n in nums: n = str(n) ...
2018-07-26 14:24:51
1181
原创 LeetCode--Python解析【Length of Last Word】(58)
题目:方法:class Solution: def lengthOfLastWord(self, s): """ :type s: str :rtype: int """ temp = s.split(" ") while temp: x = temp.p...
2018-07-24 17:32:21
288
原创 LeetCode--Python解析【String Compression】(443)
题目:方法:class Solution: def compress(self, chars): """ :type chars: List[str] :rtype: int """ n = len(chars) i , count = 0 , 1 for j in...
2018-07-24 17:13:04
2109
原创 LeetCode--Python解析【Detect Capital】(520)
题目:方法:class Solution: def detectCapitalUse(self, word): """ :type word: str :rtype: bool """ test = word.upper() test1 = word.lower() ...
2018-07-24 16:33:18
747
原创 LeetCode--Python解析【Longest Continuous Increasing Subsequence】(674)
题目:方法:class Solution: def findLengthOfLCIS(self, nums): """ :type nums: List[int] :rtype: int """ if not nums: return 0 res = num...
2018-07-24 16:01:41
565
原创 LeetCode--Python解析【Max Consecutive Ones】(485)
题目:方法:class Solution: def findMaxConsecutiveOnes(self, nums): """ :type nums: List[int] :rtype: int """ n = 0 res = 0 for i in nums:...
2018-07-23 17:34:05
424
原创 LeetCode--Python解析【Missing Number】(268)
题目:方法:class Solution: def missingNumber(self, nums): """ :type nums: List[int] :rtype: int """ a = len(nums) b = int(a*(a+1)/2) for n...
2018-07-23 17:19:03
348
原创 Linux常用命令汇总笔记——【持续更新中】
1.链接服务器ssh gary@170.240.110.211 -p 4321 -l gary-p:端口号-l:用户名称2.复制本地文件到远程scp -r -P 4321 ~/gpu/KBQA_Query gary@170.240.110.211:/data-r:拷贝文件价-P:指定端口3.查询进程ps -ef |grep redis4.结束进程...
2018-06-12 09:55:21
443
转载 揭开知识库问答KB-QA的面纱8·非结构化知识篇
内容速览非结构化的知识库——维基百科文档检索与文档理解段落encoding、问题encoding与答案预测实验与总结如果你想寻找一个问题的答案,比如谢霆锋的出生年月,那么你可能会先去查看关于谢霆锋的百度百科 或者 维基百科,找到和出生年月相关的那一行信息,再提取答案。那么,我们能不能让机器也这样去回答问题呢?在我们前面讲到的文章中,我们都使用了结构化的知识库来回答问题,今天我们将介绍一种使用非结构...
2018-06-06 10:03:55
1877
转载 揭开知识库问答KB-QA的面纱7·深度学习下篇(二)
内容速览引入注意力机制的KB-QA深度学习篇小结我们紧接上篇揭开知识库问答KB-QA的面纱7·深度学习下篇(一)的内容,为大家介绍注意力机制的KB-QA文章Question Answering over Knowledge Base with Neural Attention Combining Global Knowledge Information由中科院自动化所刘康老师等人在2016年发表在...
2018-06-06 10:02:27
1731
1
转载 揭开知识库问答KB-QA的面纱7·深度学习下篇(一)
内容速览什么是记忆网络基于记忆网络的KB-QA在上两期,我们分别介绍了使用深度学习的卷积神经网络对向量建模和语义解析方法进行提升的两篇经典论文。今天我们将为大家带来两篇使用深度学习其他两种经典模型进行KB-QA的文章,分别是记忆网络(Memory Network)和带注意力机制的循环神经网络(Recurrent Neural Networks with Attention Mechanism)。它...
2018-06-06 10:01:20
3650
转载 揭开知识库问答KB-QA的面纱6·深度学习中篇
内容速览语义解析方法的再思考什么是查询图查询图的阶段生成各阶段的特征论文实验与总结在上期,我们介绍了深度学习对传统向量建模KB-QA方法进行提升的一篇代表论文,可以看出它的效果击败了当时所有的传统方法。本期,我们将以深度学习提升语义解析方法的一篇代表作为例,作为深度学习篇的中篇,为大家进一步揭开知识库问答的面纱。我们在揭开知识库问答KB-QA的面纱2·语义解析篇中介绍了传统方法之一的语义解析(Se...
2018-05-30 11:11:49
1889
转载 揭开知识库问答KB-QA的面纱5·深度学习上篇
内容速览向量建模方法的再思考Multi-Column卷积神经网络实验分析与总结自2015年开始,深度学习用于KB-QA的方法取得了很好的效果,并逐渐成为了KB-QA的主流方法。也涌现出了一批使用深度学习提升传统的语义解析、信息抽取和向量建模方法的优秀论文。本期,我们先以深度学习提升向量建模方法为例,作为深度学习篇的上篇,为大家进一步揭开知识库问答的面纱。我们在揭开知识库问答KB-QA的面纱4·向量...
2018-05-30 09:41:59
2218
转载 揭开知识库问答KB-QA的面纱4·向量建模篇
内容速览向量建模的核心思想如何用分布式表达表示答案和问题如何训练分布式表达论文实验与总结本期我们将介绍KB-QA传统方法之一的向量建模(Vector Modeling),我们以一个该方法的经典代表作为例,为大家进一步揭开知识库问答的面纱。该方法来自Facebook公司Bordes A, Chopra S, Weston J的论文 Question answering with subgraph e...
2018-05-29 19:06:13
805
3
转载 揭开知识库问答KB-QA的面纱3·信息抽取篇
内容速览 你是如何通过知识库回答问题的 如何确定候选答案 如何对问题进行信息抽取 如何筛选候选答案 论文实验与总结 本期我们将介绍KB-QA传统方法之一的信息抽取(Information Extraction),我们以一个该方法的经典代表作为例,为大家进一步揭开知识库问答的面纱。该方法来自约翰·霍普金斯大学Yao X, Van Durme B.的 Information Extraction ov...
2018-05-29 16:27:44
1075
转载 揭开知识库问答KB-QA的面纱2·语义解析篇
内容速览 什么是语义解析(Semantic Parsing) 什么是逻辑形式(Logic Form) 语义解析KB-QA的方法框架 实验结果本期我们从传统方法之一的语义解析(有时也被称为语义分析)开始,以一个经典的语义解析baseline方法为例,介绍语义解析如何进行KB-QA。该方法来自斯坦福Berant J, Chou A, Frostig R, et al. 的Semantic Parsin...
2018-05-29 14:18:22
1797
sentiment140情感分类数据集
2019-08-03
搜狗新闻文本分类数据集SougoCS
2019-08-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人