我在java中实现了textrank,但它看起来很慢。有人知道它的预期性能吗?
如果预计不会很慢,则可能是以下任何一个问题:
1) 似乎没有办法在 JGraphT 时间内同时创建一条边并为其添加权重,所以我计算权重,如果它 > 0,我添加一条边。我稍后重新计算权重以在循环边缘时添加它们。这是一个可怕的想法吗?
2)我正在使用 JGraphT。那是一个缓慢的图书馆吗?
3)我还能做些什么来让它更快?
这取决于您所说的“相当慢”是什么意思。谷歌搜索了一下,找到了这段:
“我们计算了 RAKE 和 TextRank 的总时间(平均超过 100 次迭代)从 Inspec 测试集的 500 个摘要中提取关键词,在从文件中读取摘要并加载到内存中之后。RAKE 从 500 个摘要中提取关键词160 毫秒。TextRank 在 1002 毫秒内提取关键字,是 RAKE 时间的 6 倍以上。”
(有关上下文,请参见http://www.scribd.com/doc/51398390/11/Evaluating-ef%EF%AC%81ciency。)
因此,据此,我推断一个体面的 TextRank 实现应该能够在约 1 秒内从约 500 个摘要中提取关键字。