目录 style="font-size: 14pt..." />

语言知图谱表示学习及关系推理(2016-2017)(一)

笔者:整理2016-2017年ACL、EMNLP、SIGIR、IJCAI、AAAI等国际资深会议被实体关系推理与文化图谱补全的系论文,供自然语言处理研究人员,尤其知识图谱领域的家参考,如发生误理解的远在请求指出,不胜感激!(如得转载,请联系本人:jtianwen2014,并注明出处)

style=”font-size: 18pt;”>目录

style=”font-size: 14pt;”>1
什么是Django?

style=”font-size: 14pt;”>2
Django框架的开销条件搭建

style=”font-size: 14pt;”>3
Django操作MySql数据库简介

style=”font-size: 14pt;”>4
功能强大的Django管理工具应用

ACL 2016

 

Unsupervised Person Slot Filling based on Graph Mining

  • 作者:Dian Yu, Heng Ji 
  • 机构:Computer Science Department, Rensselaer Polytechnic
    Institute 

本文的任务也槽填充(Slot
Filling),即于周边的语料库中抽取给定实体(query)的叫醒目概念之习性(slot
types)的值(slot
fillers)。对于这个任务,本文叙述目前主流的不二法门好分成两类:有监控的归类方法,设计分类器识别给定的实体和价值所属之关联项目,分类器的训往往用如运动学习、利用距离监督的噪声标注等艺术;模式匹配方法,从文本中活动或半自行地抽取和生成词法或句法的模式,以用于关系的抽取,但为关乎所抒发的方差异,这种模式匹配方法无法拥有较好之召回率。

本文认为,以上两类似方式都无法充分好的诺针对新的言语或出现新的涉项目的景,即移植性不愈;而且,两栽方式都只有是注意让实体和候选值之前的坦表示,并从未考虑到其之间的全局结构涉及,以及讲话中其他的涉事实的熏陶。本文重要的算法思想基于以下简单只观测:

  1. 在句子的依存图中,触发词结点(trigger)经常是与实业(query)与价值(filler)结点都死相关的,并且是图备受之重大节点;
  2. 当实体(query)与价值(filler)结点通过一个关系显然的触发词强涉嫌起来,往往意味着在必然的干(slot
    type)。

根据以上两个着眼,本文的提出了平栽基于图的槽填充的法:首先,利用简易的启发式规则,从句子中分辨出候选实体和属于性值;然后,对于给定候选实体和属于性值对,利用PageRank图算法和AP(Affinity
Propagation)聚类算法自动识别触发词
;最后,根据识别的触发词对性类型(slot
type)进行分拣。

产图也使用PageRank算法对候选触发词结点打分: 

语言 1 

产图为用AP算法对候选触发词进行聚类(关系触发词可能不止一个单词),以选定最终触发词。如下图最终选定“divorced”为末段触发词。 

语言 2 

笔者:本文主要的想想和创新点在于,以性触发词为切入点进行关联之掘进,将PageRank算法和AP算法引入其中,将扇填充问题易为图上的挖问题。候选实体和属于性值的识别、属性类型的分类就点儿独片用了启发式的条条框框及外部的词典资源。但立刻丁图挖掘的方,由于应用句法依存和PageRank算法有或当算复杂性上是问题。

 

Knowledge Base Completion via Coupled Path Ranking

  • 作者:Quan Wang†, Jing Liu‡, Yuanfei Luo†, Bin Wang†, Chin-Yew
    Lin‡ 
  • 机构†:Institute of Information Engineering, Chinese Academy of
    Sciences 
  • 机构‡:Microsoft Research 

正文的任务也知识库补全,即通过考察知识库中既有的实,自动推理出丢失的真情。本文叙述这项任务的方式大概分为三种植:

  • Path Ranking
    算法(PRA),通过连日实体的已生途径来预测实体间的私关系;
  • 基于表示学习之范,将实体和事关映射为空间被的通向量,通过空中中为量之运算来拓展推理(如TransE);
  • 概率图模型,如马尔科夫逻辑网络及其衍生物。

是因为PRA方法有较好的解释性,并且不需要格外的逻辑规则,本文主要利用PRA方法对其改善。在动用PRA进行关联推理时,以往的主意还是在推演等,利用PRA为每个关系独立建模,也就算是吧每个关系上一个单独的分类器。

本文的初衷是:只要下PRA对一些关乎国有建模是否会拿走重新好之功效,尤其是当这些涉及相互紧密联系的早晚,比如,“出生”和“生长于”这片单涉及最生或联合所有一些干路径:“国籍->首都”等。很多研表明这种差不多任务上相比单任务上而言,往往具有更好的效用。本文提出CPRA的法,该措施所假设解决少数单问题:(1)哪些关系要组合在一起学习?(2)如何组合在一起学习?

