【发布时间】:2012-04-11 16:16:02
【问题描述】:
我正在开发一款游戏,我需要找到特定句子的最大权重。
假设我有句子“the quick brown fox”,并假设单词和双词都有其定义的权重:“the”-> 10、“quick”-> 5、“brown”-> 3、“fox” -> 8, "the quick" -> 5, "quick brown" -> 10, "棕狐" -> 1
我想知道单字和双字的哪个组合提供的权重最大,在这种情况下是“the”、“quick brown”、“fox”(权重 = 28)
有人告诉我这个问题可以通过线性规划来解决,但我看不到如何实现这种方法。具体来说,我不知道如何表达问题的约束,在这种情况下,一些双词不能与包含的单个词组合(即“快速”不能与任何一个组合) "the" 或 "quick")
有人可以就如何解决这个问题提供一些指导吗?我不是该领域的专家,并且对 Simplex 的工作原理有一些基本的了解(从学校回来),但我缺乏关于如何为此类问题建模的知识。
此外,任何其他方法(不涉及线性编程或蛮力)也将受到欢迎。
谢谢。
【问题讨论】:
标签: algorithm nlp dynamic-programming linear-programming