У нас есть база данных с сотнями миллионов записей данных журнала. Мы пытаемся «сгруппировать» эти данные журнала, поскольку они, вероятно, имеют ту же природу, что и другие записи в базе данных журнала. Например:
Запись X может содержать запись в журнале, например:
Изменение транзакции ABC123, назначенной серверу US91
И запись Y может содержать запись в журнале, например:
Изменение транзакции XYZ789, назначенной серверу GB47
Для нас, людей, эти две записи в журнале легко узнаваемы как имеющие определенную связь. Теперь между записью X и записью Y может быть 10 миллионов строк. И могут быть тысячи других записей, похожих на X и Y, и некоторые записи, которые полностью отличаются, но имеют другие записи, схожие с.
То, что я пытаюсь определить, - это лучший способ сгруппировать подобные предметы вместе и сказать, что с уверенностью в XX% Record X и Record Y, вероятно, имеют одинаковую природу. Или, возможно, лучшим способом сказать, что система будет смотреть на Запись Y и говорить, основываясь на вашем контенте, вы больше всего похожи на Запись X в сравнении со всеми другими записями.
Я видел некоторые упоминания об обработке естественного языка и других способах нахождения сходства между строками (например, просто грубое вычисление некоторых вычислений Левенштейна) - однако для нас у нас есть две дополнительные проблемы:
- Контент генерируется машиной, а не человеком
- В отличие от подхода поисковой системы, где мы определяем результаты по заданному запросу - мы пытаемся классифицировать гигантское хранилище и группировать их по тому, насколько они похожи друг на друга.
Спасибо за ваш вклад!