У меня есть большая таблица в моей базе данных с большим количеством слов из разных текстов в текстовом порядке. Я хочу найти число o f раз / частота, когда некоторый набор слов встречается вместе.
Пример : Предположим, у меня есть эти 4 слова во многих текстах: United | Штаты | из | Америка
.Я получу в результате:
Соединенные Штаты : 50
Соединенные Штаты из : 45
Соединенные Штаты Америки : 40
(Это только пример с 4 слов, а может есть с меньшим и более чем 4).
Есть какой-нибудь алгоритм, который может сделать то или подобное?
Изменить: Приветствуется некоторый код R или SQL, показывающий, как это сделать. Мне нужен практический пример того, что мне нужно делать.
Структура таблицы
У меня есть две таблицы: Токен
, который имеет id
и текст
. Текст имеет вид UNIQUE
, и каждая запись в этой таблице представляет отдельное слово.
TextBlockHasToken
- это таблица, в которой сохраняется порядок текста. Каждая строка представляет собой слово в тексте.
Он имеет textblockid
, который представляет собой блок текста, которому принадлежит токен. предложение
, которое является предложением токена, позиция
, которая представляет собой позицию токена внутри предложения, и токенид
, который является ссылкой на таблицу токенов.