一 摘要:

  • name entity disambiguation:将对应多个人的记录进行分组,使得每个组的记录对应一个人。
  • 现有的方法多为批处理方式,需要将所有的记录输入给算法。
  • 现实环境需要1:以oneline的方式解决这类问题

            2:能够处理新出现的ambiguous entities。

  • 本文提出: Bayesian non-exhaustive classification framework。
  1.   用a Dirichlet process prior with a Normal × Normal × Inverse Wishart data model解决新的ambiguous entities。
  2.   用one sweep Gibbs sampler来解决oneline问题。

二 简介:

  name entity disambiguation在 information retrieval,digital forensic(数字取证)和social network analysis方面有广泛应用 ????

  • information retrieval:
  • digital forensic(数字取证):
  • social network analysis:

  现有方法分类:

  • supervised和unsupervised
  • 机器学习方法(svm,markov random field,graph clustering)
  • 数据来源(内部的和外部的(wikipedia))

  上述方法的限制:

  • operate in a batch mode:算法获取所有的records,然后从这些records中提取features训练learning model。因此,它们不能处理新出现的ambigu entities。

当有新的ambigu entities出现时,重新运行一遍算法是不现实的。

  本文方法:

  采用机器学习的non-exhaustive learning(考虑到这样一种场景:training data缺失某一些classes,使得不但能够对现有的entities进行消歧,也可以对新出现的ambiguous entities进行消歧)。

  •   given a non-exhaustive training data,
  1. 用Dirichlet process prior来建模both known and emerging class(已知的和将要出现的类),
  2. 用Normal distribution建模每一个class distribution。
  3. 用Normal×Inverse Wishart(NIW)prior来为每一个class distribution建模mean vectors和covariance matrices
  •  online:对于每一个新的record,计算类条件概率(同时考虑这个record由新class产生的可能性)。

    当有新class出现时,就更新class set,然后用新的classification model来对记录进行分类。

  本文的方法能够同时进行online classification和noval class discovery。

三 related work:

四 问题形式化:

Xn是name reference a的records流。xi ∈ Xn可表示成d维的vector ,a实际对应着k个人, k一般未知,而且随着时间,k会增长。

name entities disambiguation:就是要将Xn分为k个不相交的set,每个set的records对应着同一个人。

online name entities disambiguation:为每一个新的records分到一个合适的set中。

  面临的挑战

挑战1:出现新实体的records。所以一个学习模型需要在non-exhaustive的设定下工作(就是training data中有些类的records完全没有)。现有的解决方法:聚类,缺点:不够健壮,聚类参数的小改变可能会引起聚类结果的大改变。

挑战2:online name entities disambiguation是一个非常不均衡的classification task。 早期出现的entity是domain entities,使得验证新的entities更加困难。

挑战3:在online learning scenario,新的records作为测试集的一部分,learning model需要判断此records是否属于新的class,如果属于新的class,model需要调整自己,使得模型能够验证新class的records。也就是更新classes,并能够将新的records分类到已有的class和新的class。

挑战4:在online setting下,records要按照时间进行排列,一个新的records不能用来训练模型预测旧的records。

五 entity disambiguation on bibliographic data:

为每一个name referende构造一个model,记录流Xn按照时间进行排序。利用author-list,kwywords from paper,paper venue这些信息,为每一篇paper 提取出features。

  feature matrix construction and preprocess:

data matrix Xn ∈ IRn×d,每一个paper都有一个class label li,表示属于第i-th个不同的人。

特征向量构造:

  • author information:将all-paper的作者聚集到一起,然后为每一个author定义一个binary feature representation。
  • keyword based features:首先过滤掉一些预先定义的stop words,然后用剩下的word构建feature。同样定义一个binary feature
  • publications venues:以同样的方式构建binary feature。

(预处理:维度规约)

Dimensionality reduction:因为Xn非常稀疏,用非负矩阵分解的方式将 Xn ∈ IRn×d映射到En ∈ IRn×h  h是隐层的维度。

首先在最初可用的记录上进行非负矩阵分解,产生base向量,然后在online环境下,对于新观测到的records用base vector的线性结合表示,base vector的系数作为新纪录的隐层特征值

那么如何学习系数呢?

解决一个带限制的二次编程问题,通过在系数非负的限制下最小化最小二乘损失函数。

用Incremental NNMF的目的:为新的记录发现隐层特征表示,来更好地拟合本文提出的Normal×Normal×Inverse Wishart(NNIW) data model。?????

形式化online name disambiguation:

给定一个time-stamped partition t0,考虑两种类型的records,一种是 training set中最初可用的records(class标签已知),另一种是oneline环境下新观测到的records(class信息不明确)。

最初可用的records streams: En = {e1, ..., ei, ..., en}, e1.t ≤ ... ≤ ei.t ≤ ... ≤ en.t <=t0

Yn = (y1, ..., yi, ..., yn) 是class label vector,其中 yi ∈ {l1, .., lk}  k是training set中的不同的类别数。

为区别初始的records和online observed records,用 ˜ei ∈ IR1×h 表示第i个observed的记录。用 E˜r = {e˜1, ..., e˜i, ..., e˜r}表示时间t0之后的online observed records。即t0 ≤ e˜1.t ≤ ... ≤ e˜r.t.

随着新records的出现,当出现新的ambiguous authors时,k会变大,我们用Y˜r = (˜y1, ..., y˜i, ..., y˜r) 表示新记录的class information。其中 y˜i ∈ {l1, ..., lk˜r+k } 其中 ˜kr 是新出现的class数。