(1)哪些关系要组合在一起学习?本文提出了一样种据悉公共路径的貌似度度量方法,并在此基础及以关联聚成不同之组,同组的干共同学习。公共路径的一般度具体值依据两个涉及(或簇)的路线交集数量占比较。

(2)如何组合在一起学习?依循多任务上的基准,对于联合训练之分类器使用简单有些参数,即共享参数和私参数。共享参数可以体现相似关系间的得共性,私有参数用于描述不同关系中的表征。这有限像样参数在教练过程被凡是齐学习的。

作者:PRA的法的运用或在局限,比如对于开放域知识图谱,如Reverb等,其涉嫌项目多样都未事先定义,则无法对每个类别训练分类器;而且这种每个门类训练分类器的不二法门吃其实较充分,更无便于给定实体对的涉嫌推理。是否可以统一吗一个分类器,或者无是分类器,而是生成器,生成于定实体对的也许干,这样便利用被干项目体系未知之开放域知识图谱。


Compositional Learning of Embeddings for Relation Paths in Knowledge Bases and Text

  • 作者:Kristina Toutanova, Xi Victoria Lin∗, Wen-tau Yih, Hoifung
    Poon, Chris Quirk
  • 机构:Microsoft Research
  • 机构∗:University of Washington

正文的任务也文化图谱补全,推理预测实体间暧昧的关联。本文叙述,当前之一部分家以波及路径信息融入到知识库嵌入式表示中,取得了那个明显的结果。知识库嵌入式表示,指的凡将知识库中实体和事关映射到低维稠密的空间被,知识之演绎转化为实体和涉及所涉的向量或矩阵之间的运算。这种嵌入式的意味,操作费较小,推理的效率比高。为了进一步提升基于嵌入式表示的涉嫌推理,一些大家用波及路径信息融入其中。

正文发现,目前底拿干路径融入知识库的嵌入式表示法存在如下问题:首先,当提到的路线总类增多时,时间支出比较生,严重影响推理的频率;另外,目前之主意才考虑了路径信息,莫设想结点的音信,即使是平路线,包含不同结点也有所不同的信。本文提出了一致栽动态规划的艺术,可以很快地拿干路径融入到知识库的嵌入式表示,并且同时针对路线上之涉项目和结点进行表示。

正文为基因调控网络为条例,网络的节点是基因,边也片个主要的干:正调控、负调控,为了一道代表文本信息,将基因共现的文本语句的依存关系嵌入至网络中,所生图所显示,红色边也本来网络的调控提到,灰色边也文本依存信息:

语言 3 

主导的知识图谱嵌入式表示学习的法子是,首先学实体和干的向量(或矩阵)表示,然后同用习及之参数\(\theta\)和函数\(f(s,r,t|\theta)\)为可能的老三初组进行打分。其中,双线性模型(BILINEAR)用矩阵表征关系,向量表征实体,打分函数\(f\)定义为:\(f(s,r,t|\theta)=x_s^{\rm
T}W_rx_t\)。

此外,为了削减参数,本文介绍了其它一样栽模型双线性-对角模型,即将关系矩阵\(W\)替换为对角矩阵。

用涉路径引入嵌入式表示一般有星星点点栽方式:(1)利用关系路径生成辅助的老三头条组用于训练(通过自由游走获得路,端点实体的涉所以干路径代替);(2)将干路径作为特色用于打分,打分函数替换为\(f(s,r,t|\theta,\prod_{s,t})\),\(\prod_{s,t}\)为路径上涉及嵌入式表示的加权求和。对于双线性模型,关系路径\(\pi\)的嵌入式表示一般为:\(\Phi_{\pi}=W_{r_1}…W_{r_n}\)。

正文更偏于被次种植艺术,因为其针对性路线上之关联进展剪枝。本文对\(f(s,r,t|\theta,\prod_{s,t})\)做了详细规划与概念:用\(F(s,t)\)代表\(\prod_{s,t}\),用\(P(t|s,\pi)\)代表头实体经过路径到达尾实体的概率,令:\(F(s,t)=\sum_{\pi}w_{|\pi|}P(t|s,\pi)\Phi(\pi)\)。最终\(f(s,r,t|\theta,\prod_{s,t})\)定义为:

\[f(s,r,t)=x^{\rm
T}W_rx_t+vec(F(s,t))^{\rm T}vec(W_r)\]

其中\(F(s,t)\)的计算时间耗费比较充分,本文通过利用动态规划之方法ALL-PATH高效学习和计算该打分函数,使得可以迅速地将关乎路径融入到知识库的嵌入式表示,并且同时针对路线上之涉项目和结点进行表示。本文用参数\(w_{e_i}\)用于表示针对通过实体\(e_i\)路径的熏陶,对于双线性模型:\(\Phi_{\pi}=W_{r_1}tanh(w_{e_1})…W_{r_n}tanh(w_{e_n})\)。用\(F_l(s,t)\)表示实体\(s\)和\(t\)之间长度也\(l\)的路线的加权和,则闹:

