我正在处理从一篇长文章中提取的图表。有向加权图实际上只不过是一个字典,它包含作为顶点的头部单词,这些顶点通过边连接到文章中该单词之后的每个单词(尾部单词)。因此,如果“yellow”一词在文章中出现 3 次,并且后面跟着“brick”、“brick”和“submarine”,那么“yellow”条目将在图中表示如下:
{"yellow": ["brick", "brick", "submarine"]}
这个图是使用我编写的一个 python 类生成的ExtractedGraph
,除了一个__init__
生成图的方法之外,还有一个getProb(self, head_word, tail_word)
方法可以将头词和尾词作为输入并输出头词将遵循的概率尾词,即连接头词节点和尾词节点的边的权重。因此,如果我们输入“yellow”和“brick”,输出将是 2/3。
我的问题是,如何对该图进行波束搜索以找到得分最高的句子。具体来说,如果束搜索函数的输入是一个prefix_words
字符串、一个beam_width
int 和一个sen_length
int(一个句子的最大字长)怎么办。算法看起来如何?在在线阅读了 Beam Search 算法并观看了大量教程之后,我不确定 Beam Search 功能在这种特定情况下如何真正发挥作用。
慕工程0101907
相关分类