热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

辅助信息抽取

辅助信息抽取辅助信息抽取辅助信息抽取1.data_naming.ipynb2.data_preprocessing.ipynb3.ner_by_rule_or_dict.ipyn

辅助信息抽取辅助信息抽取


  • 1.data_naming.ipynb
  • 2.data_preprocessing.ipynb
  • 3.ner_by_rule_or_dict.ipynb
  • 4.ner_json_to_iboes.ipynb
  • 5.ner_by_crf.ipynb
  • 6.word_embedding.ipynb
  • 7.BiLSTM + CRF进行NER.ipynb
  • 8.nre_by_pcnn.ipynb
  • 9.service_nre

知识图谱的概念与应用

知识图谱里通常用“实体(Entity)”来表达图里的节点,用“关系(Relationship)”来表达图里的边。


储存方式:三元组(entity1,entity2,relationship)


什么是信息抽取:

对于结构化与半结构化数据需要复杂表数据的处理和定义抽取的包装器等方式实现。

对非结构化的纯文本数据需要借助自然语言处理等技术来自动地提取出结构化信息。这个过程一般称为信息抽取。

在这里插入图片描述


自然语言理解本质是结构预测

自然语言理解的众多任务,包括并不限于中文分词、词性标注、命名实体识别、共指消解、句法分析.语义角色标注等,都是在对文本序列背后特定语义结构进行预测。


信息抽取的主要任务:

  • 命名实体识别
  • 关系抽取
  • 实体统一
  • 指代消解

在这里插入图片描述


搭建一个知识图谱系统的重点并不在于算法和开发,其实最重要的核心在于对业务的理解以及对知识图谱本身的设计

步骤:

1.定义具体的业务问题
2.数据的收集&预处理
3.知识图谱的设计
4.把数据存入知识图谱
5 . 上层应用的开发,以及系统的评估。



标注工具:brat

http://brat.nlplab.org



正则表达式与AC自动机

AC自动机:
字符串搜索算法,用于在输入的一串字符串中匹配有限组“字典”中的子串。它与普通字符串匹配的不同点在于同时与所有字典串进行匹配。算法均摊情况下具有近似于线性的时间复杂度,约为字符串的长度加所有匹配的数量。
在这里插入图片描述
KMP算法:

KMP算法核心为部分匹配表,记录字符串中的前缀集合与后缀集合的交集中最长元素的长度。根据部分匹配表,可避免重复检查先前匹配的元素。
在这里插入图片描述

Trie树:

trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。

在这里插入图片描述


AC自动机:
AC自动机= KMP + Trie树
依靠构造一个有限状态机(类似于在一个trie树中添加失配指针)来实现。这些额外的失配指针允许在查找字符串失败时进行回退(例如设Trie树的单词cat匹配失败,但是在Trie树中存在另一个单词cart,失配指针就会指向前缀ca),转向某前缀的其他分支,免于重复匹配前缀,提高算法效率。
在这里插入图片描述


正则表达式:
原理:NFA自动机(Non deterministicFinite Automaton不确定型有穷自动机)NFA 是以正则表达式为基准去匹配的.发现不匹配了。此时就会发生回溯。
在这里插入图片描述



基于规则的信息抽取:

在这里插入图片描述



NER发展

在这里插入图片描述



机器学习的基本流程

在这里插入图片描述


自然语言处理,人工智能皇冠上的明珠!

中文NLP语言处理的一般流程:

  • 1.获取语料
  • 2.语料预处理
  • 3.特征工程
  • 4.特征选择
  • 5.模型训练
  • 6.评价指标
  • 7.模型上线应用



中文分词

中文切词常见方法里既有经典的机械切分法(如正向/逆向最大匹配,双向最大匹配等),也有效果更好一些的统计切分方法(如隐马尔可夫HMM,条件随机场CRF)以及近年来兴起的采用深度神经网络的RNNLSTM等方法。



词性标注

常见的词性标注方法可以分为基于规则和基于统计的方法。其中基于统计的方法,如基于最大嫡的词性标注、基于统计最大概率输出词性和基于HMM的词性标注。近年来兴起的采用深度神经网络的RNN,LSTM等方法。



去停用词

停用词词典是根据具体场景来决定的,比如在情感分析中,语气词、感叹号是应该保留的,因为他们对表示语气程度、感情色彩有一定的贡献和意义。
在这里插入图片描述



命名实体识别

NER通常包括两部分:(1)实体边界识别;(2)确定实体类别(人名、地名、机构名或其他)。