\[F(s,t)=\sum_{l=1…L}w_lF_l{s,t}\]

其中,\(F_l{s,t}=\sum_{\pi \in
P_l(s,t)}P(t|s,\pi)\Phi_{\pi}\),\(P_l(s,t)\)表示实体\(s\)和\(t\)之间长度也\(l\)的路径。

动态规划算法如下图所示:

语言 4 

笔者:本文针对过去融合路径信息的嵌入式表示法的时刻复杂度进行优化,并进入节点信息,旨在高效运算并融入更尽的信息。本文的方法ALL-PATH在岁月以及效用上优化之前的法门。本文的章程的贯彻基于的是双线性模型,这里当只是示例,完全可以双线性替换为任何模型,这种干路径集成的思可以下叫众都有些嵌入式表示学习方式,所以本文的极度老优点应该在动态规划之提出,用以高效的算计。

1 什么是Django?

Django是运于Web开发的尖端动态语言框架,最初起源于美国芝加哥之Python用户组,具有新闻从业背景的Adrian
Holovaty是Django框架的首要开发者。在Adrian的引下,Django小组致力为为Web开发者贡献一缓快捷、完美的Python框架,并且在BSD(Berkeley
Software
Distribution,伯克利软件套装)开放源代码协议许可下授权给开发者自由使用。

 

Django拥有完善之模版机制、对象关联映射机制和用于动态创建后台管理界面的作用。使用Django框架来支付Web应用,可以便捷设计与开支具有MVC层次之Web应用。Django框架是于事实上项目面临生出来的,该框架提供的功力特别符合为动态网站的建设,特别是管制接口。

 

Django框架作为一如既往种植高效的大网框架,具有以下特征:

  • l 组件的客观集成
  • l 对象关联映射和多数数据库支持
  • l 简洁的URL设计
  • l 自动化的保管界面
  • l 强大的支付环境

 

 


TransG : A Generative Model for Knowledge Graph Embedding

  • 作者:Han Xiao, Minlie Huang, Xiaoyan Zhu
  • 机构:Dept. of Computer Science and Technology, Tsinghua
    University

正文的天职为文化图谱表示学习,旨在将知识图谱映射到低维稠密之向量空间里。与以往研究工作不同,本文将目光聚焦于“多语义关系”,即和同名互动的关联可能具有不同的语义含义,如对涉及“HasPart”,对于实体“桌子”和“桌腿”有这种关系,对于“英国”和“伦敦”也如出一辙有这样的涉及,但双方所抒发的义却不尽相同。

绵绵于感性层面达到,本文对TransE的学问图谱向量表示进行可视化(PCA降维):抽取四栽不同关系,将有着给定关系之实业对向量相减(据TransE思想,可以收获关系之向量),将结果向量展示在二维空间里。理想状态下,对于每个关系该只是跟一个簇对应,但忠实的结果是每个关系持续一个蔸,而是多单明确分开的簇。这也于任何一个角度说明了关系的多语义性质。

针对当下等同题材,本文提出TransG模型,利用贝叶斯非参数无限混合嵌入式表示模型来很成涉的多语义表示。TransG可以自动发现涉嫌之多语义簇,并且用关乎之杂语义对实体对进展翻译操作,以进行关联推理。

本文利用了片只基本点之模子与算法,分别是贝叶斯非参数无限混合嵌入式表示模型和中餐馆过程算法。切实的实业和关系嵌入式表示生成过程如下:

语言 5 

通过该过程会取得初始化的实体和涉及向量,三初组的自分函数为:

\[\sum_{m=1}^{M_r}\pi_{r,m}e^{-\frac{||u_h+u_{r,m}-u_t||_2^2}{\sigma_h^2+\sigma_t^2}}\]

今非昔比让过去之计,本文对于涉的描绘更加细化,对于实体对,可以适当获得多语义关系的显眼语义:

\[m_{(h,r,t)}^*=argmax_{m=1…M_r}(\pi_{r,m}e^{-\frac{||u_h+u_{r,m}-u_t||_2^2}{\sigma_h^2+\sigma_t^2}})\]
\[h+u_{r,m_{(h,r,t)}^*}\approx
t\]

读过程是凡的正例的分数不断增高,负例的分不断减少,最终取得实体和关系之代表。

作者:本文的切入点是多语义关系是为知识库中,而之前的模型没有观测并缓解当时无异于题材。本文使用非参数贝叶斯模型,借助CRP算法用于对事关多语义的甄别和转移。本文主要的贡献在提出了多语义关系的题目,并凭借CRP解决这无异于题材。

