2014-12-15 5 views
3

Я работаю над проблемой поиска подобного содержимого в файле журнала. Скажем, у меня есть файл журнала, который выглядит следующим образом:Текстовая кластеризация в файле журнала

show version 
Operating System (OS) Software 

Software 
BIOS:  version 1.0.10 
loader: version N/A 
kickstart: version 4.2(7b) 
system: version 4.2(7b) 
BIOS compile time:  01/08/09 
kickstart image file is: bootflash:/m9500-sf2ek9-kickstart-mz.4.2.7b.bin 
kickstart compile time: 8/16/2010 13:00:00 [09/29/2010 23:10:48] 
system image file is: bootflash:/m9500-sf2ek9-mz.4.2.7b.bin 
system compile time:  8/16/2010 13:00:00 [09/30/2010 00:46:36]` 

Hardware 
xxxx MDS 9509 (9 Slot) Chassis ("xxxxxxx/xxxxx-2") 
xxxxxxx, xxxx with 1033100 kB of memory. 
Processor Board ID xxxx 

Device name: xxx-xxx-1 
bootflash: 1000440 kB 
slot0:    0 kB (expansion flash) 

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

+0

Можете ли вы определить проблему лучше? Что именно вы хотите получить? – PureW

ответ

1

я вижу на самом деле два отдельных проблем машинного обучения:

1) Если я правильно вас понял, первую проблему вы хотите решить это проблему расколоть каждое бревно в отдельной секции, так что для аппаратных средств, один для программного обеспечения и т. д.

Для этого можно попытаться извлечь заголовок, обозначающий начало нового раздела. Для этого вы можете вручную наметить набор различных журналов и пометить каждую строку как заголовок = истина, заголовок = ложь

Нет, вы не могли бы попытаться обучить классификатор, который берет ваши помеченные данные в качестве ввода, и результат может быть моделью.

2) Теперь, когда у вас есть эти разные разделы, вы можете разделить каждый журнал на этот раздел и рассматривать каждый раздел как отдельный документ.

Теперь я бы первый попробовать с прямыми вперед кластеризация документов с использованием стандартного NLP трубопровода:

  1. разметить документ, чтобы получить жетоны
  2. Нормализация их (возможно, вытекающих не лучшая идея для бревен)
  3. Создать для каждого документа ТФ-IDF вектора
  4. Начнет с простым алгоритмом кластеризации, как к-средства, чтобы попытаться кластерными другому раздел

После кластеризации у вас должен быть раздел, похожий друг на друга в том же кластере

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

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