NLP
姬香
人生到处知何似,应似飞鸿踏雪泥
展开
-
源码分析:《Topic-to-Essay Generation with Neural Networks》
1.阅读配置参数的 Config.py 文件完整代码如下:#coding:utf-8class Config(object): data_dir = 'Data/' vec_file = 'Data/vec.txt' init_scale = 0.04 learning_rate = 0.001 max_grad_norm = 10 #梯度剪裁...原创 2019-11-12 02:45:10 · 809 阅读 · 1 评论 -
Transformer:Pytorch版本的源码解析
代码来源:http://nlp.seas.harvard.edu/2018/04/03/attention.html1. 首先加载包:import numpy as npimport torchimport torch.nn as nnimport torch.nn.functional as Fimport math, copy, timefrom torch.autogra...原创 2019-09-05 00:09:54 · 5868 阅读 · 2 评论 -
Encoder-Decoder架构与注意力机制
Encoder-Decoder架构模型,如下图:Encoder会利用整个原始句子生成一个语义向量,Decoder再利用这个向量翻译成其它语言的句子。这样可以把握整个句子的意思、句法结构、性别信息等等。Encoder对X 进行非线性变换得到中间语义向量c :Decoder根据语义c 和生成的历史单词来生成第个单词 :Encoder和Decoder具体使用什么模型,都可以自己...原创 2019-07-14 00:08:15 · 7953 阅读 · 0 评论 -
从n-gram到Bert聊一聊词向量:神经概率语言模型
神经网络语言模型NNLM:论文:Bengio, Yoshua, et al. "A neural probabilistic language model." http://jmlr.org/papers/volume3/bengio03a/bengio03a.pdf目标是学一个好的模型 ,分解函数为两个部分:一是V中任何元素i到实数向量的映射C,C表示与词汇表中的每个单词相关联的分...原创 2019-07-16 17:25:23 · 961 阅读 · 0 评论 -
seq2seq 源码分析(PyTorch版)
torch.__version__版本为-1.1.01.首先引入包,定义 填充符 PAD_token、开始符 SOS_token 、结束符 EOS_token# 在开头加上from __future__ import print_function这句之后,如果你的python版本是python2.X,你也得按照python3.X那样使用这些函数。# Python提供了__futu...原创 2019-07-11 21:32:02 · 2184 阅读 · 1 评论 -
从n-gram到Bert聊一聊词向量:Word2Vec
Word2Vec模型中有CBOW和Skip-Gram两种模式:CBOW(多到一)是给定上下文来预测输入单词,训练方法为负采样Skip-Gram(一到多)是给定输入单词来预测上下文,训练方法为哈夫曼树训练步骤:1.将输入的文本生成词汇表,统计词频选择前k个构成词汇表 vocab.txt。每个词对应生成one-hot向量,向量的维度是V2.将输入的文本的每个词生成一个one-...原创 2019-07-14 00:06:03 · 1647 阅读 · 0 评论 -
《Attention is All You Need》论文理解Transformer
谷歌的Transformer模型最早是用于机器翻译任务,当时达到了SOTA效果。Attention is All You Need:https://arxiv.org/abs/1706.03762Tensorflow:https://github.com/tensorflow/tensor2tensorPytorch代码:http://nlp.seas.harvard.edu/2018...原创 2019-07-14 00:07:23 · 1565 阅读 · 0 评论 -
分类算法及其应用场景
单一的分类方法主要包括:LR逻辑回归,SVM支持向量机,DT决策树、NB朴素贝叶斯、NN人工神经网络、K-近邻;集成学习算法:基于Bagging和Boosting算法思想,RF随机森林,GBDT,Adaboost,XGboost。...原创 2019-07-09 22:26:53 · 6203 阅读 · 0 评论 -
中文NER方法
1 定义:Named Entity Recognition,命名实体识别)是自然语言处理中常见的一项任务,使用的范围非常广。命名实体通常指的是文本中具有特别意义或者指代性非常强的实体,通常包括人名、地名、机构名、时间、专有名词等。NER系统就是从非结构化的文本中抽取出上述实体,并且可以按照业务需求识别出更多类别的实体,比如产品名称、型号、价格等。2 方法:NER问题的目标是从文本抽取出...原创 2019-06-25 16:58:16 · 2644 阅读 · 0 评论 -
如何理解语言生成的greedy search 与 beam search
greedy search每一步都都采用最大概率的词,如下:from numpy import arrayfrom numpy import argmax# greedy decoderdef greedy_decoder(data): # 每一行最大概率词的索引 return [argmax(s) for s in data]# 定义一个句子,长度为10,词典大...原创 2019-04-03 20:35:49 · 1260 阅读 · 0 评论 -
理解jieba的并行分词模式(源码分析)
当开启并行分词模式时候,跑了一晚上代码,第二天早上发现还没有跑完。于是就觉得很奇怪!部分代码如下:m = 0contents = []for i in df['content']: i = i.strip() # # 匹配中文标点符号 String str="[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\u...原创 2019-04-08 16:59:11 · 4560 阅读 · 0 评论 -
nlp评价指标
F1-score, PPL, MRR, MAP, BLUE原创 2019-03-20 15:09:26 · 1712 阅读 · 0 评论 -
从n-gram到Bert聊一聊词向量(一):n-gram
一元语法二元语法对于一个句子,近似认为一个词的概率只依赖于它前面的1个词。即一个状态只跟上一个状态有关,也称为一阶马尔科夫链。假设 表示二元语法在给定文本中的出现次数,三元语法n元语法认为一个词出现的概率和它前面的n个词有关系,一般取n=2或者n=3。其概率计算公式为如下:对于n>2的n元语法模型,条件概率要考虑前面n−1个词的概率,设wji表...原创 2019-03-20 14:38:33 · 1573 阅读 · 0 评论