gpt4 book ai didi

javascript - 提高文本处理性能

转载 作者:数据小太阳 更新时间:2023-10-29 04:02:23 25 4
gpt4 key购买 nike

我编写了一个程序,它指示文本中所需词类的所有实例。我是这样做的:

  • 从整个文本中生成一个单词数组

  • 迭代这个数组。对于每个单词,看看它的第一个字母是什么。

    • 跳转到所选词类(例如'S')的所有词的对象中的相应数组并对其进行迭代。如果找到该词,则中断并将其插入匹配数组。
  • 检查完所有单词后,迭代匹配数组并突出显示文本中的每个单词。

一段包含 240000 个单词的文本在我的机器上处理名词需要 100 秒,处理介词需要大约 4.5 秒。

我正在寻找一种提高性能的方法,这些是我能想到的想法:

  • 重新排列我的单词列表中每个 block 中的项目。对它们进行排序,如果单词以声乐开头,则所有以辅音作为第二个字符的项目排在第一位,反之亦然。 (假设带有双声母或辅音的单词很少见)
  • 将文本结构化为章节并仅处理当前显示的章节。

这些是可靠的想法吗?是否有更多的想法或成熟的技术来改进这种处理?

最佳答案

使用 javascript 的强大功能。

它以字符串键操作字典作为基本操作。对于每个词类,构建一个对象,其中每个可能的词作为键和一些简单的值,如 true 或 1。然后检查每个词只是 typeof(wordClass[word]) !== "undefined" .我希望这会快得多。

正则表达式是 Javascript 的另一个高度优化的领域。您可能可以将整个事情作为每个词类的一个巨大的正则表达式来完成。如果您的突出显示是在 HTML 中,那么您也可以只在 RE 上使用替换来获得结果。这项工作可能取决于您的单词集有多大。

关于javascript - 提高文本处理性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29169945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com