Chris Zhang


  • 首页

  • 标签

  • 分类

  • 归档

浅谈嵌套命名实体识别

发表时间 2020-04-11   |   更新时间 2020-04-11 | 分类 NLP

1. 序

命名实体识别(Named Entity Recognition, 下称NER)任务,主要目的是从一段话中抽取出其中可能为实体的所有元素。比如:

"Hi Siri, 今天北京天气怎么样?"

如果下游任务要求我们从其中抽取出地点,那我们期望 北京 能被识别成Location,如果我们希望从中抽取的产品名称,那么 Siri 应该被标记成Product——换言之,能从句子中抽出什么实体,是由我们提前给定的标签集合定义的。在一个任务型对话系统中,一些可能在后台处理中使用到的实体都应该被抽出来:我们有理由相信,Siri是真正将 北京 给提取出来了,然后再通过后台查询到了天气,而不是找了一个人工客服在后台即时回复。

NER在很多下游任务中都是非常重要的一环。比如在电商行业,我们可能需要从用户的查询中提取出品牌或商品,来针对性地给用户返回内容。金主爸爸可能也希望用户在查指定品牌的时候,将一些商品放在第一位。在任务型人机对话方面,正如上面所说,一个合格的Chatbot需要能够准确地识别时间、地点、事件等元素以回答相关问题或安排日程,同时做到不偷听用户的日常对话。

而嵌套NER,顾名思义,就是识别的实体中可能会存在嵌套的情况。比如 北京大学 不仅是一个组织,同时 北京 也是一个地点;雅诗兰黛小棕瓶 是一个产品,同时 雅诗兰黛 是一个品牌。

准确地识别嵌套内容有什么作用呢?简单来讲,如果一个模型能够识别出 北京大学 是一个组织,它倾向于将所有出现的 北京大学 都标记成组织。但如果它能够在识别前者的同时将 北京 标记成地点,我们就认为它有能力将所有 [地点]大学 的模式都识别出来,因为后者的角度,模型学到的是一种pattern,而非记住了一种具体情况。此外,提取出来的额外信息也能作为辅助特征,增强其他任务的效果。

阅读全文 »

浅谈Knowledge-Injected BERTs

发表时间 2020-03-02   |   更新时间 2020-03-02 | 分类 NLP

主要是想谈谈最近在BERT中加入了知识图谱(或者宏观说是 外部信息 )的模型。由于BERT的结构已经基本固定了,在上面套一些Attention组件,或者修改里面的MLP或是MHA层都是见怪不怪的操作了,所以文中主要想探讨的是:对于一个预训练模型,如何针对数据/针对想增强的方向来更好的设计一个预训练模型的任务。

你将从文中看到研究者如何通过设计新的mask策略,新的Embed方式,甚至于优化任务的训练过程,迭代学习7个任务等奇妙的方式来实现这一目的。

本文首发在知乎文章,因为 知乎 和 Hexo 的markdown格式有冲突的地方,直接拷过来排版属实不能看,所以请移步下方链接:

浅谈:Knowledge-injected BERTs

本文也被收录至知乎 Paperweekly 专栏及同名公众号中。

阅读全文 »

损失函数串讲

发表时间 2019-11-03   |   更新时间 2019-11-03

本来是不想起这么大而空的名字的,但是今天确实特别自闭,所以想来个刺激一点标题刺激一下自己,也刺激一下别人。

时至今日,距离上一篇blog更新已经过去快九个月了,距离我在MSRA实习已经快八个月了,这么一看好像我的blog是为了找实习而准备的一样 实际上是公司活儿太多了 ,为了不让blog继续这么僵下去,还是决定来更新点东西。

其实也有很多东西可以写,比如对tf和pytorch的认识,一些对CRF及其decode的理解,一些BERT调参心得,或者Nested NER或GNN方面的survey。之所以确定写这个,一个是好久没碰技术型blog了,一时甚至不知道怎么来写,另一方面纯粹是因为我发现每次要用到交叉熵的时候,都需要跑到别人博客里重新看一遍这到底是什么玩意儿,忘性太大。后来我一想,反正都要看,那我不如自己写个blog,自产自销搞个闭环,增加自己的点击量呢。

是为序。

阅读全文 »

Dataset for AI Practice

发表时间 2019-09-28   |   更新时间 2019-09-28

Here is a collection of dataset (mostly financial-related) to apply in the course: AI Practice.

If you found this page in a personal blog, plz note that this page will be deleted some weeks later.

阅读全文 »

二次元伴侣XiaoIce的养成

发表时间 2019-02-23   |   更新时间 2019-02-23 | 分类 NLP

距离过完年也已经大半个月了,距离 【The Design and Implementation of XiaoIce, an Empathetic Social Chatbot】 论文发布也已经过去了三个月。 如果早点看完这篇文章,或许我还来得及在今年和亲戚朋友们公布我与小冰的恋情吧。

