条件随机场CRF(持续更新ing...)

news2024/10/2 22:25:48

诸神缄默不语-个人CSDN博文目录

本文是作者学习CRF后的笔记。

最近更新时间:2022.11.15
最早更新时间:2022.11.15

条件随机场CRF是适宜于顺序预测任务的判别模型,可用于命名实体识别、词性标注等。

文章目录

  • 1. linear-chain CRF
  • 2. CRF目标函数
  • 本文撰写过程中使用到的其他参考资料

1. linear-chain CRF

在序列预测任务中,用邻近(上下文)样本来辅助学习当前样本。

以Part-of-Speech Tagging任务为例:
任务示例:输入Bob drank coffee at Starbucks,标记为Bob (NOUN) drank (VERB) coffee (NOUN) at (PREPOSITION) Starbucks (NOUN)

本节限制特征仅取决于当前和前一个标签,而非句中任一标签:

特征函数feature function f i f_i fi(需要一堆):

  • 输入:
    • 句子 s s s
    • 词语在句中的位置 i i i
    • 当前词的标签 l i l_i li
    • 前一个词的标签 l i − 1 l_{i-1} li1
  • 输出:实数(如0/1)

给每个feature function f j f_j fj分配一个权重 λ j \lambda_j λj
给出一个句子 s s s,对labeling的打分方式是对所有单词的所有feature function求和:
s c o r e ( l ∣ s ) = ∑ j = 1 m ∑ i = 1 n λ j f j ( s , i , l i , l i − 1 ) score(l | s) = \sum_{j = 1}^m \sum_{i = 1}^n \lambda_j f_j(s, i, l_i, l_{i-1}) score(ls)=j=1mi=1nλjfj(s,i,li,li1)
将所有labeling的打分转换为概率(通过exponentiating and normalizing,即softmax):
p ( l ∣ s ) = e x p [ s c o r e ( l ∣ s ) ] ∑ l ’ e x p [ s c o r e ( l ’ ∣ s ) ] = e x p [ ∑ j = 1 m ∑ i = 1 n λ j f j ( s , i , l i , l i − 1 ) ] ∑ l ’ e x p [ ∑ j = 1 m ∑ i = 1 n λ j f j ( s , i , l ’ i , l ’ i − 1 ) ] p(l | s) = \frac{exp[score(l|s)]}{\sum_{l’} exp[score(l’|s)]} = \frac{exp[\sum_{j = 1}^m \sum_{i = 1}^n \lambda_j f_j(s, i, l_i, l_{i-1})]}{\sum_{l’} exp[\sum_{j = 1}^m \sum_{i = 1}^n \lambda_j f_j(s, i, l’_i, l’_{i-1})]} p(ls)=lexp[score(ls)]exp[score(ls)]=lexp[j=1mi=1nλjfj(s,i,li,li1)]exp[j=1mi=1nλjfj(s,i,li,li1)]

Example Feature Functions
在这里插入图片描述

CRF概率长得像逻辑回归→CRF就是逻辑回归的序列版:whereas logistic regression is a log-linear model for classification, CRFs are a log-linear model for sequential labels.

CRF和HMM:
在这里插入图片描述

用梯度学习优化feature function的权重:
在这里插入图片描述

2. CRF目标函数

在第一节中我们得到了:
p ( l ∣ s ) = e x p [ ∑ j = 1 m ∑ i = 1 n λ j f j ( s , i , l i , l i − 1 ) ] ∑ l ’ e x p [ ∑ j = 1 m ∑ i = 1 n λ j f j ( s , i , l ’ i , l ’ i − 1 ) ] p(l | s)= \frac{exp[\sum_{j = 1}^m \sum_{i = 1}^n \lambda_j f_j(s, i, l_i, l_{i-1})]}{\sum_{l’} exp[\sum_{j = 1}^m \sum_{i = 1}^n \lambda_j f_j(s, i, l’_i, l’_{i-1})]} p(ls)=lexp[j=1mi=1nλjfj(s,i,li,li1)]exp[j=1mi=1nλjfj(s,i,li,li1)]

在这里插入图片描述

∑ i = 1 n f j ( s , i , l ’ i , l ’ i − 1 ) ] \sum_{i = 1}^nf_j(s, i, l’_i, l’_{i-1})] i=1nfj(s,i,li,li1)]记为 f j ( x , y ) f_j(x,y) fj(x,y)(s,l)

CRF模型的定义式:
P ( y ∣ x ) = 1 Z ( x ) exp ⁡ [ ∑ j λ j ( f j ( x , i ) ) ] P(y|x)=\frac{1}{Z(x)}\exp\Big[\sum_j\lambda_j\big(f_j(x,i)\big)\Big] P(yx)=Z(x)1exp[jλj(fj(x,i))]
(其中 Z ( x ) = ∑ y [ ∑ j λ j ( f j ( x , i ) ) ] Z(x)=\sum_y\Big[\sum_j\lambda_j\big(f_j(x,i)\big)\Big] Z(x)=y[jλj(fj(x,i))],可以看作所有可能的隐状态序列的score值之和)

