У меня есть набор текстовых сообщений. Давайте назовем их m1, m2, ....
. Максимальное количество сообщений ниже 1,000,000
. Длина каждого сообщения не должна превышать 1024
, а все они должны быть строчными. Давайте также выберем n-грамм s1
.
Мне нужно найти частоту всех возможных подстрок из всех этих сообщений. Например, допустим, у нас есть только два сообщения:
m1 = a cat in a cage
m2 = a bird in a cage
Частота некоторых n-грамм в этих двух сообщениях:
'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-грамма должна состоять максимум из 8 слов, с общим количеством символов ниже 30. Если n-грамм превышает этот предел, его можно разбить на два или более n-граммов и перечислить отдельно.
Мне нужно найти такие n-граммы для всех этих текстовых сообщений и отсортировать их по количеству вхождений в порядке убывания.
Как мне подойти к этой проблеме? Мне нужно решение в JavaScript.
PS: Мне нужна помощь, но я не знаю, где это спросить. Если вопрос
не для этого сайта, то где мне его публиковать? пожалуйста, направьте это
новичок здесь.