2 Django框架的开支条件搭建

安装Django框架(PS:此处就简单说明Windows环境下道)

生充斥链接:https://www.djangoproject.com/download/(PS:网页界面及出详尽的设置步骤说明,之所以贴出链接,方便查看时Django框架的行版本与相应版本支持的Python版本。楼主写这篇稿子用Python版本为2.7.14)

开辟CMD输入:pip
install
Django==1.11.7(PS:其中1.11.7表示安装的Django版本。其中pip是治本安装Python相关模板架包的管理工具,如果没安装,请提早设置哦。使用pip安装相关模板架包大有益)

附pip9.0.1产充斥链接:https://pypi.python.org/pypi/pip/9.0.1

语言 6

百度云盘下充斥链接:http://pan.baidu.com/s/1i4PtOzV
密码:dzqe

下载后,解压,cmd中入解压后底绝望目录,输入python
setup.py
install(PS:出现下图及证明安装成功),然后cmd进入Python安装根目录Scripts文件夹,即可使用pip命令安装相应模块和确保。

语言 7

 安装完pip后,可以把D:\Program Files
(x86)\Python27
\Scripts(PS:红色字体部分是楼主自己Python安装路径)添加进环境变量path中,即可在cmd中直接使用pip命令,例如下图:

语言 8

 

 

启服务器

起先Django框架中都盈盈的一个轻量级的Web应用服务器。因此,在以Django框架开发Web项目时,不需还针对那布局服务器,比如对准Apache的配备。(PS:Django框架自带的轻量级Web应用服务器,便于开发过程被测试,性能比逊色,如果想要得到高性能,在形成系统开发后,重新部署一个服务器,例如利用Apache中Tomcat、Nginx,
lighttpd等)

每当CMD中切换至新创的档次目录中,然后以该目录下输入以下命令:manage.py
runserver(PS:此命令,默认开启系统8000端口,如果8000端口被占,可以使用manage.py
runserver 8001使用8001端口,或者填写其它数字端口)

 

 


3 Django操作MySql数据库简介

数据库配置

以列的
settings.py 文件被找到 DATABASES 配置起,将那信息修改为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 或者使用 mysql.connector.django
        'NAME': 'book',          #连接数据库名称
        'USER': 'root',          #mysql数据库连接用户名
        'PASSWORD': 'root',     #mysql数据库连接密码
        'HOST': 'localhost',
        'PORT': '3306',
        'OPTIONS': {
              'init_command': "SET sql_mode='STRICT_TRANS_TABLES'" ,
              # 'charset': 'utf8mb4',
        }
    }
}

以下具体操作步骤(具体参考自网上教程:Django
模型
):

创建
APP

Django规定,如果要动模型,必须要创造一个app。我们下以下命令创建一个
TestModel 的 app:

django-admin.py startapp TestModel 

咱们修改
TestModel/models.py 文件,代码如下:

HelloWorld/TestModel/models.py:
文件代码:

# models.py
from django.db import models

class Test(models.Model):
    name = models.CharField(max_length=20)

如上的类名代表了数据库表名,且持续了models.Model,类中的字段代表数量表中的字段(name),数据类型则由CharField(相当给varchar)、DateField(相当给datetime),
max_length 参数限定长度。

对接下去当settings.py中找到INSTALLED_APPS这一项,如下:

INSTALLED_APPS = (

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'TestModel',               # 添加此项
)

以指令行中运行:

$ python manage.py migrate   # 创建表结构

$ python manage.py makemigrations TestModel  # 让 Django 知道我们在我们的模型有一些变更

$ python manage.py migrate TestModel   # 创建表结构

看几实践
“Creating table…” 的字样,你的数据表就创造好了。

Creating
tables ………Creating table TestModel_test  #咱俩由定义之申……

表名组成结构吧:应用叫_类名(如:TestModel_test)。

在意:尽管我们无在models给表安装主键,但是Django会自动抬高一个id作为主键。

课程上连:添加数量、更新数据、删除数据,具体求参见上述教程链接。

 

 

 


4 功能强大的Django管理工具应用

第一查看管理工具运行效果:

语言 9

 

                         
                                                                   
 图1 首页登陆界面,漂亮吧

 

语言 10

                                                                        
                     希冀2
登陆成功后管理界面,Django框架自带,一行代码搞定

 

语言 11

                                                                       
                      祈求3
操作后台contact实体表,可以进行多、删除、修改及询问

 

现实代码见:https://coding.net/u/LiuZhen1995/p/MyDemo/git/tree/origin_nine/

 

 

参考资料:

1.《Python
Web开发上实录》 李勇 王文强  编著

2.http://www.runoob.com/django/django-tutorial.html

3.https://code.ziqiangxuetang.com/django/django-tutorial.html

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图