您好我正在尝试使用MALLET获取500个主题,但我在MALLET中遇到了以下异常。这是一个已知的问题,是否有任何解决方法?
overflow in merging on type 4975
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at cc.mallet.topics.ParallelTopicModel.sumTypeTopicCounts(ParallelTopicModel.java:453)
at cc.mallet.topics.ParallelTopicModel.estimate(ParallelTopicModel.java:825)
at cc.mallet.topics.tui.TopicTrainer.main(TopicTrainer.java:245)
我使用的是mallet-2.0.8RC2。
答案 0 :(得分:0)
最近,我运行了 Mallet ,它具有两个不同的数据集(一个具有100M的数据集,另一个具有1G的数据集)。通常,这种异常发生在较大的数据集上,而当我想并行运行较大的迭代数(例如,较大的数据集为100)时。它在两个不同的文件中引发了 Exception:ArrayIndexOutOfBoundsException : WorkerRunnable 和 ParallelTopicModel 。因此,事情是当数组到达数组末尾时,它向记录器显示“ 合并时的溢出”到记录器,此后,程序不会做任何事情来摆脱情况。在访问数组之前,我能够通过索引检查修补这些极端情况。它可以帮助我在不破坏它的情况下运行它,但是我不确定它如何可能会改变输出,并且它仍然像往常一样打印“ 合并类型中的溢出”的消息,但是它继续并且没有不会抛出异常。
我已在my Github上上传了补丁,并按照说明进行操作。由于没有在不同情况下再次看到此中断,因此它能够为我解决问题。如果仍不能解决问题,则可能应该从their Github下载最新版本,然后自行调试并构建它。
我也上传了两个数据集;都是四年的数据; (2015年1月1日至2019年1月1日),较小的是StackExchange(DataScience),较大的是Reddit(9 DataScience Subreddits)(datasets),您想使用它。
祝你好运。