【发布时间】:2013-05-22 16:22:22
【问题描述】:
让我们考虑一个查询集 Q 和一个更大的超集 S。Q 的每个元素都存在于 S 中。目标是使用 S 的(连接的)“组件”的最少数量来表示 Q。
这是一个具体的例子: Q={我爱法国和葡萄酒} S={(我住在这里),(我爱你和她),(法国很美),(奶酪和酒)}
Q 的解决方案可能: - “我”来自“我住在这里” - “爱”来自“我爱你和她” ——“法国很美”中的“法国” - “和”来自“我爱你和她” - 来自“奶酪和葡萄酒”的“葡萄酒” 这产生了 5 个“成分”,即“I”、“love”、“France”、“and”、“wine”
更好的解决方案是: -“我爱你和她”中的“我爱” ——“法国很美”中的“法国” -“奶酪和酒”中的“和酒” 这导致了 3 个“组件”,即“我爱”、“法国”、“和葡萄酒” 这可能是此示例的最佳解决方案。我们希望尽量减少“组件”的数量。
有没有人知道这种算法是怎么调用的? 我在文本解析、文本挖掘等方面进行了搜索,但没有找到合适的。
【问题讨论】:
-
如果 Q=(a b a) 和 S={(a), (b)},唯一解是有两个还是三个分量?
-
Q和S的元素是集合,还是序列?