
NLP
dancingmind
这个作者很懒,什么都没留下…
展开
-
NLP入门_基于Bert的文本分类
预训练过程使用了Google基于Tensorflow发布的BERT源代码。首先从原始文本中创建训练数据,由于本次比赛的数据都是ID,这里重新建立了词表,并且建立了基于空格的分词器 class WhitespaceTokenizer(object): """WhitespaceTokenizer with vocab.""" def __init__(self, vocab_file): self.vocab = load_vocab(vocab_file) s原创 2020-08-04 21:11:59 · 631 阅读 · 0 评论 -
NLP入门_基于深度学习的文本分类
TextCNN #模型搭建 self.filter_sizes = [2, 3, 4] # n-gram window self.out_channel = 100 self.convs = nn.ModuleList([nn.Conv2d(1, self.out_channel, (filter_size, input_size), bias=True) for filter_size in self.filter_sizes]) #前向传播 pooled_outputs = [] for i in ra原创 2020-07-31 23:34:56 · 162 阅读 · 0 评论 -
NLP入门_基于深度学习的文本分类_Fasttext
基于机器学习的文本分类存在如下缺陷: 转换得到的维度较高,训练时间较长; 没有考虑单词之间的联系; 深度学习也可以用于文本表示,还可以将其映射到低维空间,比较典型的例子有:FastText、Word2Vec和Bert。 FastText FastText是一种典型的深度学习词向量表示方式,它可以非常简单的通过Embedding层将单词映射到稠密空间,然后将句子中所有的单词在Embedding空间中进行平均,进而完成分类操作。 FastText在文本分类任务上是由于TF-IDF的: F方法用单词的Emb原创 2020-07-27 23:15:08 · 231 阅读 · 0 评论 -
NLP入门打卡_基于机器学习的文本分类
在处理自然语言问题时,需要将文字处理为计算机可以理解的语言,由于文本长度不定,因此需要进行词嵌入(Word Embedding)。词嵌入将不定长的文本转换到定长的空间内,是文本分类的第一步。常见词嵌入方法: one-hot 这里的One-hot与数据挖掘任务中的操作是一致的,即将每一个单词使用一个离散的向量表示。具体将每个字/词编码一个索引,然后根据索引进行赋值。 One-hot表示方法的例子如下: 句子1:我 爱 北 京 天 安 门 句子2:我 喜 欢 上 海 首先对所有句子的字进行索引,即将每个字确定一原创 2020-07-25 19:00:20 · 203 阅读 · 0 评论 -
NLP入门打卡_数据读取与数据分析
读取数据 data=pd.read_csv('train_set.csv',sep='\t') data.head() 数据格式如下: 标签为数字,文字内容为单词转化为数字的映射。 描述分析 # 统计每个样本所包含的单词数量 data['text_len']=data['text'].apply(lambda x:len(x.split())) print(data['text_len'].describe()) # 描述统计 data['text_len'].plot(kind='hist',bins原创 2020-07-22 22:11:59 · 352 阅读 · 0 评论 -
NLP入门打卡_赛题理解&报名
赛题理解 通过匿名数据以及所给出的标签训练模型,以F1-score作为评价标准: fscore=2∗ppv∗tprppv+tprfscore=2*\frac {ppv*tpr} {ppv+tpr}fscore=2∗ppv+tprppv∗tpr 可以使用tf-idf、词向量(FastText、WordVerc、Bert等)方法。 赛题理解:https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.6.6406111aIKCSLV原创 2020-07-20 21:19:18 · 219 阅读 · 0 评论