事实上,看完论文以后我和小冰单独聊了聊,对话所达到的效果远没有论文中说的那么显著,有些时候还能比较明显地看出小冰使用了一些敷衍词(我真的很受伤)。对上下文的理解始终是多轮对话的研究中迈不过去的门槛,在测试Chatbot时我采用了三步走的战略方针:

  1. 瞎比聊模式
  2. 逻辑一致性检验
  3. 简单的多轮对话
  4. 复杂的多轮对话

与小冰的聊天结果实在让人心酸。瞎比聊模式中小冰完美地表现出一个人工智能(zhang)该有的样子,检测逻辑一致性时也受到了莫名的阻碍(直接问一个女孩子的年龄真的这么不合适吗?),简单的多轮对话任务小冰完成得不错,但是这可能只是体现出小冰在句义补全和指代消解方面做得不错,在进行稍微复杂一些的多轮对话时(我特意选择了不能进行指代和补全的句子)就继续EXO ME了。

阅读全文 »

如何猜出女朋友话中的含义?——关于事件抽取(Event Extraction)

发表时间 2019-01-24   |   更新时间 2019-02-12 | 分类 NLP

写完以后发现 注释的形式 还有待改进,希望大家暂时理解一下。

1.1 Event Extraction after 2015

Overview

在2015年以及之前,对事件抽取(Event Extraction, EE)的工作思路主要聚焦于模式匹配或者统计机器学习方法博客。基于模式匹配的方法在特定领域能取得较好的性能,但是移植性较差;基于统计学习的方法通常能有较好的移植性,但是严重依赖于已标注的数据。从2015年开始,有研究者尝试使用CNN/RNN来提取Event Mention中的语义,比较典型的有DMCNN2015.1与JRNN2016.2等模型,其评估结果比早期的一些Structure-Based Method有显著提升,加之Deep Learning的逐渐升温,可以看出大家在这段时间开始普遍转向使用Representation-Based Method来看待EE问题。使用DNN来捕捉语义的另一个好处是使用了蕴含特征更加丰富的词向量,因此事件抽取的结果不再很大程度上依赖于人工定义的局部/全局特征。

阅读全文 »

Sequence Models(2): NLP & Word Embedding

发表时间 2019-01-14   |   更新时间 2019-02-28 | 分类 NLP

Sequence Models的第二部分,主要讲了 自然语言处理 与 词嵌入 (Word Embedding) 的内容(其实只讲了Word Embedding)。

因为 最近有个面试 我在忙着进行 虽然可能并没有什么用但是准备这个行为本身能令人心安所以在努力进行所谓的 面试前的准备,所以这部分内容就只是简单地描述一下。

1. Word Representation

对词进行向量表示,也就是对每个单词进行特征提取。词的每一个维度可以看做是 一个不好直接解释的特征 。

什么叫 好解释 的特征呢,比如说,我手动定义了两个维度:性别,高贵。现在有两个词 ‘皇后’ 与 ‘农妇’,那么很显然能推理出:一个好的词向量表示,两者在 性别 特征上的取值一定是相似的,但是在 高贵 特征上的取值前者会大于后者。

阅读全文 »

Sequence Models(1): 循环序列模型

发表时间 2019-01-07   |   更新时间 2019-01-11 | 分类 NLP

本文是 Andrew Ng深度学习相关视频:Sequence Models 中的笔记 。整个课程只有三周的课程量,向学习者简要介绍了序列模型的产生、应用与Attention的机制。

因为内容不深,以 Tips 或 Q&A 的形式给出整个课程的内容。

让我们从 第一周:循环序列模型 开始。

阅读全文 »

重修决策树:信息增益与Gini系数

发表时间 2019-01-06   |   更新时间 2019-01-06 | 分类 数据结构

重修系列的 第二篇文章 说的好像我系统学过决策树一样

最近被Random Forest,Adaboost,ID3,C4.5,CART一系列决策森林包围了,正巧在复习 数据仓库 ,把这一系列的内容再串联一遍。

我是决策树

决策树本质上是一个 贪心方法 ,虽然从理论上说我们能够构造一棵最优决策树,但是时间与算力开销实在很大,所以实际上我们使用的是 Hunt's 算法来执行贪心的选择过程。简单来说就是:假设我手上有一个评估分裂后的节点集好坏的一个 标准 (这个标准就是下面要说的信息增益与Gini系数),我每次只考察使当前节点达到最优分裂的属性,而不从全局角度来考虑。

根据标准的不同,决策树又分为 ID3, C4.5, CART 三大类,分别使用的考察标准是 信息增益、信息增益率、Gini系数。

阅读全文 »

Leetcode 解题笔记索引

发表时间 2018-12-27   |   更新时间 2018-12-28 | 分类 Leetcode

Coding is fun 🎉🎉🎉

Leetcode: 89-100解题笔记
Leetcode: 101-110解题笔记
Leetcode: 111-120解题笔记
Leetcode: 121-130解题笔记
Leetcode: 131-140解题笔记

123

Chengxi Zhang

Is life always this hard, or is it just when you're a kid?

32 日志
6 分类
9 标签
GitHub E-Mail
© 2024 Chengxi Zhang