2010-12-27 3 views
3

У меня есть база данных с тысячами строк журналов ошибок и их описание. Этот журнал ошибок предназначен для приложения, работающего круглосуточно. Я хочу создать панель управления/пользовательский интерфейс, чтобы просмотреть текущие распространенные ошибки, возникающие для поддержки prodcution.Расчет сходств между предложениями

Проблема, с которой я столкнулась, состоит в том, что, несмотря на то, что существует множество распространенных ошибок, описание ошибки отличается идентификатором транскрипции или идентификатором пользователя или вещами, которые являются уникальными для этой сигль-prcoess.

например Ошибка А операций Устанавливаются Сбой пользователя 233 2. например Ошибка А операций Устанавливаются не удались для пользователя 567

Я считаю эти два erros быть одинаковыми. Поэтому я хочу программу, которая будет проходить через новые журналы ошибок и классифицировать их по группам. Я пытаюсь использовать «расстояние редактирования», но очень медленно. Поскольку у меня есть старые журналы ошибок, я пытаюсь думать о решениях, используя эту информацию. Есть предположения?

+0

Что-то на основе soundex могло бы быть полезным, возможно .... –

ответ

1

Я предполагаю, что сообщения об ошибках генерируются программой, и поэтому они, вероятно, попадают в очень специфический шаблон.

Это означает, что вам не нужно ничего делать особенно сложным. Просто проанализируйте сообщения об ошибках: используйте регулярные выражения (или, возможно, что-то более мощное), чтобы разделить сообщения на кортежи. Затем группируйте или считайте или делайте что-либо с отдельными полями. Например, вы можете сделать регулярное выражение, например: «Ошибка транзакции ([A-Z] *) не удалось для пользователя ([0-9] *)». Затем вы можете составить гистограмму кодов ошибок (первая группа захвата) или пользователей (вторая группа захвата).

+0

В настоящее время мы используем регулярное выражение, но стоимость очень велика, поэтому, чтобы найти более быстрый метод – codecreator

+0

Я думаю, что разбор регулярного выражения будет примерно таким же быстрым как вы можете получить. Это соответствие, которое занимает много времени, или это анализ после того, как вы измельчили? –

1

Существуют и другие показатели (кроме Левенштейна), которые могут быть более подходящими. Вы считали сходство с Косином?

SimMetrics - это библиотека F/OSS, которая предлагает обширную коллекцию similarity algorithms и соответствующие функции затрат.

+0

... имеет и версии .NET и Java – Mikos

Смежные вопросы