块分割,维特比算法小结

学习总结

在ER中,有一类算法依靠参考结构化数据库的模型实现,以便提高ER的速度。但是这类算法常常在运行中产生了大量重复计算,降低了效率。由此,通过介绍以下方法,来解决这个问题:

块分割

给定的字符串:

 X=x1,...xn;其中既有单词又有标点

子序列:

s1,...,sp;对X进行分割后,生成的包含一个或多个单词的字符串
sp=(tp,up,y);tp起始位置,up为结束位置,y为特征

特征集合:

Y=y1,..,yj;先后有序令y表示X中子序列的特征

例子:
x1x2x3表示一个人名;x5x6x7x8表示一个题目;
人名,题目用yj表示;
子序列s1=x1x2x3。
其中s1的起始位置用t1表示(这里t1=2),结束位置用u1=3表示。
并且
图片描述
最大不超过X的长度,最小不低于1.

图片描述

第二个子串的起始位置在第一个子串结束位置之后的第一个单词,也就是相邻子串之间没有空隙,是连续的。

图片描述
最后一个子串up结束的位置为X序列结束位置,第一个子串s1起始位置为X序列第一个单词。
注意up的下标p,对应子序列sp中的p,下标的计数p跟子串个数S相关,把X分成10个子串,那么P=10,且起始位置tp与结束位置up的下标是一致的,例s1(t1,u1),s2(t2,u2)

特征提取函数:
图片描述

y'表示前一个特征,y表示当前特征,X表示字符串,tj,uj同上描述。
特征提取函数集g1,...gv,每个一个特征函数(就是一种分割方法)都会有一个与其对应的权重wk。
通过使用维特比算法从这些特征函数中找到使得权重和最大的特征提取函数序列,换句话说,权重和最大表示了该特征提取函数序列对X进行了最优化分割。
这一过程是在训练中完成。接下来将介绍最优化分割。

最优化分割:
图片描述

s*表示在所有s1,...,sp中,得分最高的一个si。
由于每个特征提取函数g都会生成一个序列s1,...,sp,所以需要维特比算法找到一条路径,使得改路径上的每一个s都达到最大值。

图片描述表示可能的分割序列的集合,所谓分割序列,意思是由不同的特征提取函数生成不同的分割序列,s1:y---si:y

该算法将形成一条路径,该路径上每一个si:y都是整个Si:y集合中的最大值,用图片描述表示

图片描述

图片描述

y'表示前一个特征,其作用是概率传递,意思是,在计算完第一个特征值后,其值将影响下一个特征值的计算,以此类推,形成一条路径。若没有y',则退化成简单最大值计算问题。

  y1       y2     y3  . . .                   ym  s1       s1max  .   . . .                   s1  s2max    s2          .                      s2  s3       s3                .                s3  .         .               .                 .   .         .                 .               .  .         .     .   . . .  . .              .   si       si     .   . . .  . .   .   .   .  si  

i行m个列,每次计算从m个列中选取一个,计算到下一个列的距离(从第i行的m个节点中挑一个计算到i+1行m个节点的距离),m*m,一共计算i行, 其复杂度为O(IM2)
σ(1,y)表示在序列s2中,y1特征得到了最大值。依据公式(1),在对y2计算时,将选取s2作为起点,将其值传入下一步计算。也就是说y2的最大值受y1影响。
从m个分词中挑选一个分词,计算该分词到下一个分词的值(以前一个分词为起点,把下一个所有特征的分词都计算一遍)。

维特比算法

维特比算法是一个特殊但应用最广的动态规划算法,利用动态规划,可以解决任何一个图中的最短路径问题。其优点是利用动态规划降低复杂度。而维特比算法是针对一个特殊的图——篱笆网络的有向图(Lattice )的最短路径问题而提出的。 它之所以重要,是因为凡是使用隐含马尔可夫模型描述的问题都可以用它来解码。
假设整个篱笆有向图中每一列节点最多有m个(也就是图的宽度为D),并且图一共有N列,那么,每次计算至多计算m*m次(从i列的m个节点中挑一个计算到i+1列m个节点的距离)。至多计算N次。那么复杂度骤减为O(Nm2)m的平方,远远小于穷举O(mN)m的n次方。
马尔科夫链是对多参数条件概率计算的化简,假设某一点的条件概率只和其之前某点相关,与其他点无关。这样就形成了概率传递链。

为了比较算法的优劣,我们设计了一个时间下线,即在最好的情况下的时间消耗。用空间换时间是优化算法的一个常用的方法。存储大量中间生成组件,并重复利用,避免了重新生成部件的过程,减少了时间,但存储空间变大了。

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

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

相关文章

关于URL编码

一、问题的由来 URL就是网址,只要上网,就一定会用到。 一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网址 “http://www.abc.com”,但是没有希…

android应用开发全程实录-实现甩动拨打和挂断电话

今天继续给大家带来《Android应用开发全程实录》中的章节,这部分是讲传感器中的一个实例。 通过上面的例子我们学会了如何获得某种类型的传感器,下面通过一个实例来学习如何使用某一个类型的传感器。我们以加速传感器为例,来实现这样一个功能…

static的应用以及静态与非静态的区别

