java - 大文件的术语主题矩阵

标签 java python mysql search lucene

我在一个文本文件中有一个包含 1700 万个句子的列表。每个句子最多包含 200 个字符。每个句子还附有一个或多个注释。我有一个唯一注释列表和一个从 1700 万个句子中获得的唯一单词列表。我必须创建一个稀疏矩阵,其中行作为唯一词,列作为注释 (318k)。矩阵的每个值都是每个单词在注释中出现的次数。

矩阵数据结构
矩阵的大小显然会非常大。指向处理如此巨大的矩阵大小的指针?我立即想到的一个想法是使用 CSV 文件。

同现词搜索
每个句子可能包含一个或多个注释。关于我应该做些什么来加快我的搜索和需要注意的事情的指示。

  • 我精通 Python/Java。如果有其他东西(例如 Shell 脚本/Perl 等)可以减轻我的任务,我会很乐意使用它
  • 我正在考虑使用 Lucene用于搜索。我不确定是否需要 Lucene,因为我所有的句子都在数据库中编制了索引
  • 很抱歉没有发布代码,但这不是没有作业!一个想法/建议/指示对我有用。

最佳答案

对于稀疏矩阵,不要使用实际的矩阵或列表。

使用字典,按单词和注释键入。简单得多。

matrix[ (word,annotation) ] += 1

关于java - 大文件的术语主题矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3236181/

相关文章:

java - 如何在 Java 中使用 C API?杰尼?

java - maven 构建仅在 Jenkins 中失败- Artifact {null :null:null:jar}: The groupId cannot be empty

Python+Git 用于远程存储库

python - 求解三次方程,sympy

mysql - 在 MySql 中多次访问临时表

mysql - 我不明白我做错了什么

Java + Maven + 制作可执行 jar + 线程 "main"java.lang.NoClassDefFoundError : org/slf4j/LoggerFactory 中的异常

java - jFLAC。分割 FLAC 文件

generator - 这是素数生成器 pythonic

php - MySQL:如何从数组中检索 n(数量)数据?