Bayesian Non-Exhaustive Classification A case study:online name disambiguation using temporal record streams
一 摘要:
- name entity disambiguation:将对应多个人的记录进行分组,使得每个组的记录对应一个人。
- 现有的方法多为批处理方式,需要将所有的记录输入给算法。
- 现实环境需要1:以oneline的方式解决这类问题
2:能够处理新出现的ambiguous entities。
- 本文提出: Bayesian non-exhaustive classification framework。
- 用a Dirichlet process prior with a Normal × Normal × Inverse Wishart data model解决新的ambiguous entities。
- 用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,
- 用Dirichlet process prior来建模both known and emerging class(已知的和将要出现的类),
- 用Normal distribution建模每一个class distribution。
- 用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
七 实验:
最新文章
- 人工神经网络ANNs
- 【jQuery 分页】jQuery分页功能的实现
- ASP.NET MVC view引入命名空间
- 酷派大神F2系列使用QPST进行nv备份和恢复,解决无信号问题(附备份文件)
- Python正则表达式模块(re模块)
- ioshittest的用法
- puppet证书重申
- c++ 计算程序运行时间
- Regular Expression Syntax
- centos6.5下 hdp-2.4.2安装
- BIOS相关
- IsNullOrEmpty与IsNullOrWhiteSpace性能比较
- Beans 自动装配
- 【RL-TCPnet网络教程】第33章	 SMTP简单邮件传输协议基础知识
- Java面试题和解答(四)
- Java使用独立数据库连接池(DBCP为例)
- 改造phpcms-v9自带的字符串截取函数
- Mac - Can&#39;t connect to local MySQL server through socket &#39;/tmp/mysql.sock&#39; (2)
- include,forward和param指令
- HDU 4169 Wealthy Family(树形DP)
热门文章
- 【一起学源码-微服务】Ribbon 源码三:Ribbon与Eureka整合原理分析
- 性能数据的准备-Jmeter
- .NET Core 3.0 System.Text.Json 和 Newtonsoft.Json 行为不一致问题及解决办法
- 从零开始Go语言-GoLand(编译器)-Windows(平台)
- Hadoop以及组件介绍
- Oracle基础之保留字和关键字
- Vue CLI及其vue.config.js(一)
- 区间dp - 括号匹配并输出方案
- vue实现checked 全选功能
- Win10永久版低价购买及激活工具使用说明