根据Python中的概率从列表中选择元素

时间:2016-03-09 19:50:50

标签: python probability context-free-grammar

我正在编写一个Python代码,使用无上下文语法生成随机句子。

每个非终端/终端符号都有一个与之相关的权重。

目前,我正在使用random.choice()defaultdict(list)中选择一个元素。这给了我一个输出,给出列表中的所有元素的概率相等。

如果每个元素的概率不同,我该如何选择一个元素?

我有以下形式的无上下文语法:
重量NT NT / T

例如:
70 NounPhrase A
30 NounPhrase B

因此,第一个NP被选中的概率为70 /(70 + 30),第二个为30 /(70 + 30)。那么如何在Python中随机使用这个概念呢?

0 个答案:

没有答案