有关相关功能的数据结构的建议

时间:2010-10-07 12:52:59

标签: algorithm sparse-matrix

我们有一套文件,每套都有一套功能。 给定特征A,我们需要知道在同一文档中具有特征B的概率是多少。

我想到建立一个概率矩阵,s.t: M(i,j)=在给定特征A的情况下在文档中具有特征B的概率。

但是,我们还有一项要求: 给定特征A在文档中,具有概率>的所有特征是什么? P在同一份文件中。

平均而我所能想到的只是概率矩阵的稀疏矩阵,并且在计算之后,对于在所有列上运行的每个特征,将其按P排序,并将其保存在某个链接列表中。 (所以现在,我们为每个功能提供了相应功能的列表

这个空间复杂度非常大(最差情况:N ^ 2,N很大!),每次搜索的时间复杂度为O(N)。

有什么好主意吗?

1 个答案:

答案 0 :(得分:1)

如果要素的数量与文档数量相当或更大,请考虑保留倒排索引:对于每个要素保留(例如,排序列表)存在的文档。然后,您可以通过在要素A和B的排序列表上运行合并来计算给定A的概率。

对于“预期给定A的常见特征”问题,我只能想到为每个A预先计算答案,并希望得到的特征列表不会太长。