认知智能到感知智能中对知识的思考

知道创宇 IA实验室

尽管人工智能依靠深度学习和机器学习技术的进步取得了巨大的进展,例如,AlphaGo通过自我强化学习击败了人类顶尖的围棋选手,但人工智能在很多方面,如语言理解、视觉场景理解、决策分析等,仍然举步维艰。一个关键的问题就是,机器必须要掌握大量的知识,特别是常识知识才能实现真正类人的智能。这也说明当前随着大数据红利的消失殆尽,以深度学习为代表的感知智能水平日益接近其“天花板”,而以知识为中心的认知智能将是下一代人工智能技术的关键方向。自从谷歌收购 Freebase 在 2012 年推出知识图谱(Knowledge Graph)后,知识图谱在知识工程、专家系统、逻辑推理的人工智能技术上受到了推崇,行业巨头和创业公司都在建立与自己行业相关的行业知识图谱。

本文将结合认知心理学来谈谈知识与认知智能的一些思考,试着理清

  • 知识与数据、信息、智慧的关系;
  • 认知智能为什么依赖知识?

继续阅读

加速机器学习:从主动学习到BERT和流体标注

知道创宇IA-Lab  岳永鹏

机器学习模型代码优化是为了获得更高效(时间更少、存储更少、计算规模更大)执行的机器指令和具有更强泛化能力的模型,获得更高效执行的机器指令可以采用多核和高频的CPU计算,以及采用并行计算和向量化计算。而获得具有更强泛化能力的模型不仅仅与选择的模型有关,还与标注数据的数量和质量有关。而数据标注需要大量标注人员从事重复而枯燥的工作,这也必然会增加成本。

本文将介绍主动学习(Active Learning)以及主动学习结合Google今年发布的流体标注(Fluid Annotation)和BERT(Bidirectional Encoder Representation from Transformers)对加速机器学习有什么启示。

继续阅读

polyglot:Pipeline 多语言NLP工具

知道创宇IA-Lab 岳永鹏

目前,在NLP任务处理中,Python支持英文处理的开源包有NLTK、Scapy、StanfordCoreNLP、GATE、OPenNLP,支持中文处理的开源工具包有Jieba、ICTCLAS、THU LAC、HIT LTP,但是这些工具大部分仅对特定类型的语言提供支持。本文将介绍功能强大的支持Pipeline方式的多语言处理Python工具包:polyglot。该项目最早是由AboSamoor在2015年3月16日在GitHub上开源的项目,已经在Github收集star 1021个。

特征

  • 语言检测 Language Detection (支持196种语言)
  • 分句、分词 Tokenization (支持165种语言)
  • 实体识别 Named Entity Recognition (支持40种语言)
  • 词性标注 Part of Speech Tagging(支持16种语言)
  • 情感分析 Sentiment(支持136种语言)
  • 词嵌入 Word Embeddings(支持137种语言)
  • 翻译 Transliteration(支持69种语言)
  • 管道 Pipelines

继续阅读

谷歌云平台上基于TensorFlow的高级机器学习专项课程

Coursera近期推了一门新专项课程:谷歌云平台上基于TensorFlow的高级机器学习专项课程(Advanced Machine Learning with TensorFlow on Google Cloud Platform Specialization),看起来很不错。这个系列包含5门子课程,涵盖端到端机器学习、生产环境机器学习系统、图像理解、面向时间序列和自然语言处理的序列模型、推荐系统等内容,感兴趣的同学可以关注:Learn Advanced Machine Learning with Google Cloud. Build production-ready machine learning models with TensorFlow on Google Cloud Platform.

课程链接:http://coursegraph.com/coursera-specializations-advanced-machine-learning-tensorflow-gcp
继续阅读

AI Challenger 2018 文本挖掘类竞赛相关解决方案及代码汇总

AI Challenger 2018 已近尾声,各赛道top选手已经结束了代码核验,正在准备12月18、19日 AI Challenger 决赛答辩材料的路上。在本年度 AI Challenger 即将尘埃落定之时,这里整理一批目前网上可见的文本挖掘相关赛道的解决方案和代码,欢迎补充,同时感谢github,感谢各位开源的同学。

细粒度用户评论情感分析

