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

如何在张量流顺序模型中添加CRF层?

我正在尝试在TensorFlow顺序模型中实现NER问题的CRF层。我不确定该怎么做。之前,当我

我正在尝试在TensorFlow顺序模型中实现NER问题的CRF层。我不确定该怎么做。之前,当我实现CRF时,我使用了来自tensorflow作为后端的keras的CRF,即我在keras中创建了整个模型而不是tensorflow,然后将整个模型传递给了CRF。有效。

但是现在我想在Tensorflow中开发模型,因为tensorflow2.0.0 beta已经内置了keras,因此我试图构建一个顺序层,并在双向lstm层之后添加CRF层。尽管我不确定该怎么做。我在tensorflow-addons中浏览了CRF文档,它包含不同的功能,例如正向CRF等,但不确定如何将它们实现为一层吗?我想知道是否可以在顺序张量流模型中实现CRF层,还是我需要从头开始构建模型图然后使用CRF函数?任何人都可以帮我。预先感谢


enter image description here

在培训过程中

您可以参考this API:

tfa.text.crf_log_likelihood(
inputs,tag_indices,sequence_lengths,transition_params=None
)

输入是一元电势(就像在逻辑回归中一样,您可以参考this answer),在这种情况下,它们是对数(通常不是softmax激活后的分布)功能)或BiLSTM编码器中每个字符的状态(上图中的P1,P2,P3,P4;)。

tag_indices是目标标签索引,而sequence_lengths代表批次中的序列长度。

transition_params是二进制电位(也是标记如何从一个时间步转换到下一个时间步),您可以自己创建矩阵,也可以让API为您完成。

在推理过程中
您只需利用this API:

tfa.text.viterbi_decode(
score,transition_params
)

分数代表与训练中相同的输入(P1,P2,P3,P4状态),并且transition_params也在训练过程中进行训练。


推荐阅读
  • 使用Tkinter构建51Ape无损音乐爬虫UI
    本文介绍了如何使用Python的内置模块Tkinter来构建一个简单的用户界面,用于爬取51Ape网站上的无损音乐百度云链接。虽然Tkinter入门相对简单,但在实际开发过程中由于文档不足可能会带来一些不便。 ... [详细]
  • 本文介绍了 Python 中的基本数据类型,包括不可变数据类型(数字、字符串、元组)和可变数据类型(列表、字典、集合),并详细解释了每种数据类型的使用方法和常见操作。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • C#实现文件的压缩与解压
    2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 使用 Jupyter Notebook 实现 Markdown 编写与代码运行
    Jupyter Notebook 是一个开源的基于网页的应用程序,允许用户在同一文档中编写 Markdown 文本和运行多种编程语言的代码,并实时查看运行结果。 ... [详细]
  • 普通树(每个节点可以有任意数量的子节点)级序遍历 ... [详细]
  • 自然语言处理(NLP)——LDA模型:对电商购物评论进行情感分析
    目录一、2020数学建模美赛C题简介需求评价内容提供数据二、解题思路三、LDA简介四、代码实现1.数据预处理1.1剔除无用信息1.1.1剔除掉不需要的列1.1.2找出无效评论并剔除 ... [详细]
  • 本文介绍了如何使用 Google Colab 的免费 GPU 资源进行深度学习应用开发。Google Colab 是一个无需配置即可使用的云端 Jupyter 笔记本环境,支持多种深度学习框架,并且提供免费的 GPU 计算资源。 ... [详细]
  • 目录预备知识导包构建数据集神经网络结构训练测试精度可视化计算模型精度损失可视化输出网络结构信息训练神经网络定义参数载入数据载入神经网络结构、损失及优化训练及测试损失、精度可视化qu ... [详细]
  • 处理POI导入Excel时遇到的数值单元格无法获取文本值问题
    在使用Apache POI库将数据从Excel导入到Java应用程序时,可能会遇到‘Cannot get a text value from a numeric cell’错误。本文将详细介绍该问题的原因及解决方案。 ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • 在 Python 中,eval() 函数用于将字符串转换为相应的 Python 表达式。然而,eval() 存在安全风险,因为它会执行任何有效的 Python 代码。相比之下,ast.literal_eval() 只评估有限的表达式,确保安全性。 ... [详细]
  • 使用jqTransform插件美化表单
    jqTransform 是由 DFC Engineering 开发的一款 jQuery 插件,专用于美化表单元素,操作简便,能够美化包括输入框、单选按钮、多行文本域、下拉选择框和复选框在内的所有表单元素。 ... [详细]
  • oracle c3p0 dword 60,web_day10 dbcp c3p0 dbutils
    createdatabasemydbcharactersetutf8;alertdatabasemydbcharactersetutf8;1.自定义连接池为了不去经常创建连接和释放 ... [详细]
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社区 版权所有