|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Есть небольшая база где собираются сообщения из логов одной энтерпрайзной системы. Это или чистые сообщения (редко) об ошибках или (часто) исключения и java stacktrace. В базе собранны не все сообщения а так сказать только представители каждого типа ошибок. Другими словами если ошибка существует, то за день можно сотни тысяч сообщений в логах поиметь и каждое уникально - меняются id и со своим timestamp, но в базе (в идеале) есть только одна запись. Теперь сама проблема: в какой то момент на радаре появляется новое сообщение и стоит задача, найти наиболее похожие сообщения из уже зарегистрированы в базе. Для этих целей есть некая функция, которая вычисляет степень схожести сообщений. Максимальное значение результата функции - мин длина одного из сообщений. «Очевидное» решение в лоб — сравнить новое сообщение с сообщениями в базе и взять наиболее «схожее» не приводит к желаемому результату по двум причинам. Во первых - медленно, т.к. сравнение схожести имеет сложность O(n * m) где n,m длина сообщений. И шаблонов в базе около 50 тысяч. Вторая причина менее очевидна. Пусть ошибка находится в методе CustomerService.getDeliveryAddress. (Пример надуманный). Этот метод может вызываться из разных мест, в разном контексте. Stacktrace для этого метода вызванный как сервис в контексте JBoss имеет приличную (10+) глубину, и большинство стековых фреймов идентичны с другими ошибками в этом же контексте, т.е. например CustomerService.getAddress вызванным как сервис в JBoss и как следствие эти два сообщения очень «похожи». В то же время та же функция вызванная в каком-нибудь отчёте имеет ту же ошибку но имеет очень отличительный stacktrace и контекст и как результат сравнения «не похожа». Первый вопрос: как бы вы определяли схожесть сообщений? Моё понимание проблемы - не все строчки сообщений имеют одинаковую значимость для сравнения. Как следствие подзадача вычислить или строчки, которые «уникальны» или вычислить строчки которые «шумят». Второй вопрос: как бы вы выделили эти «значимые/шумовые» строчки в сообщениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 12:46 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Тут надо на формат сообщений смотреть. Как вариант, если можно почистить сообщение так чтобы его начало было постоянным, то тогда по индексу можно искать с наибольшим совпадающим началом. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 12:58 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Ну и второй вариант - использовать полнотекстовый поиск, искать сообщение где больше слов слов совпадет. Посложнее, но не полный перебор. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 13:02 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron Первый вопрос: как бы вы определяли схожесть сообщений? Никак. Каждое сообщение заносится в багтрекер как есть и система сбора телеметрии блокируется до его исправления. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 13:45 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Очевидно, нужно смотреть на структуру сообщений, пока что не очень всё понятно. Самое универсальное (и самое трудозатратное в реализации) решение, которое тут можно придумать выглядит примерно так. Пытаемся определить структуру каждого типа лога, потом каждый лог парсим в "синтаксическое дерево". Потом деревья и сравниваем. Соответственно, для разных типов деревьев применяются разные сравнения. В вашем примере, мы при сравнении логов JBoss сравниваем те ветви дерева, которые отображают стектрейс, но не метод, вызванный в сервисе. А при сравнении лога сервиса с логом отчетов, сравниваем тип ошибки, но не обращаем внимания на стектрейс и контекст. Ну и т.д. В зависимости от вашей конкретной ситуации решение может упроститься до выпаршивания из лога меток, отвечающих за тип лога и ошибки и их сравнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 15:48 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron Второй вопрос: как бы вы выделили эти «значимые/шумовые» строчки в сообщениях. Мы то откуда знаем, не видя ваши логи, что у вас значимо, а что нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 15:50 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Dima T Тут надо на формат сообщений смотреть. Как вариант, если можно почистить сообщение так чтобы его начало было постоянным, то тогда по индексу можно искать с наибольшим совпадающим началом. Почистить сообщение в общем случае это как-раз то в каком направлении я думаю. Но как чистить тут и есть самый ключевой момент. Я предпологаю расчитать что есть муссор. Просто выделить верхние фреймы (или начало собщений) не всегда даст желаемый результат т.к. текствое сообщение и текст исключения параметризованы. т.е. будут отличатся SomeAppException: Unable detect delivery address for customer XXXXXXX XXXXXXX / order #### on May 12 2020. SomeAppException: Unable detect delivery address for customer YYYYY YYYYY YYYYY YYYYY / oder ##### on Dec 21 2019. А последующие 2 строчки stecktrace идентичны. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 17:13 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Dima T Ну и второй вариант - использовать полнотекстовый поиск, искать сообщение где больше слов слов совпадет. Посложнее, но не полный перебор. А это ни чем не лутче первого варианта. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 17:15 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Ржавый гвоздь mikron Второй вопрос: как бы вы выделили эти «значимые/шумовые» строчки в сообщениях. Мы то откуда знаем, не видя ваши логи, что у вас значимо, а что нет? В том и дело, что решение должно быть универсальным. Я тоже не могу просматривать все сообщения и определять что в каждом из них значимо. И даже склоняюсь к мнению, человек без опыта не сможет выделить значимую часть, значит только статистика может дать ответ на этот вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 19:12 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron Dima T Ну и второй вариант - использовать полнотекстовый поиск, искать сообщение где больше слов слов совпадет. Посложнее, но не полный перебор. А это ни чем не лутче первого варианта. Это на случай когда первый вариант невозможен. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 20:25 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron SomeAppException: Unable detect delivery address for customer XXXXXXX XXXXXXX / order #### on May 12 2020. SomeAppException: Unable detect delivery address for customer YYYYY YYYYY YYYYY YYYYY / oder ##### on Dec 21 2019. вы что их прямо так и держите в БД? они же типовые у вас все, как я понял (и вижу) ну так справочники юзайте, накой ляд так базу нагружать? exception = err_t Unable detect delivery address for customer = msg_t получится как-то так: 1 | 1 | XXXXXXX XXXXXXX / order #### on May 12 2020 далее, если дата в каждом сообщении, её тоже в отдельную колонку с типом date order #### - тоже, если можно. при такой архитектуре их совсем просто найти будет ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 22:14 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Алексей Роза, Вы не поняли совсем. Перечитайте внимательно самое первое сообщение. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 22:49 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Ну... если Kibana с этим не справилась то наверное эта постановка выходит далеко за рамки анализа логов. Надо-бы в студию образец такого сообщения. Я думаю и тогда у нас мысли появятся как искать "значимые и шумовые" строчки. Похожесть можно вычислять по разному. Тут и Левенштейн. И декартово расстояние между ключевыми словами и частотами. И бит-карта Блума. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 23:12 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron Алексей Роза, Вы не поняли совсем. Перечитайте внимательно самое первое сообщение. всё прочитано и понято именно так, как написано. Там именно то, что я написал. Также и в примере вашем именно это. Значит вы либо в примере выдали левак, либо мысль доносить не умеете и сбиваете с толку. Показывайте конкретно, где у вас там "не так". ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 00:04 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton, Вы хитрец, подливаете масла. Кибану оставим в покое — она из другой оперы. Давайте разберём методы оценки схожести. Но прежде вопрос. вы считаете что метод оценки схожести безотносителен к статистике шаблонных сообщений? Другими словами, оценка схожести двух сообщений есть функция двух переменных и независит от всего набора шаблонных сообщений? Я правильно понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 01:46 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Я не знаю. Я пока мало понимаю вашу проблему. Покажите образец лога и что надо найти. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 09:24 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton, показать настоящий лог я не могу, могу только напеть. И потом, одного сообщения будет недостаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 10:16 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton что надо найти. Первый вопрос: как бы вы определяли схожесть сообщений? Второй вопрос: как бы вы выделили эти «значимые/шумовые» строчки в сообщениях? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 10:26 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Как я вижу эту тему. ТС: Хочу найти то, не знаю что. Как это искать и где? Участники темы: Так мы же не знаем, что ты ищешь, может расскажешь нам, что тебе нужно? ТС: Я не знаю. Но вы мне скажите, как искать и где? Участники: Так а что ищешь то? ТС: Не могу сказать. Но как искать, и где? ... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 10:29 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron показать настоящий лог я не могу, могу только напеть. И потом, одного сообщения будет недостаточно. Обфусцируйте и покажите. Без этого какой либо содержательный совет дать вам невозможно, сколько бы раз вы свои вопросы не повторяли. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 10:30 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Ржавый гвоздь, Мои вопросы возможно не всем доступны но вполне конкретны - как бы вы определяли схожесть сообщений? Какой ваш ответ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 11:06 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton, имеем: 1.) набор P из ~50K "разнотипных" сообщений - представители каждого типа сообщений. 2.) сообщение M, про которое ничего не известно заранее. Hайти: Наиболее "схожие" сообщение из набора (1) в порядке убывания схожести. Или другими словами определить функцию схожести S(M, Pi), для 0 < i < N. Простор для полёта мысли не ограничен. Предлагайте, я могу опробовать и сообщу о результатах. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 12:43 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Я понял. По смыслу это похоже на кластеризацию векторов с автоматическим выделением новых центров в признаках. Тоесть мы не задаём жестко N центров а просто ищем следующий вектор который наиболее ДАЛЕКО остоит от N уже известных. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 13:36 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Нам нужен образец логов. Хотя-бы 3 разных месседжа. Понимаю что у тебя NDA и все такое. Но дальше не двинемся никуда без семплов. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 13:58 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron Я тоже не могу просматривать все сообщения и определять что в каждом из них значимо. А почему, собственно? Прочитал сообщение, увидел, что оно незначимо - пошёл и убрал его вывод из модуля, чтобы в логе оно больше никогда не появлялось. Обычная работа программиста. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 14:02 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
я полагаю потому, что у него там тот ещё бардак и месиво ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 14:13 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov mikron Я тоже не могу просматривать все сообщения и определять что в каждом из них значимо. А почему, собственно? Прочитал сообщение, увидел, что оно незначимо - пошёл и убрал его вывод из модуля, чтобы в логе оно больше никогда не появлялось. Обычная работа программиста. Скорее всего там - анализ того что случилось post-mortem. Тоесть убрать сообщние на будущее - это какой-то change-request но он не помогает решать текущий дефект. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 14:19 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron Мои вопросы возможно не всем доступны но вполне конкретны - как бы вы определяли схожесть сообщений? Какой ваш ответ? Я уже ответил на него в первом моем комментарии в этой теме. Ничего более конкретного сказать не могу, потому что вы не хотите давать дополнительных данных о вашей задаче. И, как мы видим, не я один хочу конкретику. Так что или выдавайте, или так и будете со стеной разговаривать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 14:22 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
habrГруппировка ошибок И ещё один процесс, которому следует уделить внимание, — группировка ошибок. От неё зависит, как быстро вы сможете обнаруживать наиболее критичные ошибки среди всех остальных событий. Человек, не знакомый с тем, как устроены системы обработки ошибок, может подумать, что в них используются какие-то сложные алгоритмы для определения схожести строк. Но в действительности все популярные системы используют группировку по ключу (fingerprint), потому что это просто в реализации и покрывает большинство кейсов. https://habr.com/ru/company/badoo/blog/522600 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 15:46 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Группировка по ключу не будет работать если месседж об ошибке содержит уникальный параметр (timestamp, sequemce, UUID) и тогда нужно сворачивать в вектор текстовых токенов как я предлагаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 16:09 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
параметр не решает, там все сообщения по типам как он пишет: они одинаковые по сути, только по времени разные так что их запросто можно по типу группировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 16:31 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Лучше 1 раз увидеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 16:32 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron, скажу нелицеприятно и прямолинейно. Статистика сама ничего не выявит. Ей надо знать, что важно выявлять. Ей мало формальных закорючек. Ей нужна и семантика закорючек. Как пример см. "факторный анализ". Если вам нужно универсальное решение (а в каких пределах универсальное?). И вам хочется сферической близости , однако тоже универсальной. Тогда вся теория неровных сеток, распознавания образов, нечётких множеств и статистики к вашим услугам в полном объёме. Выбирайте сами что и как оттуда взять и как настроить. В частности опробуйте Кохонена для автоматического выделения кластеров с заранее неизвестным кол-вом кластеров. Только её как-то поучить придётся на представительном объёме логов (в сферическом случае до 1/3 от всех логов). Но для этого логи вам придётся почитать лично. В конце-концов м.б. сетка сообразит чего вы от неё хотите. Увы вам, сеткам тоже трэба семантики. Ещё можете попробовать нечто, что скрывается внутри тындекса. Читайте основы. Например метод LSA. Наконец, вопрос, к-рый ещё никто не задал: "Ужели у вас там в Germany / Stuttga совсем плохо со спецами, вкл. вас лично, коли вы здесь спрашиваете и не можете пояснить компетентно заданные встречные вопросы?" P.S. На самом деле ничего противо личного не имею. Написал исключительно о вашей компетенции. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 16:58 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton Нам нужен образец логов. Хотя-бы 3 разных месседжа. Понимаю что у тебя NDA и все такое. Но дальше не двинемся никуда без семплов. Я их показать не могу . Без вариантов. Поверьте мне на слово что, 3 сообщения не дадут даже 1% всей картины. А если так, то давайте рассматривать любой произвольный лог какой-нибудь большой системы и попытаться на нём выделить кластеры. И, да, правильно, проблема кластеризации, но вопрос здесь не в том, как выделить кластеры, а в том как мерить расстояния. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 17:34 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov mikron Я тоже не могу просматривать все сообщения и определять что в каждом из них значимо. А почему, собственно? Прочитал сообщение, увидел, что оно незначимо - пошёл и убрал его вывод из модуля, чтобы в логе оно больше никогда не появлялось. Обычная работа программиста. Причин много: 1. их очень много. за день более 6 ГБ. 2. во вторых, я не могу менять сообщения. 3. они меняются сами со временем. 4. То что было неважно вчера может быть важно сегодня. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 17:42 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton Я понял. По смыслу это похоже на кластеризацию векторов с автоматическим выделением новых центров в признаках. Тоесть мы не задаём жестко N центров а просто ищем следующий вектор который наиболее ДАЛЕКО остоит от N уже известных. Нет, не совсем. Мы не ищем вектор, мы пытаемся динамически определить является ли новый полученный вектор членом одного из известных кластеров или выступает членом нового. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 17:47 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Алексей Роза я полагаю потому, что у него там тот ещё бардак и месиво Всё так и даже хуже. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 17:49 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron Алексей Роза я полагаю потому, что у него там тот ещё бардак и месиво Всё так и даже хуже. ну так у вас же своя выделенная БД, которая эти логи агрегирует (ах если бы) она же для этого и нужна, чтобы делать всё что захочешь для их анализа и агрегировать, оптимизировать, типизировать и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 18:11 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Алексей Роза параметр не решает, там все сообщения по типам как он пишет: они одинаковые по сути, только по времени разные так что их запросто можно по типу группировать. Что то вы не так поняли. Пример здесь 22216923 Тип сообщения может быть одинаковый, но сколько в нём параметров я не знаю. Другими словами мне не известен шаблон для формата "Unable detect delivery address for customer %s / oder %s on %s." ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 18:17 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Алексей Роза mikron пропущено... Всё так и даже хуже. ну так у вас же своя выделенная БД, которая эти логи агрегирует (ах если бы) она же для этого и нужна, чтобы делать всё что захочешь для их анализа и агрегировать, оптимизировать, типизировать и т.д. У вас богатое воображение. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 18:20 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
1) Разбиваем лог на лексемы 2) Считаем количество каждой лексемы в логе 3) Полученные много-много мерные векторы и кластеризуем. 4) Когда кластеризовали, при получении нового лога пытаемся определить в ближайший кластер. Если ни в один не влезает, значит родился новый кластер. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 18:23 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
В этом случае вы также увидите, что в определенной группе логов одни лексемы часто встречаются, а другие нет. Это и будут кластеры, и по этому признаку можно будет и новые логи определять. Ну и мусорные лексемы, которые незначимы для определения типа тоже увидите. Их можно будет выкидывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 18:25 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
exp98, и тем не менее вы переходите на личности. Какая вам разница, и какое это имеет отношение к вопросу, где я, как у меня со специалистами? Если я для вас не компетентен - проходите мимо. От вас я ответа не заметил. Может я чего упустил, повторите пожалуйста "компетентно заданные встречные вопросы". ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 18:37 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron mayton Нам нужен образец логов. Хотя-бы 3 разных месседжа. Понимаю что у тебя NDA и все такое. Но дальше не двинемся никуда без семплов. Я их показать не могу . Без вариантов. Поверьте мне на слово что, 3 сообщения не дадут даже 1% всей картины. А если так, то давайте рассматривать любой произвольный лог какой-нибудь большой системы и попытаться на нём выделить кластеры. И, да, правильно, проблема кластеризации, но вопрос здесь не в том, как выделить кластеры, а в том как мерить расстояния. Блин. Ты заставляешь меня идти на преступление... Выкладывать СВОИ тестовые данные и выдавать из за твои! Ну представь какой уровень натяжки получается. Я - с твоих слов создал тестовые данные! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 18:46 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Ржавый гвоздь В этом случае вы также увидите, что в определенной группе логов одни лексемы часто встречаются, а другие нет. Это и будут кластеры, и по этому признаку можно будет и новые логи определять. Ну и мусорные лексемы, которые незначимы для определения типа тоже увидите. Их можно будет выкидывать. Я-бы из логов сразу выкидывал isoDateTime, UUID, и прочее. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 18:48 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron Алексей Роза пропущено... ну так у вас же своя выделенная БД, которая эти логи агрегирует (ах если бы) она же для этого и нужна, чтобы делать всё что захочешь для их анализа и агрегировать, оптимизировать, типизировать и т.д. У вас богатое воображение. И это прекрасно Однако оно к данной теме отношения не имеет, вот ваши слова: mikron Есть небольшая база где собираются сообщения из логов одной энтерпрайзной системы. отдельная база, где агрегируются данные, сам бох велел их крутить-вертеть, чтобы удобнее было аналитить. mikron Алексей Роза параметр не решает, там все сообщения по типам как он пишет: они одинаковые по сути, только по времени разные так что их запросто можно по типу группировать. Что то вы не так поняли. Пример здесь 22216923 Тип сообщения может быть одинаковый, но сколько в нём параметров я не знаю. Другими словами мне не известен шаблон для формата "Unable detect delivery address for customer %s / oder %s on %s." И снова я всё понял именно так, как написано. Вот! мы уже пришли к тому, что ТИП у них одинаковый. А я об этом ещё на прошлой странице писал и тоже был "не так понят". Вам и не надо знать весь шаблон. Если у вас есть много сообщений с "Unable detect delivery address for customer", и ещё много с другими словами, и много с другими, то это всё уже делится по типам. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 18:49 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton Я-бы из логов сразу выкидывал isoDateTime, UUID, и прочее. Ну да, что то такое очевидное сразу можно выкинуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 18:50 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Ржавый гвоздь 1) Разбиваем лог на лексемы 2) Считаем количество каждой лексемы в логе Я даже думаю что для задачи автора веса или частоты лексемы не имеют значения. Можно просто Set[String] а потом свернуть это до биткарты. И функция расстояния будет - расстоянием Хемминга. Это упрощает расчет групп или кластеризацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 18:51 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Алексей Роза mikron У вас богатое воображение. И это прекрасно Однако оно к данной теме отношения не имеет, вот ваши слова: mikron Есть небольшая база где собираются сообщения из логов одной энтерпрайзной системы. отдельная база, где агрегируются данные, сам бох велел их крутить-вертеть, чтобы удобнее было аналитить. Цитируйте полностью, в том-же посте. mikron В базе собранны не все сообщения а так сказать только представители каждого типа ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 19:02 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron mikron В базе собранны не все сообщения а так сказать только представители каждого типа ошибок. Ну так вам это и надо. Проанализировать, как выглядят сообщения разных типов. Разве нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 19:05 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
[quot Алексей Роза#22217734] mikron mikron параметр не решает, там все сообщения по типам как он пишет: они одинаковые по сути, только по времени разные так что их запросто можно по типу группировать. Что то вы не так поняли. Пример здесь 22216923 Тип сообщения может быть одинаковый, но сколько в нём параметров я не знаю. Другими словами мне не известен шаблон для формата "Unable detect delivery address for customer %s / oder %s on %s." И снова я всё понял именно так, как написано. Вот! мы уже пришли к тому, что ТИП у них одинаковый. Вы не правы с утверждением "как он пишет: они одинаковые по сути, только по времени разные" Я этого не говорил и пример привёл показать что они отличаются не только по времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 19:07 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron exp98,....От вас я ответа не заметил. Может я чего упустил, повторите пожалуйста "компетентно заданные встречные вопросы". Угу, упустили. Перечтите внимательно мой первый пост. "Встречные вопросы" -- их полторы предшествовавших страницы. О компетентности. Здесь вам отвечали, достаточно компетентно. Неудивительно, что они интересовались сходными деталями. Только почему-то вас волнует с нашей т.зр пустяк - некая метрика,их море. Но это дело техники. А вам надо сосредоточиться на отборе семантики. Вам описывают один из методов. Только вам знать важные закорючки. Сами по себе кластеры ситуативны, если за ними не стоит семантика. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 19:46 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron Цитируйте полностью, в том-же посте. mikron В базе собранны не все сообщения а так сказать только представители каждого типа ошибок. да не смешите! 6 гб это у вас всё разные типы ошибок, ага. mikron Вы не правы с утверждением "как он пишет: они одинаковые по сути, только по времени разные" Я этого не говорил и пример привёл показать что они отличаются не только по времени. тем не менее, типизировать и группировать их всё ещё можно и нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 20:14 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Ржавый гвоздь 1) Разбиваем лог на лексемы 2) Считаем количество каждой лексемы в логе 3) Полученные много-много мерные векторы и кластеризуем. 4) Когда кластеризовали, при получении нового лога пытаемся определить в ближайший кластер. Если ни в один не влезает, значит родился новый кластер. 1) что есть лексема в нашем случае? 2) не понятно как понимать «в логе»? в сообщении? 3) как строится ваш вектор, что есть элементы вектора? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 20:30 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
1) Отдельные слова и значения 2) В сообщении 3) Значение на i позиции в векторе - количество лексем i в сообщении. Как заметил mayton, вам возможно хватит просто значений 0/1 - лексема есть или нет в логе. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 20:43 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton Я-бы из логов сразу выкидывал isoDateTime, UUID, и прочее. В сообщениях часто мелькают числовые id. Была идея выбрасывать все числа, но представьте java stacktrace, в конце стоит номер строки, а этот номер важен для идентификации. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 20:45 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron В сообщениях часто мелькают числовые id. Была идея выбрасывать все числа, но представьте java stacktrace, в конце стоит номер строки, а этот номер важен для идентификации. И тут мы снова возвращаемся к тому, что нужно анализировать сообщения, которые у вас есть, а не пытаться придумать "универсальный" метод. О чем вам уже втолковывают третью страницу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 20:57 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton Ржавый гвоздь 1) Разбиваем лог на лексемы 2) Считаем количество каждой лексемы в логе Я даже думаю что для задачи автора веса или частоты лексемы не имеют значения. Можно просто Set[String] а потом свернуть это до биткарты. И функция расстояния будет - расстоянием Хемминга. Это упрощает расчет групп или кластеризацию. Это не работает. Пусть мы разбили сообщение на лексемы L99,L5,L4,L3,L2,L1. И пусть у нас есть следующие кластеры: L40,L5,L4,L3,L2,L1 L30,L5,L4,L3,L2,L1 L20,L5,L4,L3,L2,L1 ........ L99,L98 Результатом/мин расстояние будут все кластеры L40,L30,L20. Но не L99,L98. Представте глубокий stacktrace на JBoss и станет понятно о чём я. А минимальный кластер это метод в отдельном потоке Future. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 21:03 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Значит нужно выкинуть лексемы L5,L4,L3,L2,L1, раз они не позволяют разделять кластеры, которые нужно разделить. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 21:14 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Ржавый гвоздь И тут мы снова возвращаемся к тому, что нужно анализировать сообщения, которые у вас есть, а не пытаться придумать "универсальный" метод. О чем вам уже втолковывают третью страницу. Это не значит что такого метода нет, а только то что здесь отметившиеся его не знают. упростив задачу вы примете некоторые premises и сможете решить её только для конкретного набора сообщений. Если завтра появится сообщение которое нарушает ваши premises то всё решение можно выбрасывать. Поэтому я бы не торопился с любыми предположениями относительно сообщений. В чём я более-менее уверен: семантическая единица - строка сообщения. Порядок семантических единиц важен. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 21:32 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Ну удачи вам в поиске волшебной кнопки алгоритма, который сразу сделает хорошо ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 21:36 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Ржавый гвоздь Значит нужно выкинуть лексемы L5,L4,L3,L2,L1, раз они не позволяют разделять кластеры, которые нужно разделить. Того-же мнения. mikron Как следствие подзадача вычислить или строчки, которые «уникальны» или вычислить строчки которые «шумят». Второй вопрос: как бы вы выделили эти «значимые/шумовые» строчки в сообщениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 21:37 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Наверняка среди лексем есть много причинно-следственных зависимостей. Имею ввиду иерархическое описание, т.е. графы, кусты отдельно стоящих деревьев ... В силу этого Хэмминг не годится. На сферическом графе мне видится сферическая графовая метрика . Она же отражает прич-следств связи. Поскольку некие лексемы м.б. коммутативны, нек-рые транзитивны, другие ассоциативны и т.д. Наверняка, скажем, время Т может стоять не только в начале, но и в середине и т.п., а означать разную семантику. И тогда расстояние типа Левенштейна тоже неадекватно (оно для эволюции цепочек генома). Я бы посмотрел гистограмму " методом частых множеств ". По ним по крайней мере часть графа можно строить автоматически. Часть есть в шаблонах (как я понял) - их расшифровать наверное руками. А остальное придётся вводить умозрительно. И я не читал всё, справочник типов лексем можно создать. Потом в случае вопросов сюда примеры деревьев (глисту нуклеатидов такую Г-Т-А-Г-Г-А- ...). Навернка есть что-то типа "приложение.модуль.функция.метод" По-моему из того, что уже было, добавиьт нечего. Пора собирать статистику и строить графы. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 21:57 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Несколько мыслей. 1. В данной задаче есть элемент обучения. Это связанно с тем что у нас есть учебная выборка. Это все месседжи лога которые были приняты "до того". Или до некого условного времени t. 2. В данной задаче есть некое устойчивое состояние кластеров (количеством N) уже известных месседжей которые уже были приняты до времени t. 3. Есть контрольная точка времени t. После которой мы пускаем систему в режим продолжения обнаружения кластеров. И если после времени t мы получаем новое сообщение которое НЕ КЛАССИФИЦИРУЕТСЯ. Или оно слишком не похоже на уже известные кластеры из N типов сообщений. Почему я акцентирую внимание на времени до и после? Потому что продуктовые системы - это обычно системы реального времени и у нас нет возможности сказать stop the world или каким-то образом приостановить их работу. Единственное что мы можем - это указать на оси времени некие точки фиксации чтобы разделить учебную выборку от контрольной. Если терминология непонятна - то можно учебную и контрольную выкинуть и просто заменить на периоды каких то других времен. Не исключено что в процессе работы количество кластеров будет расти что само по себе плохо. Т.к. новые кластера ухудшают избирательность системы и их надо будет чистить. Тоесть делать сброс системы в некое нулевое состояние с очисткой логов. (это наподобие log-rotate или архивирования старых логов за ненадобностью). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 22:00 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Поскольку микрон нам так и не дал логов. Давайте взглянем на сферический лог в вакууме. Не спрашивайте что он делает. Он не делает ничего. Это пустое приложение фреймворка Axon. В нем нет бизнес-логики и вообще нет ничего. Это проба. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
Что бросается в глаза? 1) Шумящие метки времени. Их надо убрать из обработки. Вот это. Код: sql 1.
2) Уровни. Что собирать? ERROR? Или WARN/INFO/DEBUG/TRACE? Я думаю надо собирать все но еще умножить количество кластеров на уровни. 3) Есть проблема в разном формате сообщений. Тут видно что собщения от ORM отпечатались в другой логгер-аппендер и поэтому имеют формат различный с основным логом. Сразу от меня возникает предложение либо привести все эти несоотвествия к единому формату. Либо писать в отдельный файловый appender (JSON)-подобного вида для упрощения задачи. По поводу Log4j2/SLf4j/JUL/JCL я подниму отдельный топик. Я думаю что не я один бодался с зоопарком логгеров. И не я один пытался унифицировать процесс старта и конфигурирования зоопарков. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 22:14 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton привести все эти несоотвествия к единому формату this. при этом ещё и разбить на отдельные колонки по типам разных кусков а вообще неплохо бы сначала определиться, а что мы хотим таки получить... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 22:37 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Это к микрону. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 22:45 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
да к нему бесполезно, чел плотно подсел на телепатию. у тебя пример абстрактный, ну вот я абстрактно говорю, что всё есть, осталось только понять, что надо. и уже от этого плясать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 23:30 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton Я - с твоих слов создал тестовые данные! И это прекрасно, Вирджиния. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 23:35 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Алексей Роза да к нему бесполезно, чел плотно подсел на телепатию. у тебя пример абстрактный, ну вот я абстрактно говорю, что всё есть, осталось только понять, что надо. и уже от этого плясать. Вот у меня конкретный лог. Были унылые сообщения. Я классифицировал их как центр кластера. Видите? Они почти одинаковы? Код: sql 1. 2. 3.
И все другие также попадают в известные кластеры. Внезапно (!) прилетает новое сообщение. И оно - не классифицируется. И mikron получает на почту алёрт с красным лопухом. "Shutting down ...." e.t.c. Код: sql 1.
Вот так я себе понимаю проблему топика. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 23:59 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton Поскольку микрон нам так и не дал логов. Давайте взглянем на сферический лог в вакууме. Этот лог весь информативный. Он ни о чём. Давайте лучше взглянем на какой нибудь публичный багтраккер где есть сообщения из логов и взглянем на те тикеты которые закрыты как дубликаты. Представим задачу так, приходит багрепорт, который содержит только сообщение об ошибке из лога. И задача определить - это новый кейс или уже известный. И как в реальном мире, ответ не просто да/нет а величина, которая отражает степень «схожести». ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 00:02 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron mayton Поскольку микрон нам так и не дал логов. Давайте взглянем на сферический лог в вакууме. Этот лог весь информативный. Он ни о чём. Давайте лучше взглянем на какой нибудь публичный багтраккер где есть сообщения из логов и взглянем на те тикеты которые закрыты как дубликаты. Я щас буду ругаться. Я тебя просил найти любой лог? Просил. Ты предоставил? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 00:10 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton Я щас буду ругаться. Я тебя просил найти любой лог? Просил. Ты предоставил? Хорошо, хорошо. Только постав лог левел в ERROR. Это справедливо, реч шла с самого начало об ошибках. Б) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 00:16 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Завтра поищу. Покедова. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 00:23 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Я валяюсь с этой темы Автору нужен "нетривиальный анализ", но он предлагает помогающим самим лазить по гитхабам в поисках тестовых данных для его задачи... Шта? Троллинг такой троллинг. И охота вам нянчиться с этим? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 11:21 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton Алексей Роза да к нему бесполезно, чел плотно подсел на телепатию. у тебя пример абстрактный, ну вот я абстрактно говорю, что всё есть, осталось только понять, что надо. и уже от этого плясать. Вот у меня конкретный лог. Были унылые сообщения. Я классифицировал их как центр кластера. Видите? Они почти одинаковы? Код: sql 1. 2. 3.
И все другие также попадают в известные кластеры. Внезапно (!) прилетает новое сообщение. И оно - не классифицируется. И mikron получает на почту алёрт с красным лопухом. "Shutting down ...." e.t.c. Код: sql 1.
Вот так я себе понимаю проблему топика. да, это если у тебя описан только ОДИН вариант, а всё остальное у тебя прилетают, как "ОГО, что-то новенькое" на самом деле там все варианты должны быть известны заранее и каждый соответственно обрабатываться (впихиваться в новую БД через свой регексп или ещё как) "Shutting down" - это тип события вполне себе. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 11:49 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Про shutting down - это была моя шутка юмора. В самом деле. Мне как и вам лень искать репрезентативные логи. А продуктовые - айайай. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 11:57 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Ржавый гвоздь Я валяюсь с этой темы Автору нужен "нетривиальный анализ", но он предлагает помогающим самим лазить по гитхабам в поисках тестовых данных для его задачи... Шта? Троллинг такой троллинг. И охота вам нянчиться с этим? :)) О какой помощи тут на форуме может идти речь? talk is cheap. Я так вижу: я предлагаю интересную тему, если кому интересно обсудить и пошевелить мозгами. Ну а если нет прохожий, проходи мимо, не мусори в топике своим ЧСВ. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 12:47 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton Про shutting down - это была моя шутка юмора. В самом деле. Мне как и вам лень искать репрезентативные логи. А продуктовые - айайай. а помнится мы на "ты" были али дистанцируешься? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 12:54 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Занятная трактовка смысла существования форума ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 12:55 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Алексей Роза mayton Про shutting down - это была моя шутка юмора. В самом деле. Мне как и вам лень искать репрезентативные логи. А продуктовые - айайай. а помнится мы на "ты" были али дистанцируешься? Ты читал "Сказку о Тройке" ? Там был такой персонаж. Хлебовводов. Так вот он разговаривал переключаясь то на "ты". То на "вы". ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 12:59 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton Несколько мыслей... 1. В данной задаче есть элемент обучения. 2. В данной задаче есть некое устойчивое состояние кластеров 3. Есть контрольная точка времени t. После которой мы пускаем систему в режим продолжения обнаружения кластеров ........... Не исключено что в процессе работы количество кластеров будет расти что само по себе плохо. Т.к. новые кластеры ухудшают избирательность системы и их надо будет чистить. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 13:09 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
В данном топике (как и во многих) не хватает самого главного. Внятных требований. Или даже не требований а юзкейса. Типа я как девопс системы X хочу получать на почту уведомления о новых и неопознанных сообщениях ошибок в логах. Образец таких сообщений - прилагается. Почему скажите мы, помогающие должны искать эти образцы. Автор должен сделать хоть чуточку усилий. А то получается что вроде как ему надо... но не сильно... Такое отношение и нас расхолаживает. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 13:13 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton Алексей Роза пропущено... а помнится мы на "ты" были али дистанцируешься? Ты читал "Сказку о Тройке" ? Там был такой персонаж. Хлебовводов. Так вот он разговаривал переключаясь то на "ты". То на "вы". не читал. он шизофреником был? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 13:13 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Алексей Роза mayton пропущено... Ты читал "Сказку о Тройке" ? Там был такой персонаж. Хлебовводов. Так вот он разговаривал переключаясь то на "ты". То на "вы". не читал. он шизофреником был? Не знаю но со стороны это было блин... как будто давление оказывал А что касается меня... то я просто забыл к кому как обращался. Сказка о Тройке— Я бы попросил! — прервал его Хлебовводов. — Ты что это нам читаете? Ты это нам роман читаете? Или водевиль? Ты, браток, анкету нам зачитываете, а получается у тебя водевиль. Лавр Федотович взял бинокль и направил на коменданта. Комендант сник. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 13:15 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
ну так то по статусу модера положено на "вы"... и путаться не будеТЕ ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 13:17 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Да забей. Ничего не положено и не покладено. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 13:19 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron :)) О какой помощи тут на форуме может идти речь? Для автора. В последний раз бесплатно предлагаю вариант решения. На сферический вопрос можно дать такой же сферичности ответ. Надеюсь, начальная классификация сообщений имеется. Далее изменение и рост классов поисходит в автоматизированномрежиме (т.е. не на полном автомате). Надеюсь, что все сообщения, а не только представители, помечены признаком класса. И имеется доступк ним ко всем. Далее технология простая, если можно так сказать. Всё делается по подобию поисковиков, только без рекламы. И метрика похожая, "полнотекстовая". Каждое сообщение превращается в лексемы и рассматривается как предложение из лексем на естественном языке. Почему на естественном? возможны омонимы, синонимы, выпадения и перестановки порядка лексем. Т.е. немного контекстно-зависимая грамматика. Сделать поисковый запрос к этому массиву. Вываливается упорядоченный список "подходящих" представителей. Первый из них самый релевантный. Если что-то новое, то да, в базу новых классов, а потом на ручное усмотрение оператора. Здесь возможны варианты. Наверняка есть десктопные поисковые приложения. Это для обкатки и отладки решения. Если у автора остались вопросы, предлагаю услугу, 4-6К$ за разработку алгоритма. По сути за ТЗ кодеру, торг уместен. Ибо алгоритм универсальный, и он затребуется в бизнесе, а закодить желающих найти нетрудно. Автору успехов. "Не нравится - проходи мимо"(цэ) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 13:41 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton В данном топике (как и во многих) не хватает самого главного. Внятных требований. Или даже не требований а юзкейса. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 13:48 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton А то получается что вроде как ему надо... но не сильно... Такое отношение и нас расхолаживает. это как хобби. Будет больше времени посмотрю bugtracker JBOSS-a для примеров. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 13:59 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
exp98 mayton В данном топике (как и во многих) не хватает самого главного. Внятных требований. Или даже не требований а юзкейса. Да что же вам ещё не понятно? Процесс описал, вопросы чётко сформулировал, на конкретном примере с bagtracker usecase показал. О чем ещё плач? Задавайте конкретные вопросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 14:10 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Хобби .... и почему же я не верю? Наверное потому, что в игровой задачке исходные данные не скрывают. И про критичность по времени не заикаются. Здесь очевидный бизнес интерес. Пусть даже и личный. Но тогда и начинать надо со слова Помогите .... а не эксплуатировать добрые порывы. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 14:15 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron Да что же вам ещё не понятно? ... Давно было сказано. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 14:17 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Вот неплохой обзор по алгоритмам кластеризации. https://towardsdatascience.com/the-5-clustering-algorithms-data-scientists-need-to-know-a36d136ef68 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 15:05 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Остался пустяк - рассказать автору как подготовить данные. Это собственно самая сложная часть задачи. И оптимизации. Подозреваю что количество записей в логах меряется миллионами. И тут без этого не обойтись. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 15:12 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Это мой последний пост (номер красивый) Я наблюдаю у нас разный уровень, культура, менталитет. Дискуссий не получается, все скатывается к позёрству и глупым нападкам. Бессмысленная бесконечная война. Мне это не нужно и жаль времени. Всем успешных баталий. IMXO Форум в таком виде, когда нельзя фильтровать/собирать оппонентов, как социальная платформа уже не актуален. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 17:13 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Из реализаций вот тут есть http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math4/ml/clustering/package-summary.html
... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 17:27 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Работает. Толкаем туда 1000 точек на плоскости с координатами (0,100) (100,0) плюс гауссовый шум с средним отклонением 30. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
При известном количестве средних он находит вот такое. 0.677541 101.093618 99.788184 2.010144 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 17:50 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mikron Это мой последний пост (номер красивый) Я наблюдаю у нас разный уровень, культура, менталитет. Дискуссий не получается, все скатывается к позёрству и глупым нападкам. Бессмысленная бесконечная война. Мне это не нужно и жаль времени. Всем успешных баталий. IMXO Форум в таком виде, когда нельзя фильтровать/собирать оппонентов, как социальная платформа уже не актуален. почаще ходи по форумам со спрятанными наглухо данными и показом ЛЕВЫХ данных а потом ной погромче, что форум говно и ничем не помог ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 18:27 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
Странный он. Вроде в форуме с 2009 года. Обидчивый. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 18:34 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
mayton Из реализаций вот тут есть KMeansPlusPlusClusterer - метод К-средних Попутно по поводу сборника логов в разных форматах: сами понимаете, вот есть Война и мир, она мультиязычна. Ну и как без словаря убедиться, что там текст не эротического содержания. По ТСу, наверное, путём статистики текста)). ТС так желал. А мы его не так понимали. Закономерный итог. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 18:50 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
exp98 mayton Из реализаций вот тут есть KMeansPlusPlusClusterer - метод К-средних Попутно по поводу сборника логов в разных форматах: сами понимаете, вот есть Война и мир, она мультиязычна. Ну и как без словаря убедиться, что там текст не эротического содержания. По ТСу, наверное, путём статистики текста)). ТС так желал. А мы его не так понимали. Закономерный итог. Я хотел развить свою идею расстояния Хемминга и сыграть на этом в плане скорости. Но для процесса кластеризации центры кластеров все равно будут вещественными. Даже если исходные векторы я сведу к бинарным значениям {1.0, 0.0} Жаль конешно что автор слился. Видимо не очень горело. Но я отдельно подниму в Java парсер логов. Для своих нужд. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 18:53 |
|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#18+
exp98 Попутно по поводу сборника логов в разных форматах: сами понимаете, вот есть Война и мир, она мультиязычна. Ну и как без словаря убедиться, что там текст не эротического содержания. По ТСу, наверное, путём статистики текста)). ТС так желал. А мы его не так понимали. Закономерный итог. Идея ТС-а не продумана делатльно как раз в юзкейсе. В этой задаче в принципе из коробки ничего работать не будет. Если даже допустить что мы убираем явно число кластеров (мы его не знаем) то для алгоритма все равно нужен криетрий останова. Для нового центра кластеров (новая ошибка) все равно нужен некий эпсилон который будет характеризовать новую ошибку. Вот жаль что автор этого не понимает. Он рассуждает так - вот дайте мне "лялю" а я уж посмотрю. Не выйдет так. Даже такой энтузиаст как я устанет на второй странице. Сил нет продумывать за кастомера все. А уже за мемберов скруля я вообще молчу. Еще чего не хватало. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 18:57 |
|
|
start [/forum/moderation_log.php?user_name=bPavel]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
13ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
184ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
107ms |
get tp. blocked users: |
1ms |
others: | 1470ms |
total: | 1853ms |
0 / 0 |