
自然语言处理
文章平均质量分 67
herosunly
985院校硕士毕业,现担任算法工程师一职,获得优快云博客之星第一名,热衷于大模型算法的研究与应用。曾担任百度千帆大模型比赛、BPAA算法大赛评委,编写微软OpenAI考试认证指导手册。曾获得多项AI顶级比赛的Top名次,其中包括阿里云天池比赛第一名,科大讯飞分类挑战赛第一名,CCF信息分类比赛比赛第二名,开放原子分类比赛二等奖,CCF家族分类第四名,科大讯飞阿尔茨海默症预测挑战赛第四名,科大讯飞事件抽取挑战赛第七名。在技术创新领域拥有多项授权发明。曾辅导多位非科班出身的同学成功进入算法行业就业。希望和大家一起成长进步。
展开
-
自然语言处理 特征提取
1. 基本文本处理技能1.1 分词 在语言中,语义的基本单元是单词。在英语句子中已天然就已经分割成单词(空白符和标点符号隔开),而在汉语中字和字紧紧的连在一起。所以我们需要进行分词。分词有很多种算法:基于字符串匹配算法、基于理解的算法、基于统计的算法(如HMM和n-gram)等。下面重点介绍第一种字符串匹配算法。1.1.1 分词的正向最大匹配 分词的正向最大匹配本质是基于分治和贪婪两种...原创 2019-04-10 14:44:02 · 13784 阅读 · 4 评论 -
BERT代码解读
1. 公共函数2. tokenization2.1 basic tokenizer2.2 wordpiece tokenizer2.3 fulltokenizer3. create_pretraining_data3.1 配置基本参数3.2 main3.3 instances的构建3.4 保存instances3.5 执行pre_train4. word embedding5.词向量后续处理6. attention mask7. attention layer..........原创 2019-06-16 19:41:08 · 12685 阅读 · 4 评论 -
word2vec资源整理和思考
综合:https://www.cnblogs.com/fengyubo/p/10387311.html博客:http://jalammar.github.io/illustrated-word2vec/代码:https://towardsdatascience.com/an-implementation-guide-to-word2vec-using-numpy-and-google-shee...原创 2020-04-25 17:09:35 · 2081 阅读 · 0 评论 -
A Neural Probabilistic Language Model阅读笔记
Bengio 用了一个三层的神经网络来构建语言模型,同样也是 n-gram 模型。通过前$n-1$个词即$w_{t-n+1},\dots,w_{t-2},w_{t-1}$来预测第$n$个词即$w_t$。其中$C(w)$表示词$w$对应的词向量(其中词向量的维度为m),而$C$表示的是所有词的词向量矩阵,则它的维度是$|V| \times m$。网络的第一层(输入层)是将$C(w_{t-n+1}),\dots,C(w_{t-2}),C(w_{t-1})$拼接到一起,则形成的向量为x,维度为$(n-原创 2020-04-22 17:09:59 · 10893 阅读 · 0 评论 -
使用Python进行英文单词分割
由于在一些场景中,所有的字母都连在了一起,所以我们需要将字母分割成单词的形式。1. 安装pip install -U symspellpy2. 下载词典curl -LJO https://raw.githubusercontent.com/mammothb/symspellpy/master/symspellpy/frequency_dictionary_en_82_765.txt...原创 2020-04-14 15:46:59 · 10680 阅读 · 6 评论 -
语言模型
1. Noisy Channel Model 已知source的条件下求解text,由于source是已知的,由贝叶斯定理推出下式:p(text∣source)∝p(source∣text)⋅p(text)p(text|source) \propto p(source|text) \cdot p(text)p(text∣source)∝p(source∣text)⋅p(text) 这么写...原创 2020-01-02 13:16:58 · 3037 阅读 · 0 评论 -
CS224n笔记1 自然语言处理与深度学习简介
0. 本节课程计划NLP的基本概念和人类语言的本质。什么是深度学习。课程安排。为什么NLP难?NLP的应用。1. NLP的基本概念1.1 什么是NLP? NLP是计算机科学、人工智能、语言学的交叉学科。 它的目标是让计算机理解人类语言,从而完成有意义的任务。例如:下订单或者买东西知识问答,如Siri、谷歌助手、微软小冰等 完全理解和表达语言的内涵是极其困难的...原创 2019-11-13 16:45:28 · 10626 阅读 · 2 评论 -
Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks 论文解读
1. 摘要 在关系抽取中使用远程监督会产生两大问题。第一,在远程监督中会将知识库和文本进行启发式对齐,然后启发式对齐可能会导致错误标注的数据。第二,在之前的方法中,统计模型通过特定的特征进行分类,但特定特征产生的噪声往往会导致较差的效果。 在本文中,提出了多示例学习和PCNNs来处理上述的两个问题。其中多示例学习解决了远程监督的噪声问题。后者是通过分段的CNN来自动学习特征。实验证明,我们...原创 2019-06-16 19:38:08 · 17062 阅读 · 0 评论 -
TextCNN
1. 不同的实现方式1.1 经典实现方式 最经典的实现方式来自于《Convolutional Neural Networks for Sentence Classification》,下载地址为 https://www.aclweb.org/anthology/D14-1181 。 主要分为以下几步:词嵌入、卷积、池化、全连接+softmax,示意图如下所示:1.1.1 词嵌入 ...原创 2019-06-03 18:03:56 · 1524 阅读 · 0 评论 -
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 论文阅读笔记
1. 概况语言模型预训练已经证明可以改善许多自然语言处理任务,如如命名实体识别、SQuAD问答。现有两种策略可用于将预训练语言表示应用于下游任务:基于特征和微调。 基于特征的方法,如ELMo,使用特定于任务的体系结构,其中包括预先训练的表示作为附加功能。 微调方法,例如Generative Pre-trained Transformer(OpenAI GPT),引入了最小的任务特定参数,并通过...原创 2019-06-12 21:07:17 · 16077 阅读 · 0 评论 -
关系分类之划分数据
def transform_to_one_hot(label_str, num_classes): label_one_hot_list = [0] * num_classes label_list = label_str.split() if len(label_list) == 1: label_one_hot_list[int(label_l...原创 2019-05-18 17:53:22 · 10662 阅读 · 3 评论 -
Chinese Relation Extraction by BiGRU with Character and Sentence Attentions之网络理解
Character Level attention:http://anthology.aclweb.org/P16-2034Sentence Level attention:http://aclweb.org/anthology/P16-12001. Character attention H是一个矩阵,它是由LSTM层产生的多个向量[h1,h2,…,hT][h_1,h_2,\dots,h...原创 2019-05-06 15:26:16 · 1645 阅读 · 3 评论 -
Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification模型实现
1. Attention H是一个矩阵,它是由LSTM层产生的多个向量[h1,h2,…,hT][h_1,h_2,\dots,h_T][h1,h2,…,hT]组成的。其中T是句子的长度。句子的表示rrr是输出向量的权重之和。M=tan(H)M = tan(H)M=tan(H) α=softmax(WTM)\alpha =softmax(W^TM)α=softmax(WTM) r=HαTr...原创 2019-05-19 21:29:25 · 11737 阅读 · 10 评论 -
How Self-Attention with Relative Position Representations works
本文的主要内容是基于相对位置表示的自注意力机制是如何工作的。1. 引论 本篇文章是基于 Self-Attention with Relative Position Representations(https://arxiv.org/pdf/1803.02155.pdf),它提出了一种对Transformer的输入序列中的位置编码的替代方法。它改变了Transformer的自注意力机制,从......原创 2019-05-15 11:10:36 · 2090 阅读 · 2 评论 -
CCKS-2019-IPRE baseline sentence level 代码理解
1. 导库import numpy as npimport tensorflow as tfimport randomimport osimport datetimefrom collections import Counter #用来统计词频2. 设置随机化种子def set_seed(): os.environ['PYTHONHASHSEED'] = '0' #会影响...原创 2019-05-20 16:25:05 · 17245 阅读 · 0 评论 -
Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification 论文研读
0. 个人浅谈 Attention是在2015年提出的,而本文的发表时间是在2016年,它是ACL会议(NLP国际顶级会议之一)的录用论文(具有一定的研究意义),显而易见的是它是把attention应用到到NLP的关系抽取中的一个成功实践。所以对于AI学习者而言,学习最新的技术,然后将其应用到自己所在的工作领域,这是一件非常有趣的事情。1. 摘要 关系抽取是自然语言处理领域中一个非常重要...原创 2019-05-16 14:57:14 · 11170 阅读 · 2 评论 -
position embedding与unsigned integer
position embedding(位置嵌入),是在NLP任务中经常使用的一个trick。它的思想和unsigend integer很相似,不仅是有范围限制,而且是从0开始,具体来说就是把和0对称的数据区间,平移到从0开始的区间,代码如下所示:class Model(object): def __init__(self, pos_limit): self.p...原创 2019-05-17 11:14:06 · 15871 阅读 · 3 评论 -
Relation Classification via Multi-Level Attention CNNs 论文研读和模型调试
0. 个人浅谈 该paper下载地址为 https://www.aclweb.org/anthology/papers/P/P16/P16-1123/ ,它是ACL会议(NLP国际顶级会议之一)的录用论文,而且被引用100多次,所以具有一定的研究意义。它主要提出了一个基于多Attention机制CNN网络的实体关系抽取方法。1. 摘要 We propose a novel convo...原创 2019-05-22 21:53:55 · 12395 阅读 · 1 评论 -
Word2Vec词向量训练
1. 安装python模块 pip install jieba pip install gensim2. 自定义词典2.1 比赛实体名对应的词典 由于比赛数据中最重要的词就是实体名,但这部分数据往往在已有的预料中并不包含,所以需要从比赛数据中进行提取。def transform_entity_to_userdict(read_file_path_list, save_file_p...原创 2019-05-27 13:55:46 · 9688 阅读 · 0 评论 -
nltk之WordNet使用和synonyms
由于《Relation Classification via Convolutional Deep Neural Network》中使用了WordNet的上位词特征,所以也想自己实践一下。1. 安装1.1 安装nltk pip install nltk1.2 安装WordNetimport nltknltk.install('wordnet')2. 上位词 上位词(hyp...原创 2019-05-27 19:18:46 · 3181 阅读 · 1 评论 -
Relation Classification via Convolutional Deep Neural Network 论文研读
0. 个人浅谈 该文是ACL会议(NLP国际顶级会议之一)的录用论文,所以具有一定的研究意义。但它的发表时间是在2014年,也就是在AlexNet(2012年)和VGG-Net(2014年)已经在图像分类任务中成功应用之后的事。使用CNN来解决NLP中的关系抽取(关系分类)任务也是情理之中的。当然,中间有很多具体的细节,还需要精雕细琢才能够成功应用。1. 摘要 现有的统计分类是采用统计机...原创 2019-05-08 15:51:07 · 6113 阅读 · 7 评论