我们的最终目标是找到能使得score值最大( P ( y ∣ x ) P(y|x) P(yx)最大)的隐状态序列。在定义好feature functions后,我们需要学习 λ \lambda λ

本文撰写过程中使用到的其他参考资料

  1. Introduction to Conditional Random Fields(一篇国内的翻译:如何轻松愉快地理解条件随机场(CRF)? - 知乎
  2. 看了一半:全网最详细的CRF算法讲解 - 知乎
  3. 还没看
    1. 概率图之马尔可夫随机场(Markov Random Field,MRF)_zxhohai的博客-CSDN博客_markov random field
    2. 读懂概率图模型:你需要从基本概念和参数估计开始
    3. CRF条件随机场的原理、例子、公式推导和应用 - 知乎
    4. 全方位理解条件随机场(CRF):原理、应用举例、CRF++实现 - 知乎
    5. 条件随机场的肤浅理解_Researcher-Du的博客-CSDN博客_densecrf论文
    6. PGM:概率图模型Graphical Model_-柚子皮-的博客-CSDN博客_graphical model
    7. 马尔可夫随机场 MRF_-柚子皮-的博客-CSDN博客
    8. 【PGM】factor graph,因子图,势函数potential function,Template models - Loull - 博客园
    9. CRF和HMM_baihaisheng的博客-CSDN博客_crf hmm
    10. CRF(条件随机场)_二叉树不是树_ZJY的博客-CSDN博客
    11. Linear-chain CRF的推导 - 简书
  4. 没看懂的
    1. 条件随机场(CRF)的详细解释_deephub的博客-CSDN博客_crf
  5. 排版有问题的
    1. 自然语言处理序列模型——CRF条件随机场-51CTO.COM:缺公式
    2. 条件随机场入门:有错别字

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/7360.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用TensorRT量化ResNet50网络(PTQ)

深度学习正在彻底改变行业提供产品和服务的方式。 这些服务包括用于计算机视觉的对象检测、分类和分割,以及用于基于语言的应用程序的文本提取、分类和摘要。 这些应用程序必须实时运行。 大多数模型都采用浮点 32 位算法进行训练,以利用更大的动态范…

python代码规范工具

文章目录一:Pycharm 创建文件自动头部二:代码门禁三 : 附录一:Pycharm 创建文件自动头部 Pycham —> Preferences —> 编辑器 —> 文件和代码模版 —> 文件 —> Python Script —> 填写头部 #!/usr/bin/env python # -*- c…

详解clickhouse分区目录的合并过程

数据存储底层分布 目录名类型说明202103_1_10_2目录分区目录一个或多个,由于分区LSM生成的detached目录通过DETACH语句卸载后的表分区存放位置format_version.txt文本文件纯文本,记录存储的格式 columns.txt:该文件是一个文本文件&#xff0c…

vue 生成二维码的两种方式

方式一&#xff1a;qrcode&#xff08;无 icon 图标&#xff09; npm i qrcodejs2 --save 完整代码 <template><div class"flex-box"><div>qrcode&#xff08;无 icon 图标&#xff09;</div><div class"qr-code" ref"…

【面试题】BFC的理解

1. BFC Block format context(BFC)&#xff0c;块级格式上下文。BFC是一个独立的布局环境&#xff0c;BFC内部的元素的渲染不会影响到边界以外的元素。 2. BFC的布局规则 BFC内部的块会在垂直方向上一个接一个的放置&#xff1b;垂直方向上的距离由margin决定&#xff0c;在…

vision transformer 剪枝论文汇总

Vision Transformer Pruning 这篇论文的核心思想很简单&#xff0c;就是剪维度&#xff0c;也就是说剪的是这个d。 具体方法就是通过一个gate&#xff0c;如图中的dimension pruning&#xff0c;输出0或者1&#xff0c;来判断不同维度的重要性&#xff0c;但是由于0和1&#xf…

最新CleanMyMac X4.12.1中文版Mac系统优化清理工具

CleanMyMac X v4.12.1是COCO玛奇朵搜集到的一款mac电脑系统清理工具&#xff0c;删除系统缓存文件 , 多余的应用程序语言包 , PowerPc软件运行库等。 CleanMyMac是一个强大的应用程序&#xff0c;清洁&#xff0c;优化和保护您的Mac多年的使用。运行即时系统清理&#xff0c;卸…

html+css实现容器显示两行文本超出部分以省略号显示

Bootstrap 给予响应式、移动设备优先的流式栅格系统提供了十分丰富的样式类&#xff0c;基于这些了可以做出很多好看的效果&#xff0c;虽让提供了常用基本样式类&#xff0c;但有一些比较特殊的需求 比如bootstrap 提供了 text-truncate 样式类&#xff0c;使用这个类可以轻松…

只开源36小时!GitHub标星139K从Java开发到软件架构师进阶笔记

什么是架构? 关于架构&#xff0c;我以前一直以为&#xff0c;只有真正从0到1&#xff0c;经历各种技术选型后搭建出来的一个系统框架&#xff0c;才算是真正的架构。 在程序员的现实世界里&#xff0c;不想当架构师的程序员不是个好程序员&#xff0c;即使你未曾主动想去当…

Mac M1 安装 brew

安装顺序&#xff1a; 1. 安装 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 执行完后&#xff0c;发现brew &#xff0c;还是命令找不到。 2. 还要配置&#xff1a; 复制该内容到 vim ~/.zprofile&#x…

ElasticSearch——手写一个ElasticSearch分词器(附源码)

1. 分词器插件 ElasticSearch提供了对文本内容进行分词的插件系统&#xff0c;对于不同的语言的文字分词器&#xff0c;规则一般是不一样的&#xff0c;而ElasticSearch提供的插件机制可以很好的集成各语种的分词器。 Elasticsearch 本身并不支持中文分词&#xff0c;但好在它…

Python——BeautifulSoup库

下面例题基于同一个网页讲解&#xff0c;进入网页后右键查看页面源代码对应着看 文章目录前言一、BeautifulSoup库简介什么是BeautifulSoup库&#xff1f;BeautifulSoup库解析器网页爬虫解析网页的基本方法二、BeautifulSoup库的安装安装测试三、BeautifulSoup库的基本元素获取…

APS排产在线材线束行业的应用

经过数年的发展&#xff0c;我国线束行业从无到有、从小到大&#xff0c;已经具备了一定的规模&#xff0c;其生产的线束产品能够满足市场上绝大多数的需求。世界上&#xff0c;任何事物的发展都不可能一帆风顺&#xff0c;总是在矛盾中纠正自身不足&#xff0c;从而不断前进。…

关于CUDA+Torch+TorchVision+Python环境配置问题

背景知识 1、GPU的并行计算能力&#xff0c;在过去几年里恰当地满足了深度学习的需求。在训练强化学习模型时&#xff0c;为了提供更好地算力和训练时间&#xff0c;因此需要使用GPU。 2、CUDA&#xff1a;是Nvidia推出的只能用于自家GPU的并行计算框架。只有安装这个框架才能…

机器学习笔记之条件随机场(五)条件随机场需要解决的任务介绍

机器学习笔记之条件随机场——条件随机场需要解决的任务介绍引言回顾&#xff1a;条件随机场条件随机场要解决的任务引言 上一节介绍了条件随机场的建模对象——条件概率P(I∣O)\mathcal P(\mathcal I \mid \mathcal O)P(I∣O)参数形式和向量形式的表示。本节将针对条件随机场…

java多线程基础技术

1.1 进程与多线程 1、进程 程序由指令和数据组成&#xff0c;但这些指令要运行&#xff0c;数据要读写&#xff0c;就必须将指令加载至 CPU&#xff0c;数据加载至内存。在 指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的 当一个程…

Mysql 数据库开发简介与选择

文章目录 前言一、为什么要使用数据库 数据库的概念为什么要使用数据库二、程序员为什么要学习数据库三、数据库的选择 主流数据库简介使用MySQL的优势版本选择四、Windows 平台下安装与配置MySQL 启动MySQL 服务控制台登录MySQL命令五、Linux 平台下安装与配置MySQL总结前言 …

【附源码】计算机毕业设计JAVA宠物收养管理

【附源码】计算机毕业设计JAVA宠物收养管理 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JAVA mybati…

go微服务框架Kratos简单使用总结

Kratos是B站开源的一款go的微服务框架&#xff0c;最近PS5上的 战神诸神黄昏比较火&#xff0c;主角就是奎托斯。这个框架的名字就取自他。 在进行框架选型时&#xff0c;对比了目前主流的很多go微服务框架&#xff0c;如Zero&#xff0c;最后对比之下&#xff0c;选择了Krato…

vector容器 (20221115)

一、vector容器 1、功能&#xff1a;与数组非常相似&#xff0c;也称为单端数组。 2、区别&#xff1a;数组是静态空间&#xff0c;vector可以动态扩展。 动态扩展&#xff1a;并不是在原空间之后续接新空间&#xff0c;而是找更大的内存空间&#xff0c;将原数据拷贝到新空…