在线评论的细粒度情感分析对于深刻理解商家和用户、挖掘用户情感等方面有至关重要的价值,并且在互联网行业有极其广泛的应用,主要用于个性化推荐、智能搜索、产品反馈、业务安全等。本次比赛我们提供了一个高质量的海量数据集,共包含6大类20个细粒度要素的情感倾向。参赛人员需根据标注的细粒度要素的情感倾向建立算法,对用户评论进行情感挖掘,组委将通过计算参赛者提交预测值和场景真实值之间的误差确定预测正确率,评估所提交的预测算法。

貌似是最火爆的一个赛道,Testa 提交队伍有468支,详细介绍请参考该赛道主页:https://challenger.ai/competition/fsauor2018
继续阅读

详解TensorFlow™ GPU 安装

知道创宇IA-Lab  岳永鹏

TensorFlow™ 是一个开放源代码软件库,用于进行高性能数值计算。借助其灵活的架构,用户可以轻松地将计算工作部署到多种平台(CPU、GPU、TPU)和设备(桌面设备、服务器集群、移动设备、边缘设备等)。TensorFlow™ 最初是由 Google Brain 团队(隶属于 Google 的 AI 部门)中的研究人员和工程师开发的,可为机器学习和深度学习提供强有力支持,并且其灵活的数值计算核心广泛应用于许多其他科学领域。目前TensorFlow™ 有适用于CPU(TensorFlow CPU)和GPU(TensorFlow GPU)的两种安装选择。 有区别于通过pip安装TensorFlow CPU版本,安装TensorFlow GPU还需要更多的底层依赖。

$ pip install tensorflow==1.12

$ pip install tensorflow-gpu==1.12

TensorFlow GPU主要是通过NVIDIA提供的CUDA和cuDNN存取GPU,从而实现比CPU快数十倍的深度学习训练加速能力。本文主要介绍TensorFlow GPU版本的安装和使用。

继续阅读

Andrew Ng 老师新推的通俗人工智能课程以及其他相关资料

Andrew Ng 老师是我的偶像,他在普及机器学习和深度学习的道路上纵情向前,这不他又在 Coursera 上新推了一门通俗人工智能课程:AI For Everyone(全民AI) :

http://coursegraph.com/coursera-ai-for-everyone

这门课程面向大众进行AI科普,将于2019年年初开课,目前已经可以注册课程。AI不仅适用于工程师,这门非技术性人工智能课程将帮助学习者了解机器学习和深度学习等相关技术,以及将AI应用于自己组织中的问题和机会。 通过这门课程,学习者将会了解当前人工智能可以或者不能做的事情。最后,学习者将了解AI如何影响社会以及我们将如何应对这种技术变革。

AI is not only for engineers. This non-technical course will help you understand technologies like machine learning and deep learning and spot opportunities to apply AI to problems in your own organization. You will see examples of what today’s AI can – and cannot – do. Finally, you will understand how AI is impacting society and how to navigate through this technological change.

If you are a non-technical business leader, “AI for Everyone” will help you understand how to build a sustainable AI strategy. If you are a machine learning engineer or data scientist, this is the course to ask your manager, VP or CEO to take if you want them to understand what you can (and cannot!) do.

继续阅读

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

最近读了《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汇总

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 模型详细解读

9) 干货 | BERT fine-tune 终极实践教程: 奇点智能BERT实战教程,在AI Challenger 2018阅读理解任务中训练一个79+的模型。

10) 【BERT详解】《Dissecting BERT》by Miguel Romero Calvo
Dissecting BERT Part 1: The Encoder
Understanding BERT Part 2: BERT Specifics
Dissecting BERT Appendix: The Decoder

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

10) tbert: https://github.com/innodatalabs/tbert
PyTorch port of BERT ML model

11) BERT-Classification-Tutorial: https://github.com/Socialbird-AILab/BERT-Classification-Tutorial

12) BERT-BiLSMT-CRF-NER: https://github.com/macanv/BERT-BiLSMT-CRF-NER
Tensorflow solution of NER task Using BiLSTM-CRF model with Google BERT Fine-tuning

13) bert-Chinese-classification-task
bert中文分类实践

14) bert-chinese-ner: https://github.com/ProHiryu/bert-chinese-ner
使用预训练语言模型BERT做中文NER

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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