先前看到一个技术大牛写了一个关于静态成员与非静态成员,静态方法和非静态方法的各自区别,觉得挺好的,在这里写一个小程序来说明这些区别。 package com.liaojianya.chapter5; /*** This program will demonstrate the use of static method.…

装饰模式(Decorator pattern)

装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 装饰模式的结构 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰…

android开启服务器配置,Android基于XMPP开发(一)【openfire服务器配置】

OpenFireOpenFire 是采用Java开发的基于XMPP(Jabber)协议,开源实时协作(RTC)服务器。Smack 是用 Java编 写的XMPP客户端代码库,是 spark 的核心开源界总是有许多有趣的东东,这三个合起来就是一个完整的XMPP IM 实现。OpenFire ——服务器端Sp…

android相对布局代码,Android基础_3 Activity相对布局(示例代码)

相对布局要比前面讲的线性布局和表格布局要灵活一些,所以平常用得也是比较多的。相对布局控件的位置是与其周围控件的位置相关的,从名字可以看出来,这些位置都是相对的,确定出了其中一个控件的位置就可以确定另一个控件的位置了。…

php二维数组排序 按照指定的key 对数组进行排序

2019独角兽企业重金招聘Python工程师标准>>> /*** desc arraySort php二维数组排序 按照指定的key 对数组进行排序* param array $arr 将要排序的数组* param string $keys 指定排序的key* param string $type 排序类型 asc | desc* return array*/ function arrayS…

13个代码注释的小技巧

13个代码注释的小技巧 这篇文章是由Jos M. Aguilar在他卓越的博客中以西班牙语的形式首发,其后Timm Martin在获得Aguilar先生的授权下,对该文章进行翻译、修改,并且在DevTopics上发布。 以下13个小技巧可以使得你的代码在长时间内依然能够保…

让您的Xcode键字如飞

2019独角兽企业重金招聘Python工程师标准>>> 作者:吴白(微博) 手指在键盘上飞速跳跃,终端上的代码也随着飞舞,是的这确实很酷。优秀的程序员总是这么一群人,他们不拘于现状,不固步自封,他们喜欢…

【Android Developers Training】 6. 配置Action Bar

注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好。 原文链接:http://developer.android.com/training/basics/actionbar/setting-up.html 配…

android 7 创建文件夹,Android 在 res/layout 文件夹 下创建一个 子文件夹实例

Android 资源文件夹 Layout 文件夹Layout文件是存放Android的布局文件的资源文件夹,但是如果你想要在里面创建子文件夹,你会发现xml文件报错。如何在Layout文件夹下方创建Layout的子文件夹。这边我们需要著一个一个点就是我们的Layout 文件夹是属于资源文…

一步一步学NUnit

转载:http://tech.sina.com.cn/s/2009-07-17/1129988785.shtml 单元测试基础知识 单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定…

android功耗iphone,是心目中的安卓小屏旗舰吗?iPhone 8尺寸大小,4000mAh电池容量...

相信很多人都都喜欢小屏手机,但因为小屏手机总体需求不多,而且相对大屏更不好做,所以手机商都不愿意做小屏手机,这也导致市面上小屏手机非常少,苹果推出了iPhone 12 Mini,但是因为电池只有2200mAh&#xff…

mySQL 数据库错误

2019独角兽企业重金招聘Python工程师标准>>> java.sql.SQLException: The user specified as a definer (..%) does not exist 视图、存储过程的使用者若非其创建者,就会出现这样的错误 可以修改用户的权限或重新创建进行解决 转载于:https://my.oschina…

细说JavaScript对象(1):对象的使用和属性

JavaScript 中的一切都可以视为对象,除了两个特例:null 和 undefined。 false.toString(); // false [1, 2, 3].toString(); // 1,2,3function Foo(){} Foo.bar 1; Foo.bar; // 1 一个经常容易被误解的就是数字常量不能视为对象,实际上数字常…

access2003的使用

access2003中如何用sql语句创建表 http://zhidao.baidu.com/link?urldinVbwoI20Xz__NbcIeBPdkjeXRWmZNB0xJvdr0eMBqNflv_JcWgUoPw3ozFfqnTQ9FLkNv0XXs9loDR2Oc7Oq SQL 数据定义查询创建表: 第一张表(藏书) CREATE TABLE 藏书 (书号 Text(10)…

再见安卓 鸿蒙,安卓系统:鸿蒙系统,正式再见

原标题:安卓系统:鸿蒙系统,正式再见华为手机不能使用谷歌GMS服务已经差不多一年时间,据悉华为明年最新旗舰P40系列仍然不能使用GMS,最近爆料大神数码闲聊站称谷歌将不给华为手机授权Android R(安卓11系统),…

wordpress html音乐,WordPress引用百度Ting音乐方法

对于个人博客来说,要在文章中添加音乐,如果放在自己服务器上,一方面是成本问题,其次,大部分博主用的国外服务器,而国外对版权看得比较重,基本上不允许上传音乐,所以我们通常都是通过…

html edge浏览器 图片,浏览器时序图及 Microsoft Edge 构架

本文又是我的作业,完成思路借鉴了 版权说明。作业要求针对一款典型浏览器,绘制浏览器处理时序图对用户界面进行操作(如拖拽窗口)带有 JavaScript 脚本 HTML 文档查阅资料,绘制 Edge 浏览器的参考架构浏览器时序图对用户界面进行操作(如拖拽窗…

您需要了解的跨阻放大器——第1部分

跨阻放大器(TIA)是光学传感器(如光电二极管)的前端放大器,用于将传感器的输出电流转换为电压。跨阻放大器的概念很简单,即运算放大器(op amp)两端的反馈电阻(RF&#xff…