|
Нетривиальная задача анализа текстовых сообщений
|
|||
---|---|---|---|
#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 |
|
|
start [/forum/topic.php?fid=16&msg=40010286&tid=1339719]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
159ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 285ms |
0 / 0 |