Günlük dosyası analizi: değer kısmını bilgi bölümünden ayıklama


10

Ürünlerimizden birinin birkaç günlük dosyası üzerinde veri kümesi oluşturmaya çalışıyorum.

Farklı günlük dosyalarının kendi düzeni ve içeriği vardır; Onları başarıyla grupladım, sadece bir adım kaldı ...

Gerçekten, günlük "mesajlar" en iyi bilgidir. Tüm bu mesajların kapsamlı bir listesine sahip değilim ve bu liste her gün değişebilir çünkü bu dayalı sabit kod için kötü bir fikir.

Ne yapmak istiyorum, kimlik metnini değer metninden ayırmaktır (örneğin: "Yüklenen dosya XXX" olur (tanımlama: "Yüklenen dosya", değer: "XXX")). Ne yazık ki, bu örnek basittir ve gerçek dünyada farklı düzenler ve bazen birden fazla değer vardır.

Ben dize çekirdekleri kullanmayı düşünüyordum, ama kümeleme için tasarlanmıştır ... ve kümeleme burada geçerli değildir (farklı mesaj türlerinin sayısını bilmiyorum ve sonunda, çok fazla olurdu).

Herhangi bir fikrin var mı?

Yardımın için teşekkürler.

Not: Program yapanlar için bunu anlamak daha kolay olabilir. Kodun logf ("blabla% s", "xxx") olarak içerdiğini varsayalım -> "blabla" ve "xxx" ayrılmış olmak istiyorum


Algoritmanın ayrıştırılması gereken öğelerin çeşitliliğini gösteren temsili örnekler sunabilir misiniz?
Emre

2
Bunu yapmanın yüz yolu var. Bunu yapmak için hangi araçlara veya dile ihtiyacınız olduğuna dair bir fikir verin. Bunun bir veri bilimi yönü var mı? sadece günlük ayrıştırma gibi görünüyor.
Sean Owen

Yanıtlar:


3

Her dizeyi bir işlem izleme olarak düşünmeye ve alfa algoritması uygulamaya ne dersiniz? Bu size bir grafik verir ve çok sayıda dış kenarı olan düğümler büyük olasılıkla değerlere işaret eder.

Bu düğümleri işaretleyebilir ve her yeni dize için, bu alanlara ulaşıncaya kadar grafiği ayrıştırabilir / çaprazlayabilirsiniz.


Çok teşekkürler. Alfa algoritmalarını bilmiyordum. Bu yönde kontrol edeceğim.
Michael Hooreman

2

Bu bir Veri Bilimi sorunu gibi görünmüyor. Ancak tam olarak bunu yapmak için çok güzel araçlar var, ödeme: logstash, flume ve akıcı. Aslında ElastichSearch ( http://www.elasticsearch.org/overview/kibana ) ' dan hızlı ve "akıllı" bir şekilde ödeme Kibana filtrelemek istiyorsanız . Bu araçlar sorununuzu çok verimli bir şekilde çözmek için yeterlidir.


Benim düşünceme göre bu özellik çıkarımı veri biliminin bir parçası. Eh, bu sadece bir görüş ;-) Daha çok, kolay standart günlük dosyaları değil, çok özel bir yazılımdan özel olanlar hakkında konuşuyorum. Yani, bu gerçekten bağlam «cümleler» bilgi
ayıklanıyor

1

Sadece metinsel ve sayısal bilgileri ayırmaya çalışıyorsanız, normal ifadelere veya hatta dize bölünmesine dayanan bir çözüm var.

İlk sayısal karakteri bulmak ve metni ondan hemen önce ikiye bölmek gibi bir şey bile yapabilirsiniz.

Normal ifadelerle birbirini takip eden tüm sayısal karakterlerle eşleşebilirsiniz. Desen ([0-9]+)küresel bir bayrakla olacaktı. Tüm sayı gruplarıyla eşleşir ve daha sonra onlarla ne yaparsanız yapın.

Regex Tester bu şeylerle oynamak için iyidir.


Teşekkürler Laurik. Ne yazık ki sadece rakamlar değil, gelecekteki mesajların ne olacağını da bilmiyorum. Gerçekten yapay zekaya ihtiyacım var.
Michael Hooreman
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.