集束搜索beam search和贪心搜索greedy search

贪心搜索(greedy search)

贪心搜索最为简单,直接选择每个输出的最大概率,直到出现终结符或最大句子长度。

集束搜索(beam search)

集束搜索可以认为是维特比算法的贪心形式,在维特比所有中由于利用动态规划导致当字典较大时效率低,而集束搜索使用beam size参数来限制在每一步保留下来的可能性词的数量。集束搜索是在测试阶段为了获得更好准确性而采取的一种策略,在训练阶段无需使用。

假设字典为[a,b,c],beam size选择2,则如下图有:

1:在生成第1个词的时候,选择概率最大的2个词,那么当前序列就是a或b

2:生成第2个词的时候,我们将当前序列a或b,分别与字典中的所有词进行组合,得到新的6个序列aa ab ac ba bb bc,然后从其中选择2个概率最高的,作为当前序列,即ab或bb

3:不断重复这个过程,直到遇到结束符为止。最终输出2个概率最高的序列。

显然集束搜索属于贪心算法,不能保证一定能够找到全局最优解,因为考虑到搜索空间太大,而采用一个相对的较优解。而维特比算法在字典大小较小时能够快速找到全局最优解。

而贪心搜索由于每次考虑当下词的概率,而通常英文中有些常用结构,如“is going”,出现概率较大,会导致模型最终生成的句子过于冗余。如“is visiting”和“is going to be visiting”。贪心搜索可以认为beam size为1时的集束搜索特例。

原文地址:https://www.cnblogs.com/shona/p/10785603.html

时间: 2024-11-05 21:48:10

集束搜索beam search和贪心搜索greedy search的相关文章

HDU 4004 The Frog's Games(基本算法-贪心,搜索-二分)

The Frog's Games Problem Description The annual Games in frogs' kingdom started again. The most famous game is the Ironfrog Triathlon. One test in the Ironfrog Triathlon is jumping. This project requires the frog athletes to jump over the river. The

SharePoint Search之(八) 搜索中心站点

创建完Search Service Application之后,虽然在各个site都可以进行搜索,但是设置一个Search Center来集中处理请求还是很有必要的.Search Center提供了Farm缺省的搜索设置,可以供其他site使用.在Site Collection和Site级别,都可以通过配置Site Settings来把搜索请求提交到search center上,这样各个site 就不需要自己配置了. 如何创建一个search center呢? 用Farm Administrat

【LeetCode-面试算法经典-Java实现】【079-Word Search(单词搜索)】

[079-Word Search(单词搜索)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Given a 2D board and a word, find if the word exists in the grid. The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally

iphone H5 input type="search" 不显示搜索 解决办法

H5 input type="search" 不显示搜索 解决办法 H5 input type="search" 不显示搜索 解决方法 在IOS(ipad iPhone等)系统的浏览器里打开H5页面.如下写法: <input type="search" name="search” id="search"> 以上设备的键盘仍然显示“换行”. 解决方法如下:在input外面嵌套一层form: <form

sublime搜索和替换-单文件搜索

Searching To open the search panel for the active file, press Ctrl + F. Someoptions and actions available through this panel can be controlled from thekeyboard: Toggle Regular Expressions Alt + R Toggle Case Sensitivity Alt + C Toggle Exact Match Alt

sublime搜索和替换--多文件搜索替换

Search and Replace - Multiple Files Searching To open the search panel for files, press Ctrl + Shift + F. You can use thekeyboard to control some search panel options and search actions: Toggle Regular Expressions Alt + R Toggle Case Sensitivity Alt

python使用get在百度搜索并保存第一页搜索结果

python使用get在百度搜索并保存第一页搜索结果 作者:vpoet 日期:大约在夏季 注:随意copy,不用在意我的感受 #coding:utf-8 import urllib import urllib2 import re """ 使用GET在百度搜索引擎上查询 此例演示如何生成GET串,并进行请求. """ if __name__=="__main__": url = "http://www.baidu.c

c# JD快速搜索工具,2015分析JD搜索报文,模拟请求搜索数据,快速定位宝贝排行位置。

分析JD搜索报文 搜索关键字 女装 第二页,分2次加载. rt=1&stop=1&click=&psort=&page=3http://search.jd.com/Search?keyword=%E5%A5%B3%E8%A3%85&enc=utf-8#keyword=%E5%A5%B3%E8%A3%85&enc=utf-8&qrst=UNEXPAND&as=1&qk=title_key%2C%2C%E5%A5%B3%E8%A3%85&

Sharepoint2013搜索学习笔记之创建搜索服务(二)

第一步,进入管理中心,点击管理服务器上的服务 第二步,在服务器上选择需要承载搜索服务的服务器,并启动服务列表上的sharepoint server search 第三步,从管理中心进入管理服务应用程序 第四步,新建search service application 第五步,在弹出的新建窗口分别填好相应信息点击确定,主要注意的是 应用程序池可以选择已经有的,也可以自己填一个新的名称,选择填写新的之后,程序会在稍后新建一个应用程序池,一般推荐新建应用程序池. 默认情况,爬网组件会用配置好的搜索服务