从非结构化数据创建知识图的问题是众所周知的机器学习问题。 甚至没有一个组织为完全丰富的知识图达到100%的准确率。 我没有什么发现可以帮助一个新手入门。
在转向调查结果之前,我会让你从非结构化语料库中解读构建知识图的问题。 让我们考虑这种情况。 假设我们有非常小的语料库:
“苹果公司由史蒂夫乔布斯创立,现任首席执行官是蒂姆库克,苹果公司推出了多款产品,如Ipad,iphone,MAC等。”
语料库也可能是非常复杂的句子。 问题是我们如何才能从这些非结构化的尸体中建立知识图。 如果我们创建通用知识图,那么我们的系统应该能够提供像“谁创立了苹果公司?”这样的答案。 ,“苹果公司推出的产品是什么?” 等等。
几种技术来创建知识图:
1.)监督技术:
在信息提取领域中使用的监督模型涉及将问题描述为分类问题,并且他们通常在给定一组正面和负面示例的情况下学习辨别分类器。 这些方法从句子中提取一组特征,一般包括上下文单词,3个词性标签,实体之间的依赖路径,编辑距离等,并从大型标注训练语料库中获取相应的标签。
- 句子分段:它将输入作为一个原始语料库,并将其分成多个句子,这些句子基本上是一个字符串列表。
- Tokenization:它将采用拆分句子列表并将其转换为基本上是字符串列表列表的标记。
- POS标记:它将转换为pos标记的句子,它基本上是元组列表的列表。
- 实体检测:它将检测实体并创建基本上是树列表的句子块。
- 关系检测:它将分类特定的关系是否满足给定的实体集合。
这里有几点关于监督方法及其利弊。
- 它需要一组关系类型。
- 一个命名实体标记器
- 大量的标记数据(分解为训练集,开发集和测试集)
- 功能表示
- 分类器(NaïveBayes,MaxEnt,SVM ...)
以下是我们在监督式方法中可以使用的所有功能
- 轻量级功能 - 只需要很少的预处理
词:词目,词袋,双格(之间或之后)
实体类型:人员,组织,设施,地点和地理政治实体/ GPE
实体级别:NAME,NOMIAL和PRONOUN
- 中等重量的功能 - 需要基准短语组块
基本短语块路径
袋头大袋
- 重量级功能 - 需要完整的句法分析
实体之间的依赖树路径
分析实体之间的树形路径
优点 :
- 可以适应不同的域
- 具有足够的手标记训练数据和足够的训练测试的高准确性
缺点 :
- 必须标注大型训练集(昂贵)
- 无法很好地推广到不同的流派
- 对高阶实体关系的扩展也很困难。
2.)半监督技术
这种方法从一些已知的关系三元组开始,然后遍历文本以提取与种子三元组相匹配的模式。 这些模式用于从数据集中提取更多关系,然后将学习关系添加到种子示例中。 重复该方法直到不能从数据集中学习到更多的关系。
它的一个更流行的算法算法是Snowball ML算法。
SnowBall算法:
1.)从元组的种子集合R开始。
2.)从R生成模式的集合P. 计算P中每个Pattern的支持度和置信度,并以较低的支持度或置信度放弃这些模式。
3.)生成新的匹配模式P的元组Set T。 计算T中每个元组的置信度,用conf(t)> threshold将T中的元组t添加到R中。
4.)返回到第2步。
算法的进一步说明:
1.)从Seed例子开始
2.)使用实体标记器来标记实体
3.)抓住提取的图案
一般来说,模式是5元组形式:(左,标签1,中间,标签2,右侧)
Tag1,tag2是实体标签。 左,中,右是加权项的向量
4.)通过计算支持和置信度对模式进行聚类并过滤每个聚类中的模式
5.)使用模式,扫描集合以生成新的种子元组
初始种子元组的形式为:(tag1,tag2,tag3,tag4等)
例如:(组织,产品,位置等),因此种子示例可能是(Apple,ipad,california)或(ibm,db2,Armonk)等。
优点 :
- 避免手动标记大量数据
缺点 :
- 为每个关系需要种子(原始种子的质量很重要)
- 每次迭代时语义漂移的大问题
- 精度不高
3.)远程监督方式
它使用Freebase关系数据库来获得大量训练实例。 我们通过随机选择没有出现在任何Freebase关系中的实体对并为它们提取特征,在训练阶段为“不相关”关系建立一个特征向量。
我们使用利用L-BFGS和高斯正则化进行优化的多级逻辑分类器。 我们的分类器将实体对和特征向量作为输入,并基于属于该关系的实体对的概率返回关系名称和置信度分数。 一旦在测试过程中发现的所有实体对都被分类后,就可以通过置信度评分进行排序,并用于生成n个最可能的新关系实例的列表。
优点:
- 利用无限量的文本数据
- 允许非常大量的弱功能
- 对训练语料库不敏感:类型独立