主页

基于 DGCNN 和概率图的轻量级信息抽取模型

转载自《基于DGCNN和概率图的轻量级信息抽取模型》,作者:苏剑林,部分内容有删改。 背景:前几个月,百度举办了“2019 语言与智能技术竞赛”,其中有三个赛道,而我对其中的“信息抽取”赛道颇感兴趣,于是报名参加。经过两个多月的煎熬,比赛终于结束,并且最终结果已经公布。笔者从最初的对信息抽取的一无所知,经过这次比赛的学习和研究,最终探索出在监督学习下做信息抽取的一些经验,遂在此与大家分享。 笔者在最终的测试集上排名第七,指标 F1 为 0.8807(Precision 是 0.8939,Recall 是 0.8679),跟第一名相差 0.01 左右。从比赛角度这个成绩不算突出,但自认为模型有若干创新之处,比如自行设计的抽取结构、CNN+Attention(所以足够快速)、没有...

阅读更多

基于CNN的阅读理解式问答模型:DGCNN

DGCNN 是苏剑林提出的一个基于 CNN 和简单的 Attention 的模型,由于没有用到 RNN 结构,因此速度相当快,而且是专门为 WebQA 式的任务定制的,因此也相当轻量级。 DGCNN (Dilate Gated Convolutional Neural Network) 即“膨胀门卷积神经网络”,它融合了两个比较新的卷积用法:膨胀卷积、门卷积,并增加了一些人工特征和 trick,最终使得模型在轻、快的基础上达到最佳的效果。 背景 DGCNN 模型是作者苏剑林参加 CIPS-SOGOU 问答比赛的产物,比赛数据基本上是跟百度之前开放的 WebQA 语料集一样的,即“一个问题+多段材料”的格式,希望从多段材料中共同决策出问题的精准答案(一般是一个实体片段)。 问题...

阅读更多

Windows 10 系统上的 Python 开发环境配置

前言 在 Linux 环境上进行 Python 开发是很多用户的选择,但在很多情况下我们还是离不开 Windows 系统。因此过去只能通过安装双系统或者虚拟机的方式来完成,但无论哪一种方式都不是很方便。 幸运的是从 Win10 开始,系统已经自带了一个 Linux 子系统 (WSL),并且可以与 Windows 环境无缝连接,这大大简化了在 Windows 上搭建 Linux 开发环境的难度。 准备工作 首先说明一下,因为 Windows 子系统 (WSL) 不支持 GUI 桌面或应用程序(如 PyGame、Gnome、KDE 等),因此本文仅适用于不需要图形化界面的 Python 开发。如果你需要开发包含图形化界面的 Python 程序,请直接在 Linux 系统上进行,或者...

阅读更多

边缘化的六四论述:八九春夏,其实发生的是“两场运动”

转载自端傳媒《边缘化的六四论述:八九春夏,其实发生的是“两场运动”》,作者:吉汉 对于六四运动的深入理解,需要我们同时跳出这两种叙事:既告别“知识分子中心论”、重视工人和市民的参与,同时承认“民主”的确是工人和市民参与运动的核心诉求。最关键的是,工人与市民所理解的“民主”,和学生、知识分子所拥抱的民主观念有很大不同。 1989年5月18日,工人在北京街道以电单车游行声援天安门广场绝食的学生。摄:Catherine Henriette/AFP/Getty Images 关于六四运动的历史叙事,比较常见的是两种版本。其中最为主流的版本,当然是把运动放在“民主vs威权”的框架下来理解。这一叙事中的“民主”,往往指的是自由主义意义上的民主。80年代,中共逐渐告别“阶级斗争”...

阅读更多

Vue.js 快速入门

该文为慕课网《3小时速成 Vue2.x 核心技术》的学习笔记,讲师 wayearn 前言 Vue.js 是一个用于创建用户界面的开源 JavaScript 框架,也是一个创建单页面应用的Web应用框架。Vue 所关注的核心是 MVC 模式中的视图层,同时,它也能方便地获取数据更新,并通过组件内部特定的方法实现视图与模型的交互。 俗话说“工欲善其事,必先利其器”,我们首先配置一下 Vue 的开发环境: 开发环境 (IDE):WebStorm 或 VS Code Node 开发环境:Node.js 和 包管理工具npm 推荐通过 nvm 来安装和管理 Node 环境。安装好 NVM 后,通过 nvm ls 和 nvm ls-remot...

阅读更多

Keras 深度学习笔记(四)机器学习基础:模型评估与正则化

机器学习的四个分支 在《Keras深度学习笔记(三):神经网络入门》的例子中,我们已经介绍了三种类型的机器学习问题:二分类问题、多分类问题和标量回归问题。这三者都是监督学习 (supervised learning) 的例子,其目标是学习训练输入与训练目标之间的关系。 机器学习算法大致可分为四大类,将在接下来的四小节中依次介绍。 监督学习 监督学习是最常见的机器学习类型。给定一组样本,它可以学会将输入数据映射到已知目标。 监督学习主要包括分类和回归,但还有许多变体,比如: 序列生成 (sequence generation)。给定一张图像,预测描述图像的文字。 语法树预测 (syntax tree prediction)。给定一个句子,预测其分解生成的语法树。 ...

阅读更多

从变分编码、信息瓶颈到正态分布:论遗忘的重要性

本文转载自《从变分编码、信息瓶颈到正态分布:论遗忘的重要性》,作者:苏剑林 这是一篇“散文”,我们来谈一下有着千丝万缕联系的三个东西:变分自编码器、信息瓶颈、正态分布。 众所周知,变分自编码器是一个很经典的生成模型,但实际上它有着超越生成模型的含义;而对于信息瓶颈,大家也许相对陌生一些,然而事实上信息瓶颈在去年也热闹了一阵子;至于正态分布,那就不用说了,它几乎跟所有机器学习领域都有或多或少的联系。 那么,当它们三个碰撞在一块时,又有什么样的故事可说呢?它们跟“遗忘”又有什么关系呢? 变分自编码器 理论形式回顾 简单来说,VAE 的优化目标是: \[\begin{equation}KL(\tilde{p}(x)p(z\mid x)\Vert q(z)q(x\mid z))...

阅读更多

Keras 深度学习笔记(三)神经网络入门:层、网络、目标函数和优化器

本文将进一步介绍神经网络的核心组件,即层、网络、目标函数和优化器。并且通过三个介绍性示例深入讲解如何使用神经网络解决实际问题,这三个示例分别是: 将电影评论划分为正面或负面(二分类问题) 将新闻按主题分类(多分类问题) 根据房地产数据估算房屋价格(回归问题) 神经网络剖析 训练神经网络主要围绕以下四个方面: 层,多个层组合成网络(或模型)。 输入数据和相应的目标。 损失函数,即用于学习的反馈信号。 优化器,决定学习过程如何进行。 你可以将这四者的关系可视化,如下图所示:多个层链接在一起组成了网络,将输入数据映射为预测值。然后损失函数将这些预测值与目标进行比较,得到损失值,用于衡量网络预测值与预期结果的匹配程度。优化器使用这个损失值来更新网络...

阅读更多