WebWorkers可以用来在很长的页面上计算单词频率吗?
|
我正在编写一个基于浏览器的(JavaScript和jQuery)语言分析工具,该工具将从HTML提取文本,然后提取诸如句子,单词等的语言单元。
要导入文本,PHP后端会搜寻给定的URL并清理生成的HTML。然后将该HTML插入界面中的ѭ0中,如下所示:
当源HTML页面很长时,我遇到了一些困难。在界面的ѭ1中读取和插入此类页面似乎不会引起问题(尽管要花一些时间)。
但是,如果页面很长,对爬虫内容执行词频算法会非常慢。例如,如果页面接近10万个单词,它将几乎使一切陷入停顿。
因此,我看到一些选择:
更改PHP Spider,使其将截断源文档或将其细分为多个文档
更改词频算法,使其不太精确,并采样词分布而不是完全记录下来
尝试一下这种新型的Web Worker东西,看看我是否可以在多个后台进程之间分配计算。
在我看来,(3)只是Web Workers设计要做的事情。我正在想象将蜘蛛内容拆分为多个块,然后为每个块分配一个Web Worker。可以从Web Worker返回每个块的词频分布,然后将其汇总并呈现到图表中。
在尝试此操作之前,我希望可以从这里的其他人那里获得过健全性检查,这些人以前可能曾与Web Workers一起工作过。一方面,我想知道是否有效地拆分ѭ0的内容是否会成为一个问题-我想这将涉及在
div#container
下通过DOM树进行某种遍历。
没有找到相关结果
已邀请:
1 个回复
屠创氓读叔
就我个人而言,我认为不需要100ms的延迟。我在其他地方看到过它表示可以将延迟设置为0ms,因为这足以中断长时间运行的脚本并阻止浏览器锁定。 如果这不能改善问题,那么可以,Web Workers将是您的最佳选择。