搜索核心需求: 让搜索通往答案
Ø无法理解搜索关键词
Ø无法精准回答
根本问题
Ø缺乏大规模背景知识
Ø传统知识表示难以满足需求
知识图谱狭义概念
知识图谱(Knowledge Graph, KG)本质上是一种大规模语义网络,是互联网时代的语义网知识表示框架。
Ø 富含实体(entity)、概念(concepts)及其之间的各种语义关系(semantic relationships)知识图谱的狭义概念
作为一种语义网络,大数据时代知识表示的重要表达方式之一
知识图谱是一种以图形化的(Graphic)形式通过节点和边表达知识的方式,其基本组成元素是节点和边
KG组成-实体与节点
实体(Entity):又称为对象(Object)或实例Instance)
Ø 指客观世界中具有可区别性且独立存在的某种事物
概念(Concept):又称为类别(Type)、类Category、Class)
Ø 反映一组实体的种类或对象类型,如哲学家、唯心主义哲学家
属性值(Property Value / Attribute Value):指实体特定属性的值
Date
Ø 特朗普 出生日期 1946年6月14日
String
Ø 特朗普 简介 “唐纳德·特朗普(Donald Trump),第45任美国总统,1946年6月14日生于纽约,美国共和党籍政治家
Numeric
Ø 特朗普 年龄 71
关系(Relation)
Ø 侧重实体之间的关系,如“柏拉图”和“苏格拉底”这两个实体存在“导师”关系
属性(Property/Attribute/Quality)
Ø 指某个实体可能具有的特征以及参数,如“苏格拉底”具有“出生时间”这个特征
实体/概念覆盖率高
各种语义关系覆盖率高
质量高
Ø 基于大数据自动构建: 各种数据源之间交叉验证,可靠性高
Ø 基于众包构建:依赖人工,质量高
结构化组织
Ø 基于RDF三元组,每条知识对应一个(Subject,Predicate,Object)三元组
Ø 基于图(节点表示实体/概念/属性值,边表示关系)
• 提升知识图谱的规模往往会付出质量方面的代价
Ø 可以预先定义人的“身高”取值范围为0.5m ~ 2.3m,但可能存在某个人,其身高达到2.31m
Ø “黄晓明”的妻子曾经是“杨颖”,但现在并非如此
• 知识图谱在设计模式时通常会采取一种“经济、务实”的做法:也就是允许模式(Schema)定义不完善,甚至缺失
模式定义不完善或缺失对知识图谱中的数据语义理解以及数据质量控制提出了挑战
• 传统数据库与知识库的应用通常建立在封闭世界假设(CWA)基础之上。 CWA 是假定数据库或知识库中不存在(或未观察到)的事实即为不成立的事实
• 大多数开放性应用不遵守这一假设。也就是说,在这些应用中缺失的事实或知识未必为假
Ø 很难保证知识图谱中关于柏拉图的信息完整,很可能会缺失柏拉图父母的信息。但常识告诉我们柏拉图一定有父母。
不遵守CWA 给知识图谱上的应用带来了巨大的挑战
• 传统知识工程依赖专家完成知识获取,这一方式难以实现大规模知识获取,难以满足知识图谱的规模要求。
• 大规模自动化知识获取是知识图谱与传统语义网络的根本区别。
• 大规模自动化知识获取和图谱构建
Ø 词汇挖掘
Ø 实体识别
Ø 关系抽取
• 知识图谱中的节点
Ø 实体,eg,复旦大学
Ø 概念,eg, 学校
Ø 属性值(依附于实体存在),eg,1946年6月14日
实体、概念、属性值都是词汇
• 理解一个领域往往是从理解领域词汇开始的
• 与图书情报领域的叙词表(主题词表)构建相关
• 词汇知识是理解用户意图的关键知识
• 广泛应用
Ø 比如,猎头如果要寻找知识图谱领域的专家或学者,只需要判断候选人的简历或者论文题目中是否包含知识图谱的领域词汇
• 词汇挖掘指的是从给定的领域语料中自动挖
掘属于该领域的高质量词汇的过程。
• 高质量词汇
Ø 高频率:一个 N-Gram在给定的文档集合中要出现得足够频繁才能被视作高质量词汇(N-Gram:N个连续的词组成的短语)
Ø 一致性:N-Gram 中不同单词的搭配是否合理或者是否常见
Ø 信息量:一个高质量词汇应该传达一定的信息,表达一定的主题或者概念
• 比如,“机器学习”与“这篇论文”
Ø 完整性:一个高质量词汇还必须在特定的上下文中是一个完整的语义单元。
• 比如,“学习” vs“机器学习”
输入领域预料(人工智能论文集)输出高质量词汇(支持向量机、卷积神经网络、机器学习)
• 缺陷:
Ø 规则一般是针对特定领域手工设计的,难以适用于其他领域。
Ø 人工定义规则代价高昂,难以穷举所有的规则,因此在召回率存在一定的局限性
• 有监督学习
Ø 根据人工标注或远程监督标注的高质量词汇,建立高质量词汇分类模型。
无监督学习
有监督学习
• 语料切割:
利用模型来识别高质量短语,再根据已经发现的高质量短语对语料进行切割,在切割的基础上重新统计词频,改进词频统计的精度。
语料切割与高质量词汇挖掘两者互相增强
• 高质量短语 :
Ø 词频:在领域语料中频繁出现,即词频(term frequency,tf) 高
Ø 逆文档频率:在外部文档中很少出现,即文档频率(documentfrequency, df)低,逆文档频率(inverse document frequency,idf) 高
【“的”、“是”和“由于”等词汇过于普遍,不适合用来刻画该领域语料的特征】
TF-IDF:反义ing词汇重要程度
T F − I D F ( u ) = t f ∗ i d f TF-IDF(u)=tf*idf TF−IDF(u)=tf∗idf
t f ( u ) = f ( u ) ∑ u ′ f ( u ′ ) tf(u)=\frac{f(u)}{\sum_{u'}f(u')} tf(u)=∑u′f(u′)f(u)
i d f ( u ) = l o g ∣ D ∣ + δ ∣ { j : u ∈ d j } ∣ + δ idf(u)=log\frac{|D|+\delta}{|\{j:u\in d_j\}|+\delta} idf(u)=log∣{j:u∈dj}∣+δ∣D∣+δ
• 高质量短语:
Ø 考虑长度:一般而言,在很多专业领域(比如医学领域)越长的短语越有可能是专有名词, 从而极可能是高质量短语。
Ø 优化词频:子短语在其父短语中的重复统计会带来频次估计的偏差“支持向量机”(父短语)是个高质量短语,那么“向量机”和“支持向量”(子短语)的词频就不应该重复计数
C − v a l u e ( u ) = { l o g 2 ∣ u ∣ f ( u ) u 无 父 短 语 l o g 2 ∣ u ∣ ( f ( u ) − 1 T u ∑ b ∈ T u f ( b ) u 有 父 短 语 C-value(u)=\left\{\begin{array}{l} log_2|u|f(u)&u无父短语\\ log_2|u|(f(u)-\frac{1}{T_u}\sum_{b\in T_u}f(b)&u有父短语 \end{array}\right. C−value(u)={log2∣u∣f(u)log2∣u∣(f(u)−Tu1∑b∈Tuf(b)u无父短语u有父短语
在C-value的基础上利用短语丰富的上下文信息
Ø 先通过 C-value 值对短语进行初步排序,再选取前 5%候选短语的上下文中所出现的单词作为b。
Ø 上下文单词 b 的重要性值为weight(b) ,weight(b)越大,说明 b 越倾向于出现在高质量短语的上下文中,因此越有助于找到高质量短语。
N C − v a l u e ( u ) = 0.8 C − v a l u e ( u ) + 0.2 ∑ b ∈ C u f u ( b ) w e i g h t ( b ) NC-value(u)=0.8C-value(u)+0.2\sum_{b\in C_u}f_u(b)weight(b) NC−value(u)=0.8C−value(u)+0.2b∈Cu∑fu(b)weight(b)
w e i g h t ( b ) = t ( b ) n weight(b)=\frac{t(b)}{n} weight(b)=nt(b)
• 主要思想:
如果两部分共同出现的概率远大于两者在独立情况下随机出现的概率,说明这两个部分的共现是一个有意义的搭配,预示着两者应该组成一个有意义的短语而非纯粹
偶然共现。
• PMI 值:刻画短语组成部分之间的一致性Concordance)
假设某个短语 u u u由 u l u_l ul与 u r u_r ur两部分组成
O M I ( u l , u r ) = l o g p ( u ) p ( u l ) p ( u r ) OMI(u_l,u_r)=log\frac{p(u)}{p(u_l)p(u_r)} OMI(ul,ur)=logp(ul)p(ur)p(u)
u l u_l ul与 u r u_r ur的PMI值越大, u u u越有可能是 u l u_l ul与 u r u_r ur的一个有意义组合
Ø 对于候选短语,枚举所有可能的拆分方式( 如“电影院”可拆分成“电影”和“院”,“电”和“影院” )
Ø 计算相应的PMI,取最小的PMI值作为候选短语的最终PMI值
Ø PMI(“电影”,“院”)> PMI(“的”,“电影”)
“电影院”比“的电影”质量更高
主要思想:
一个词汇的左(右)邻熵越大,左(右)搭配越丰富,则该词汇越有可能是个好的词汇。
“亚里士多”这个短语的右邻字比较集中,总是“德”字,所以一般不会把
它当作一个完整短语,而应将“亚里士多德”当作一个完整短语。
左(右)邻字熵:描述词汇的自由搭配程度,也就是用来衡量一个词的左(右)邻字集合的丰富程度
H ( u ) = − ∑ x ∈ X p ( x ) l o g p ( x ) H(u)=-\sum_{x\in X}p(x)logp(x) H(u)=−x∈X∑p(x)logp(x)
X : u 的 所 有 左 ( 右 ) 邻 字 集 合 X:u的所有左(右)邻字集合\quad X:u的所有左(右)邻字集合 p ( x ) : 某 个 左 ( 右 ) 邻 字 x 出 现 的 概 率 p(x):某个左(右)邻字x出现的概率 p(x):某个左(右)邻字x出现的概率
常用统计特征 | 作用 |
---|---|
TF-IDF | 挖掘能够有效代表某篇文档特征的短语 |
C-value | 考虑了短语与其父短语的关系来挖掘高质量短语 |
NC-value | 在C-value 的基础上进一步考虑了上下文来挖掘高质量短语 |
PMI | 挖掘组成部分一致性较高(经常一起搭配)的短语左(右)邻字熵 挖掘左(右)邻丰富的短语 |
在领域词汇挖掘中要融合多种统计特征,取长补短,挖掘出高质量的领域短语。只考虑单一特征不足以挖掘高质量短语。
• 命名实体( Named Entity )
Ø 文本中具有特定意义或者指代性强的词汇,通常包括:
3大类:实体类、时间类、数字类
7小类:人名、地名、组织机构名、时间、日期、货币、比例数值
Ø 具有标识和区别作用
命名实体识别(Named Entity Recognition, NER):
Ø 在文本中定位命名实体并分类为预定义类别
Ø Input:词序列 s = < w 1 , … … , w N > s=
Ø Output: { < I S , I e , t > } \{
< I S , I e , t >
位置和实体类型
• 命名实体识别可以分为:
Ø 粗粒度、细粒度
• 人物,还可以进一步细分为导演、演员等
Ø 多标签、单标签
• 如:“吴京”既是演员又是导演。
• 依赖词典、模板、正则表达式(无监督学习)
Ø 基于规则的NER系统:
LaSIE-II,NetOwl,Facile,
SAR,FASTUS和LTG
如“White, 33”中的“White”为人名
• 依赖语言专家手工构造规则,代价高昂,难以穷举所有的规则。
• 基于规则的命名实体识别系统往往还需要借助实体词典,对候选实体进行进一步的确认。当词典详尽无遗时,基于规则的系统效果很好
• 建模为序列标注任务,为输入文本选择概率最大的标注序列(有监督学习)
• BIO标注
Ø 其中 B 表示实体的起始位置,I 表示实体的内部位置,O 表示相应字符不是实体
B-PER 表示这个字符是一个人物命名实体的起始位置。
I-PER 表示相应字符为人物实体的内部位置。
类似的,B-LOC 与 I-LOC 代表地点名的起始和内部位置。
• 常用模型:条件随机场(CRF)
依赖特征工程:需提取输入文本X和实体标签Y的多种特征
P ( Y ∣ X ) = P ( B − P E R , I − P E R , I − P E R ∣ 刘 , 德 , 华 ) P(Y|X)=P(B-PER,I-PER,I-PER|刘,德,华) P(Y∣X)=P(B−PER,I−PER,I−PER∣刘,德,华)
基于深度学习的NER框架包含三个模块(有监督学习):
Ø 输入的分布式表示
(distributed representation)
Ø 上下文编码器
(context encoder)
Ø 标签解码器
(tag decoder)
• 常用模型:BiLSTM-CRF
Ø 是基于深度学习的NER最常见的架构
Ø 由分布式表示层、双向 LSTM 层,以及 CRF 层构成。
• 相比于传统机器学习方法,基于深度学习的NER方法有以下优点:
Ø 并不需要特定的人工制定规则或者繁琐的特征工程
Ø 易于从输入提取隐含的语义信息
Ø 灵活且便于迁移到新的领域或其他语
知识图谱概况:
• 节点(实体、概念、属性值)
• 边(关系、属性)
• 知识图谱的优势和不足
• 知识图谱的主要问题:如何大规模自动化获取知识
• 知识图谱构建(节点部分):
• 词汇挖掘:
-基于规则
-基于统计学习(无监督、有监督)
• 实体识别:
-基于规则
-基于传统机器学习
-基于深度学习