六 Method:

Dirichlet Process Prior Model

Bayesian Non-Exhaustive Online Classification

Gibbs Sampler for Non-Exhaustive Learning

Data Model

七 实验:

Bayesian Non-Exhaustive Classification A case study:online name disambiguation using temporal record streams的更多相关文章

  1. Data Visualization – Banking Case Study Example (Part 1-6)

    python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...

  2. Deep Learning-Based Video Coding: A Review and A Case Study

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 1.Abstract: 本文主要介绍的是2015年以来关于深度图像/视频编码的代表性工作,主要可以分为两类:深度编码方案以及基于传统编码方 ...

  3. Case Study: Random Number Generation(翻译教材)

    很荣幸,经过三天的努力.终于把自己翻译的教材做完了,现在把它贴出来,希望能指出其中的不足.   Case Study: Random Number Generation Fig. 6.7  C++ 标 ...

  4. 课程三(Structuring Machine Learning Projects),第一周(ML strategy(1)) —— 1.Machine learning Flight simulator:Bird recognition in the city of Peacetopia (case study)

    []To help you practice strategies for machine learning, the following exercise will present an in-de ...

  5. Attacking JavaScript Engines: A case study of JavaScriptCore and CVE-2016-4622(转)

    转:http://phrack.org/papers/attacking_javascript_engines.html Title : Attacking JavaScript Engines: A ...

  6. 【ASE模型组】Hint::neural 模型与case study

    模型 基于搜索的提示系统 我们的系统用Pycee针对语法错误给出提示.然而,对于语法正确.结果错误的代码,我们需要另外的解决方式.因此,我们维护一些 (错误代码, 相应提示) 的数据,该数据可以由我们 ...

  7. 关于运维之故障复盘篇-Case Study

    关于故障的事后复盘,英文名 Case Study是非常有必要做的,当然是根据故障的级别,不可能做到每个故障都Case Study,除非人员和时间充足: 文档能力也是能力的一种,一般工程师的文档能力比较 ...

  8. 李宏毅机器学习课程---2、Regression - Case Study

    李宏毅机器学习课程---2.Regression - Case Study 一.总结 一句话总结: 分类讨论可能是比较好的找最佳函数的方法:如果 有这样的因素存在的话 模型不够好,可能是因素没有找全 ...

  9. 你从未见过的Case Study写作指南

    Case Study,意为案例分析,Case Study与其它的留学论文作业最大的的差别就在于Case Study在论文开始就需要明确给出论,然后再阐述这个结论的论证依据和理由.留学生们需要知道的是C ...

随机推荐

  1. 1060 爱丁顿数 (25 分)C语言

    英国天文学家爱丁顿很喜欢骑车.据说他为了炫耀自己的骑车功力,还定义了一个"爱丁顿数" E ,即满足有 E 天骑车超过 E 英里的最大整数 E.据说爱丁顿自己的 E 等于87. 现给 ...

  2. SpringBoot集成Mybatis动态多数据源后,MybatisPlus的IPage失效的问题解决方案

    背景 之前做数据抽取的时候,搭了一个mybatis动态数据源切换的架子.方便他们写抽取的代码.今天同事问我,架子里面的mybatisplus的IPage失效了是什么问题.想了一下,应该是写动态数据源的 ...

  3. Linux学习笔记(一):什么是挂载?mount的用处在哪?

    关于挂载的作用一直不是很清楚,今天在阅读教材时看见了mount这个命令,发现它的用处很隐晦但非常强大.奈何教材说的不明朗,因此在网上整合了一些优秀的解释,看完之后豁然开朗. 1.提一句Windows下 ...

  4. 面试中经常问到的Redis七种数据类型,你都真正了解吗?

    前言 Redis不是一个简单的键值对存储,它实际上是一个支持各种类型数据结构的存储.在传统的键值存储中,是将字符串键关联到字符串值,但是在Redis中,这些值不仅限于简单的字符串,还可以支持更复杂的数 ...

  5. 24.python中xlwt模块用法详解

    1.创建并保存一个excel 创建一个工作簿,设置编码格式为“utf-8”,默认格式是ASCII,为了方便写入中文,一般都要设置成UTF-8 import xlwt wb = xlwt.Workboo ...

  6. 实现antd下拉框动态添加内容(与数据库交互)

    antd下拉控件的动态内容添加(与数据库交互) antd这个框架给开发带来了极大的方便,但同时,我认为还有一些不方便的地方:常用的逻辑在文档中没有体现.需要前端开发经验的人才能快速上手,而我刚刚接触这 ...

  7. 基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇

    基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇 前提 最近对网络编程方面比较有兴趣,在微服务实践上也用到了相对主流的RPC框架如Spring Cloud Gateway底层也切换 ...

  8. vue报错 [Intervention] Ignored attempt to cancel a touchmove event with cancelable

    在vue开发中使用vue-awesome-swiper制作轮播图,手动拖动时会报错,解决方案: 需要滑动的标签 { touch-action: none; } -------------------- ...

  9. Git创建远程分支并提交代码到远程分支

    1.可以在VS中新建分支 2.可以通过git branch -r 命令查看远端库的分支情况 这些红色都是远程的分支 3.从已有的分支创建新的分支(如从master分支),创建一个dev分支 (不用vs ...

  10. document.visibilityState 监听浏览器

    document.hidden:表示页面是否隐藏的布尔值.页面隐藏包括 页面在后台标签页中 或者 浏览器最小化 (注意,页面被其他软件遮盖并不算隐藏,比如打开的 sublime 遮住了浏览器). do ...