我有一组文本消息,我们称之为 m1,m2,....
。最大消息数量不超过1,000,000
。每个消息的长度都不超过1024
个字符,并且全部小写。我们还选择了一个n-gram s1
。
我需要找到所有可能子字符串在所有这些消息中出现的频率。例如,假设我们只有两条消息:
m1 = a cat in a cage
m2 = a bird in a cage
这两条信息中某些n-gram的频率:
'a' = 4
'in a cage' = 2
'a bird' = 1
'a cat' = 1
...
请注意,由于
in = 2
、in a = 2
和 a cage = 2
是 in a cage = 2
的子集,并且具有相同的频率,因此不应列出它们。只需取最长的具有最高频率的一个;遵循以下条件:最长的 sn-gram 应由至多 8 个单词组成,字符总数不超过 30。如果 n-gram 超出此限制,则可以将其分为两个或多个 n-gram 并分别列出。我需要找到所有这些文本消息的这种 n-grams,并按其出现次数降序排序。
我该如何解决这个问题?我需要用 JavaScript 编写解决方案。
引用: PS:我需要帮助,但不知道去哪里寻求帮助。如果这个问题不适合这个网站,那么我应该在哪里发布?请指导一下这个新手。