英文中的命名实体具有比较明显的形式标志(即实体中的每个词的第一个字母要大写),所以实体边界识别相对容易,任务的重点是确定实体的类别。和英文相比,中文命名实体识别任务更加复杂,而且相对于实体类别标注子任务,实体边界的识别更加困难。

大部分情况下,标签体系越复杂准确度也越高,但相应的训练时间也会增加。因此需要根据实际情况选择合适的标签体系。



序列标注

在这里插入图片描述



NER评价标准

在这里插入图片描述

一般采用2,使用考虑实体边界+实体类型评测



多分类的评价标准

在这里插入图片描述


基于规则的信息抽取:精确率高,但召回率比较低。
基于规则的方式比较适合半结构化或比较规范的文本中的进行抽取任务,结合业务需求能够达到一定的效果。
优点:简单,快速;
缺点:召回低,泛化能力差



HMM与维特比解码

马尔可夫过程为状态空间中经过从一个状态到另一个状态的转换的随机过程。

该过程要求具备“无记忆”的性质:下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。这种特定类型的“无记忆性”称作马尔可夫性质。

隐马尔可夫模型,是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。

在这里插入图片描述



HMM的两个假设

在这里插入图片描述
HMM模型描述的就是由这些隐状态序列(实体标记)生成可观测状态(可读文本)的过程.
在这里插入图片描述


HMM的三个基本问题

在这里插入图片描述

维特比算法

维特比算法解码使用了动态规划算法来解决HMM的预测问题,找到概率最大路径,也就是最优路径。

在每一时刻,计算当前时刻落在每种隐状态的最大概率,并记录这个最大概率是从前一时刻哪一个隐状态转移过来的,最后再从结尾回溯最大概率,也就是最有可能的最优路径.
在这里插入图片描述



条件随机场


概率图模型

概率图模型是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型。

图中的每个节点都对应一个随机变量,可以是观察变量,隐变量或是未知参数等;每个连接表示两个随机变量之间具有依赖关系。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
无向图G中任何两个结点均有边连接的节点子集称为团。若C是无向图G的一个团,并且不能再加进任何一个G的结点使其成为一个更大的团,则称此C为最大团。

无向图的联合概率可以分解为一系列定义在最大团上的非负函数的乘积形式。
在这里插入图片描述
如果随机变量Y构成一个由无向图G=(V,E)表示的马尔可夫随机场,对任意节点vEV都成立,即
在这里插入图片描述
则称P(Y|X)是条件随机场。式中w≠v表示w是除v以外的所有节点,w~v表示w是与v相连接的所有节点。


生成:对联合概率P(X,Y)建模

判别:对条件概率P(Y|X)建模
在这里插入图片描述


CRF更加强大-CRF可以为任何HMM能够建模的事物建模,甚至更多。

CRF可以定义更加广泛的特征集。而HMM在本质上必然是局部的,而CRF就可以使用更加全局的特征。CRF可以有任意权重值,HMM的概率值必须满足特定的约束。


1.基于规则的专家系统
召回低,规则维护复杂,泛化能力差

2.基于特征的监督学习
需要大量特征工程,泛化能力一般

基于DL的NER模型成为主流,并取得了sOTA


深度学习的关键优势在于其强大的表示学习能力,通过向量表示和神经网络学习复杂的组合语义。

深度学习可以通过对原始数据进行训练自动发现分类或检测所需的语义表示。


NLP中监督任务的基本套路:

  • 文本数据搜集和预处理
  • 将文本进行编码和表征
  • 设计模型解决具体任务

在这里插入图片描述



文本表示

文本表示是深度学习进行NLP任务的第一步,将自然语言转化为深度学习能处理的数据。
在这里插入图片描述


词向量,将自然语言进行数学化。

  1. One-hot :
    维度灾难,不能刻画词与词之间的相似性
  2. Distributed:
    将词映射成固定长度的短向量,构造词向量空间,通过距离刻画词之间的相似性。

推荐阅读
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 程度|也就是_论文精读:Neural Architecture Search without Training
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了论文精读:NeuralArchitectureSearchwithoutTraining相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
  • 软件测试工程师,需要达到什么水平才能顺利拿到 20k+ 无压力?
    前言最近看到很多应届生晒offer,稍有名气点的公司给出的价格都是一年30多W或者月薪20几k,相比之下工作几年的自己薪资确实很寒酸.根据我自己找工作经历,二线城市一般小公司招聘 ... [详细]
  • 深度学习与神经网络——邱锡鹏
    深度学习与神经网络——邱锡鹏-一、绪论人工智能的一个子领域神经网络:一种以(人工))神经元为基本单元的模型深度学习:一类机器学习问题,主要解决贡献度分配问题知识结构:路线图:顶 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有