月度归档:2018年11月

深度学习实践:从零开始做电影评论文本情感分析

Deep Learning Specialization on Coursera

最近读了《Python深度学习》, 是一本好书,很棒,隆重推荐。

本书由Keras之父、现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的探索实践,涉及计算机视觉、自然语言处理、生成式模型等应用。书中包含30多个代码示例,步骤讲解详细透彻。由于本书立足于人工智能的可达性和大众化,读者无须具备机器学习相关背景知识即可展开阅读。在学习完本书后,读者将具备搭建自己的深度学习环境、建立图像识别模型、生成图像和文字等能力。

各方面都很好,但是总感觉哪里有点欠缺,后来想想,可能是作者做得太好了,把数据预处理都做得好好的,所以你才能“20行搞定情感分析”,这可能也是学习其他深度学习工具过程中要面临的一个问题,很多工具都提供了预处理好的数据,导致学习过程中只需要调用相关接口即可。不过在实际工作中,数据的预处理是非常重要的,从数据获取,到数据清洗,再到基本的数据处理,例如中文需要分词,英文需要Tokenize, Truecase或者Lowercase等,还有去停用词等等,在将数据“喂”给工具之前,有很多事情要做。这个部分,貌似是当前一些教程有所欠缺的地方,所以才有了这个“从零开始做”的想法和系列,准备弥补一下这个缺失,第一个例子就拿《Python深度学习》这本书第一个文本挖掘例子练手:电影评论文本分类-二分类问题,这也可以归结为一个情感分析任务。

首先介绍一下这个原始的电影评论数据集aclIMDB: Large Movie Review Dataset, 这个数据集由斯坦福大学人工智能实验室于2011年推出,包含25000条训练数据和25000条测试数据,另外包含约50000条没有标签的辅助数据。训练集和测试集又分别包含12500条正例(正向评价pos)和12500负例(负向评价neg)。88集团赠送38彩金数据,更详细的介绍可参考该数据集的官网:http://ai.stanford.edu/~amaas/data/sentiment/, paper: Learning Word Vectors for Sentiment Analysis, 和数据集里的readme。

然后下载和处理这份数据:Large Movie Review Dataset v1.0,下载链接;

http://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz

下载之后进行解压:tar -zxvf aclImdb.tar.gz,可以用tree命令看一下aclImdb的目录结构:

tree aclImdb -L 2

继续进入训练集正例的目录看一下: cd aclImdb/train/pos/:

这个里面包含了12500篇英文评论,我们随机打开一个看一下里面的文本内容:

vim 1234_10.txt

I grew up watching this movie ,and I still love it just as much today as when i was a kid. Don't listen to the critic reviews. They are not accurate on this film.Eddie Murphy really shines in his roll.You can sit down with your whole family and everybody will enjoy it.I recommend this movie to everybody to see. It is a comedy with a touch of fantasy.With demons ,dragons,and a little bald kid with God like powers.This movie takes you from L.A. to Tibet , of into the amazing view of the wondrous temples of the mountains in Tibet.Just a beautiful view! So go do your self a favor and snatch this one up! You wont regret it!

继续阅读

BERT相关论文、文章和代码亚美游AMG88汇总

Deep Learning Specialization on Coursera

BERT最近太火,蹭个热点,整理一下相关的亚美游AMG88,包括Paper, 代码和文章解读。

1、Google官方:

1) BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

一切始于10月Google祭出的这篇Paper, 瞬间引爆整个AI圈包括自媒体圈: https://arxiv.org/abs/1810.04805

2) Github: https://github.com/google-research/bert

11月Google推出了代码和预训练模型,再次引起群体亢奋。

3) Google AI Blog: Open Sourcing BERT: State-of-the-Art Pre-training for Natural Language Processing

2、第三方解读:
1) 张俊林博士的解读, 知乎专栏:从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史

我们在AINLP微信公众号上转载了这篇文章和张俊林博士分享的PPT,欢迎关注:

2) 知乎: 如何评价 BERT 模型?

3) 【NLP】Google BERT详解

4) [NLP自然语言处理]谷歌BERT模型深度解析

5) BERT Explained: State of the art language model for NLP

6) BERT介绍

7) 论文解读:BERT模型及fine-tuning

8) NLP突破性成果 BERT 模型详细解读

3、第三方代码:

1) pytorch-pretrained-BERT: https://github.com/huggingface/pytorch-pretrained-BERT
Google官方推荐的PyTorch BERB版本实现,可加载Google预训练的模型:PyTorch version of Google AI's BERT model with script to load Google's pre-trained models

2) BERT-pytorch: https://github.com/codertimo/BERT-pytorch
另一个Pytorch版本实现:Google AI 2018 BERT pytorch implementation

3) BERT-tensorflow: https://github.com/guotong1988/BERT-tensorflow
Tensorflow版本:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

4) bert-chainer: https://github.com/soskek/bert-chainer
Chanier版本: Chainer implementation of "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding"

5) bert-as-service: https://github.com/hanxiao/bert-as-service
将不同长度的句子用BERT预训练模型编码,映射到一个固定长度的向量上:Mapping a variable-length sentence to a fixed-length vector using pretrained BERT model
这个很有意思,在这个基础上稍进一步是否可以做一个句子相似度计算服务?有没有同学一试?

6) bert_language_understanding: https://github.com/brightmart/bert_language_understanding
BERT实战:Pre-training of Deep Bidirectional Transformers for Language Understanding: pre-train TextCNN

7) sentiment_analysis_fine_grain: https://github.com/brightmart/sentiment_analysis_fine_grain
BERT实战,多标签文本分类,在 AI Challenger 2018 细粒度情感分析任务上的尝试:Multi-label Classification with BERT; Fine Grained Sentiment Analysis from AI challenger

8) BERT-NER: https://github.com/kyzhouhzau/BERT-NER
BERT实战,命名实体识别: Use google BERT to do CoNLL-2003 NER !

9) BERT-keras: https://github.com/Separius/BERT-keras
Keras版: Keras implementation of BERT with pre-trained weights

持续更新,BERT更多相关亚美游AMG88欢迎补充,欢迎关注我们的微信公众号:AINLP

注:原创文章,转载请注明出处及保留链接“我爱自然语言处理”:

本文链接地址:BERT相关论文、文章和代码亚美游AMG88汇总 /?p=10870

Coursera专项课程推荐:金融中的机器学习和强化学习

Deep Learning Specialization on Coursera

Coursera近期新推了一个金融和机器学习的专项课程系列:Machine Learning and Reinforcement Learning in Finance Specialization(金融中的机器学习和强化学习),看起来很有意思。

课程链接:http://coursegraph.com/coursera-specializations-machine-learning-reinforcement-finance

这个专项课程的主要目标是为金融相关的机器学习核心范式和算法奠定坚实的基础而提供必要的知识和实战技能,特别关注机器学习在金融投资中不同的实际问题中的应用。

该系列旨在帮助学生解决他们在现实生活中可能遇到的实际的机器学习问题,包括:

(1)将问题映射到可用的机器学习方法的泛化场景,

(2)选择最适合解决问题的特定机器学习方法,以及

(3)成功实施解决方案,并评估其性能。

该专业课程面向三类学生设计:

· 在银行,资产管理公司或对冲基金等金融机构工作的从业人员

· 对将机器学习应用于日内交易感兴趣的个人

· 目前正在攻读金融学,统计学,计算机科学,数学,物理学,工程学或其他相关学科的学位的全日制学生,这些学生希望了解机器学习在金融领域的实际应用。
继续阅读