我在一个文本文件中有一个包含 1700 万个句子的列表。每个句子最多包含 200 个字符。每个句子还附有一个或多个注释。我有一个唯一注释列表和一个从 1700 万个句子中获得的唯一单词列表。我必须创建一个稀疏矩阵,其中行作为唯一词,列作为注释 (318k)。矩阵的每个值都是每个单词在注释中出现的次数。
矩阵数据结构
矩阵的大小显然会非常大。指向处理如此巨大的矩阵大小的指针?我立即想到的一个想法是使用 CSV 文件。
同现词搜索
每个句子可能包含一个或多个注释。关于我应该做些什么来加快我的搜索和需要注意的事情的指示。
- 我精通 Python/Java。如果有其他东西(例如 Shell 脚本/Perl 等)可以减轻我的任务,我会很乐意使用它
- 我正在考虑使用 Lucene用于搜索。我不确定是否需要 Lucene,因为我所有的句子都在数据库中编制了索引
- 很抱歉没有发布代码,但这不是没有作业!一个想法/建议/指示对我有用。
最佳答案
对于稀疏矩阵,不要使用实际的矩阵或列表。
使用字典,按单词和注释键入。简单得多。
matrix[ (word,annotation) ] += 1
关于java - 大文件的术语主题矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3236181/