1

我有两个文本文件目录。一个有User Description,另一个有User Messages字段DATE<\t>NAME<\t>DESCRIPTIONDATE<\t>NAME<\t>MESSAGE。我的主要目标是获得这两个文件之间的配置文件和消息词之间的相关矩阵。

一个例子是:

                              *message words*
                          cat     dog    mouse ....
*profile words*    cat    100     20      50
                   dog     2      30      22  ...
                   ...
                   ...

在这里,cat 和 cat 之间的数字 100 表示“在个人资料描述中包含“cat”的任何用户撰写的所有消息中,“cat”一词出现了 100 次”。

我尝试使用 Java 解决这个问题,但由于文本文件的大小,即使是更简单的程序版本也无法运行。这是我几天前发布的问题。awk工具确实解决了我之前的问题。

我的问题是,有没有什么有效的方法来解决这类问题?我没有语言限制。另外,我对 diff、cat 等 bash 实用程序有一些了解。

仅供参考,我User Messages有 1.7G 的多个文本文件。User Description大约 400M 也有多个文件。我能给 Java 最多的内存是 -Xmx1800m。

另外,如果这不是一个有效的问题,请告诉我。我会删除帖子。

谢谢!

4

1 回答 1

0

尝试查看 Lucene 库,它起源于 java,但也移植到 C# 和 C++(至少)。

您所做的称为“索引”-您创建文档(例如,它可以与简单文件相关联)。每个文档都可以包含可选字段 - 文件出现的目录。之后很容易计算特定单词的数量甚至更多的单词形式(比如猫对猫)

于 2012-04-29T19:33:28.947 回答