ออกแบบ AI สำหรับการวิเคราะห์ไฟล์บันทึก


12

ฉันกำลังพัฒนาเครื่องมือ AI เพื่อค้นหาข้อผิดพลาดของอุปกรณ์ที่รู้จักและค้นหารูปแบบของความล้มเหลวใหม่ ล็อกไฟล์นี้เป็นไปตามเวลาและมีข้อความที่รู้จัก (ข้อมูลและข้อผิดพลาด) ฉันกำลังใช้ไลบรารี JavaScript เหตุการณ์จะลดลงเพื่อแสดงข้อมูลในแบบที่นุ่มนวล รูปแบบและค้นหารูปแบบที่เป็นไปได้ใหม่ ฉันมีข้อกำหนดบางอย่าง:

1 - เครื่องมือจะต้องเป็น ไม่มีการพึ่งพาการติดตั้งสภาพแวดล้อมพิเศษหรือ b ยิ่งน้อยยิ่งดี (สถานการณ์ที่สมบูรณ์แบบคือการเรียกใช้เครื่องมือทั้งหมดบนเบราว์เซอร์ในโหมดสแตนด์อโลน);

2 - ความเป็นไปได้ที่จะทำให้ตัววิเคราะห์รูปแบบมีการแยกส่วนชนิดของโมดูลหนึ่งโมดูลต่อข้อผิดพลาด;

อัลกอริทึมชนิดที่แนะนำในการทำสิ่งนี้คืออะไร (โครงข่ายประสาทเทียมอัลกอริทึมพันธุกรรม ฯลฯ ) มีบางอย่างในการใช้งาน JavaScript ใช่ไหม ถ้าไม่ใช่ภาษาที่ดีที่สุดในการทำ AI นี้คืออะไร?


1
ฉันสงสัยว่าบางสิ่งที่อิงตามกฎจะเหมาะสมกว่าการเรียนรู้ด้วยเครื่อง
antlersoft

@antlersoft สำหรับปัญหาที่ทราบแล้วฉันเห็นด้วย แต่ฉันต้องการค้นหารูปแบบเพื่อสร้างความสัมพันธ์กับข้อบกพร่องด้วย
Juliano Oliveira

แนะนำ? ลองคิดดูสิ ... ใช้ regexp ไหม แนะนำให้ใช้โครงข่ายประสาทเทียมสำหรับปัญหาที่ไม่มีวิธีแก้ปัญหาโดยใช้อัลกอริธึมแบบดั้งเดิม เครือข่ายประสาทเกือบทั้งหมดได้รับข้อมูลที่ประมวลผลล่วงหน้า หากคุณ "บันทึกล่วงหน้า" บันทึกคุณจะได้รับโซลูชันของคุณด้วย
betontalpfa

คำตอบ:


9

ความสัมพันธ์ระหว่างรายการ

คำแนะนำแรกคือเพื่อให้แน่ใจว่ารายการคำเตือนและข้อมูลที่เหมาะสมในล็อกไฟล์ถูกนำเสนอพร้อมกับข้อผิดพลาดในองค์ประกอบการเรียนรู้ของเครื่องของโซลูชัน รายการบันทึกทั้งหมดอาจเป็นข้อมูลอินพุตที่มีประโยชน์หากเป็นไปได้ว่ามีความสัมพันธ์ระหว่างข้อความที่ให้ข้อมูลคำเตือนและข้อผิดพลาด บางครั้งความสัมพันธ์นั้นแข็งแกร่งและสำคัญมากที่จะเพิ่มอัตราการเรียนรู้ให้สูงสุด

ผู้ดูแลระบบมักพบสิ่งนี้เป็นชุดคำเตือนตามด้วยข้อผิดพลาดที่เกิดจากเงื่อนไขที่ระบุไว้ในคำเตือน ข้อมูลในคำเตือนเป็นตัวบ่งชี้สาเหตุของความล้มเหลวมากกว่ารายการข้อผิดพลาดที่สร้างขึ้นเป็นระบบหรือระบบย่อยล้มเหลวอย่างยิ่ง

หากมีการสร้างแดชบอร์ดความสมบูรณ์ของระบบสำหรับชิ้นส่วนของอุปกรณ์หรือเครื่องที่ทำงานร่วมกันซึ่งดูเหมือนจะเป็นกรณีของคำถามนี้สาเหตุของปัญหาและความสามารถในการเตือนล่วงหน้าคือข้อมูลสำคัญที่จะแสดง

นอกจากนี้สภาวะสุขภาพของระบบที่ไม่ดีทั้งหมดไม่ได้จบลงด้วยความล้มเหลว

รายการบันทึกเฉพาะที่ควรกำจัดโดยการกรองก่อนนำเสนอต่อกลไกการเรียนรู้คือรายการที่ไม่เกี่ยวข้องและไม่เกี่ยวข้องอย่างแน่นอน อาจเป็นกรณีนี้เมื่อไฟล์บันทึกเป็นการรวมกันของการบันทึกจากหลายระบบ ในกรณีเช่นนี้รายการสำหรับระบบอิสระที่กำลังวิเคราะห์ควรถูกแยกออกเป็นรายการแยกต่างหากจากรายการที่ไม่สามารถสัมพันธ์กับปรากฏการณ์ที่กำลังวิเคราะห์

เป็นสิ่งสำคัญที่จะต้องทราบว่าการ จำกัด การวิเคราะห์ให้กับหนึ่งรายการในแต่ละครั้งจะ จำกัด ประโยชน์ของแดชบอร์ดอย่างมาก ความสมบูรณ์ของระบบไม่เท่ากับตัวบ่งชี้ความสมบูรณ์ของรายการบันทึกล่าสุด มันไม่ได้เป็นผลรวมเชิงเส้นของตัวบ่งชี้สุขภาพของรายการ N ล่าสุด

สุขภาพของระบบนั้นมีความสัมพันธ์ที่ไม่เชิงเส้นและมีความสัมพันธ์กับหลายรายการ รูปแบบสามารถปรากฏขึ้นทีละน้อยในช่วงเวลาของวันในระบบหลายประเภท ฐาน (หรือฐาน) โครงข่ายประสาทในระบบจะต้องได้รับการฝึกอบรมเพื่อระบุสิ่งบ่งชี้ไม่เชิงเส้นของสุขภาพอันตรายที่กำลังจะเกิดขึ้นและเงื่อนไขความเสี่ยงหากต้องการแดชบอร์ดที่มีประโยชน์สูง ในการแสดงความน่าจะเป็นของความล้มเหลวที่กำลังจะเกิดขึ้นหรือปัญหาการควบคุมคุณภาพหน้าต่างเวลาทั้งหมดของรายการบันทึกที่มีความยาวพอสมควรจะต้องเข้าสู่โครงข่ายประสาทนี้

ความแตกต่างระหว่างรูปแบบที่รู้จักและไม่รู้จัก

ขอให้สังเกตว่าการระบุรูปแบบที่รู้จักนั้นแตกต่างกันในการเคารพที่สำคัญอย่างหนึ่งมากกว่าการระบุรูปแบบใหม่ ลักษณะเฉพาะของไวยากรณ์รายการของข้อผิดพลาดที่รู้จักนั้นได้รับการระบุแล้วช่วยลดภาระการเรียนรู้ในขั้นตอนการทำให้เป็นปกติของอินพุตสำหรับการประมวลผลสำหรับรายการเหล่านั้น ต้องค้นพบวากยสัมพันธ์ syntactic ของประเภทข้อผิดพลาดใหม่ก่อน

รายการประเภทที่รู้จักสามารถแยกออกจากรายการที่ไม่รู้จักทำให้สามารถใช้ประเภทรายการที่รู้จักเป็นข้อมูลการฝึกอบรมเพื่อช่วยในการเรียนรู้รูปแบบวากยสัมพันธ์ใหม่ เป้าหมายคือการนำเสนอข้อมูลที่เป็นมาตรฐานของการวิเคราะห์เชิงความหมาย

ขั้นตอนแรกของการทำให้เป็นมาตรฐานเฉพาะสำหรับไฟล์บันทึก

หากการประทับเวลาอยู่ในสถานที่เดียวกันเสมอในรายการให้แปลงเป็นมิลลิวินาทีสัมพัทธ์และอาจลบอักขระ 0x0d ใด ๆ ก่อนที่อักขระ 0x0a สามารถทำได้ก่อนสิ่งอื่นใดเป็นขั้นตอนแรกในการทำให้เป็นมาตรฐาน การติดตามสแต็กยังสามารถพับลงในอาร์เรย์ที่คั่นด้วยแท็บของระดับการติดตามเพื่อให้มีความสอดคล้องแบบหนึ่งต่อหนึ่งระหว่างรายการบันทึกและบรรทัดบันทึก

จากนั้นข้อมูลที่ซินแทคติกไลซ์ปกติที่เกิดขึ้นจากทั้งรายการที่รู้จักและไม่รู้จักของข้อผิดพลาดและรายการที่ไม่ใช่ข้อผิดพลาดสามารถถูกนำเสนอไปยังตาข่ายที่ไม่ได้รับอนุญาตสำหรับการระบุไร้เดียงสาของหมวดหมู่ของโครงสร้างความหมาย เราไม่ต้องการจัดหมวดหมู่ตัวเลขหรือตัวแปรข้อความเช่นชื่อผู้ใช้หรือหมายเลขซีเรียลส่วน

หากมีการทำเครื่องหมายข้อมูลตามปกติของ syntactically เพื่อระบุสัญลักษณ์ของตัวแปรที่มีความสำคัญเช่นจำนวน, ความจุ, เมทริกและการประทับเวลาการสกัดคุณลักษณะอาจนำไปใช้เพื่อเรียนรู้รูปแบบการแสดงออกในลักษณะที่รักษาความแตกต่างระหว่างโครงสร้างความหมายและตัวแปร การคงไว้ซึ่งความแตกต่างทำให้สามารถติดตามแนวโน้มที่ต่อเนื่อง (ไม่ต่อเนื่อง) มากขึ้นในระบบเมตริก แต่ละรายการอาจมีตัวแปรดังกล่าวเป็นศูนย์หรือมากกว่าไม่ว่าจะรู้จักการได้มาก่อนหรือเพิ่งได้มาจากการดึงคุณสมบัติ

แนวโน้มสามารถกราฟกับเวลาหรือกับจำนวนอินสแตนซ์ของประเภทเฉพาะ กราฟิกดังกล่าวสามารถช่วยในการระบุความล้าเชิงกลการเข้าใกล้สภาวะความจุเกินหรือความเสี่ยงอื่น ๆ ที่เพิ่มขึ้นถึงจุดที่ล้มเหลว มุ้งประสาทเพิ่มเติมสามารถฝึกอบรมการผลิตตัวบ่งชี้คำเตือนเมื่อแนวโน้มบ่งชี้ว่าเงื่อนไขดังกล่าวกำลังจะเกิดขึ้น

ขี้เกียจเข้าสู่ระบบ

การวิเคราะห์บันทึกทั้งหมดนี้จะถูกพิจารณาหากสถาปนิกซอฟต์แวร์และเจ้าหน้าที่เทคโนโลยีหยุดการจัดเก็บข้อมูลระบบที่สำคัญในรูปแบบการจัดเก็บเพื่อความสะดวกสบายที่แตกต่างกันของนักพัฒนาซอฟต์แวร์ โดยทั่วไปแล้วไฟล์บันทึกจะเป็นระเบียบและการแยกข้อมูลสถิติเกี่ยวกับรูปแบบในไฟล์เป็นปัญหาที่พบได้บ่อยที่สุดในการควบคุมคุณภาพซอฟต์แวร์ โอกาสที่ความเข้มงวดจะนำไปใช้ในระดับสากลกับการบันทึกมีขนาดเล็กเนื่องจากไม่มีกรอบการบันทึกที่เป็นที่นิยมใด ๆ ที่สนับสนุนความแม่นยำ นั่นเป็นสาเหตุที่ทำให้มีการดูคำถามนี้บ่อยครั้ง

ส่วนข้อกำหนดของคำถามเฉพาะนี้

ในกรณีเฉพาะที่แสดงในคำถามนี้ความต้องการ # 1 หมายถึงการตั้งค่าให้เรียกใช้การวิเคราะห์ในเบราว์เซอร์ซึ่งเป็นไปได้ แต่ไม่แนะนำ แม้ว่า ECMA เป็นภาษาสคริปต์ที่ยอดเยี่ยมและกลไกการแสดงออกปกติที่สามารถช่วยในการเรียนรู้ parsers ถูกสร้างขึ้นใน ECMA (ซึ่งสอดคล้องกับส่วนอื่น ๆ ของความต้องการ # 1 ไม่ต้องการการติดตั้งเพิ่มเติม) ภาษาที่ไม่ได้รวบรวมจะไม่เกือบ มีประสิทธิภาพเช่นเดียวกับ Java และแม้แต่ Java ก็ไม่ได้มีประสิทธิภาพเท่ากับ C เนื่องจากการรวบรวมขยะและความไร้ประสิทธิภาพที่เกิดขึ้นจากการมอบหมายการแม็พรหัสไบต์ไปยังรหัสเครื่องเพื่อให้ทำงานได้

การทดลองหลายอย่างในการเรียนรู้ของเครื่องใช้ Python เป็นภาษาที่ยอดเยี่ยมอีกภาษาหนึ่ง แต่งานส่วนใหญ่ที่ฉันทำใน Python นั้นถูกส่งไปยัง C ++ ที่มีประสิทธิภาพในการคำนวณสำหรับเกือบ 1,000 ต่อหนึ่งได้รับความเร็วในหลาย ๆ กรณี แม้แต่การค้นหาเมธอด C ++ ก็เป็นปัญหาคอขวดดังนั้นพอร์ตจึงใช้การสืบทอดน้อยมากในสไตล์ ECMA แต่เร็วกว่ามาก ในรหัสเคอร์เนลทั่วไปแบบดั้งเดิมโครงสร้าง C และการใช้ตัวชี้ฟังก์ชันกำจัดค่าใช้จ่าย vtable

ข้อกำหนดที่สองของตัวจัดการโมดูลาร์นั้นสมเหตุสมผลและแสดงถึงสภาพแวดล้อมของกฎที่ถูกกระตุ้นซึ่งหลายคนอาจถูกล่อลวงให้คิดว่าไม่สามารถทำงานร่วมกับสถาปัตยกรรม NN ได้ แต่ไม่ใช่ เมื่อมีการระบุหมวดหมู่ของรูปแบบแล้วการค้นหาสิ่งที่พบบ่อยที่สุดก่อนในข้อมูลอินพุตเพิ่มเติมนั้นจะแสดงให้เห็นถึงความแตกต่างที่ทราบ / ไม่รู้จักซึ่งฝังอยู่ในกระบวนการข้างต้นแล้ว มีความท้าทายด้วยวิธีการแยกส่วนนี้อย่างไรก็ตาม

เนื่องจากความสมบูรณ์ของระบบมักจะถูกระบุโดยแนวโน้มและไม่ใช่รายการเดียว (ตามที่กล่าวไว้ข้างต้น) และเนื่องจากความสมบูรณ์ของระบบไม่ได้เป็นผลรวมเชิงเส้นของค่าความสมบูรณ์ของแต่ละรายการวิธีการแยกส่วนเพื่อจัดการรายการไม่ควรเพียง การวิเคราะห์ นี่คือความจริงที่มุ้งประสาทจะให้ผลประโยชน์การทำงานที่ดีที่สุดในการตรวจสอบสุขภาพ ผลลัพธ์ของโมดูลจะต้องเข้าสู่โครงข่ายประสาทที่สามารถฝึกให้ระบุสิ่งบ่งชี้ไม่เชิงเส้นของสุขภาพอันตรายที่ใกล้เข้ามาและเงื่อนไขความเสี่ยง

นอกจากนี้ลักษณะของการเกิดความล้มเหลวก่อนหน้านี้แสดงให้เห็นว่าหน้าต่างเวลาทั้งหมดของรายการบันทึกที่มีความยาวพอสมควรจะต้องเข้าสู่เครือข่ายนี้ สิ่งนี้บ่งบอกถึงความไม่เหมาะสมของ ECMA หรือ Python เป็นทางเลือกสำหรับส่วนที่เข้มข้นของการคำนวณ (โปรดสังเกตว่าแนวโน้มใน Python คือการทำสิ่งที่ฉันทำกับ C ++: ใช้การออกแบบเชิงวัตถุการห่อหุ้มและง่ายต่อการติดตามรูปแบบการออกแบบสำหรับโค้ดการกำกับดูแลและรหัสคล้ายเคอร์เนลที่มีประสิทธิภาพมากสำหรับการเรียนรู้จริงและอื่น ๆ ฟังก์ชั่น.)

การเลือกอัลกอริทึม

ไม่แนะนำให้เลือกอัลกอริทึมในระยะเริ่มต้นของสถาปัตยกรรม (ดังที่บอกเป็นนัยตอนท้ายของคำถาม) ออกแบบกระบวนการก่อน กำหนดองค์ประกอบการเรียนรู้ประเภทของสิ่งที่ต้องการสถานะเป้าหมายหลังการฝึกอบรมซึ่งสามารถใช้การเสริมแรงและวิธีสร้างสัญญาณสุขภาพ / ข้อผิดพลาดเพื่อเสริมสร้าง / แก้ไขพฤติกรรมเครือข่ายที่ต้องการ ตั้งค่าการคำนวณเหล่านี้ไม่เพียง แต่ในเนื้อหาที่แสดง แต่ต้องการปริมาณงานที่ต้องการความต้องการทรัพยากรคอมพิวเตอร์และอัตราการเรียนรู้ที่มีประสิทธิภาพน้อยที่สุด อัลกอริทึมภาษาและการวางแผนกำลังการผลิตสำหรับระบบสามารถเลือกได้อย่างมีความหมายหลังจากสิ่งต่าง ๆ เหล่านี้มีการกำหนดคร่าว ๆ อย่างน้อยที่สุด

งานที่คล้ายกันในการผลิต

การแยกวิเคราะห์แบบง่าย ๆ นั้นทำงานอยู่ในห้องทดลองที่นี่ซึ่งเป็นส่วนหนึ่งของระบบเครือข่ายสังคมออนไลน์ แต่สำหรับชุดสัญลักษณ์และรูปแบบตามลำดับที่ จำกัด เท่านั้น มันสามารถปรับขนาดได้โดยไม่ต้องตั้งค่าใหม่ให้กับหน่วยภาษาศาสตร์ฐานขนาดใหญ่โดยพลการคำนำหน้าคำลงท้ายและคำต่อท้าย จำกัด โดยความสามารถของฮาร์ดแวร์และปริมาณงานของเราเท่านั้น การมีไลบรารีนิพจน์ปกติมีประโยชน์ในการออกแบบให้เรียบง่าย เราใช้ไลบรารี่รุ่น PCRE เวอร์ชัน 8 ที่เลี้ยงด้วยรูปแบบ ansiotropic ของ DCNN สำหรับการดึงคุณสมบัติจากหน้าต่างที่ย้ายผ่านข้อความอินพุตด้วยขนาดของหน้าต่างที่สามารถกำหนดค่าได้และย้ายขนาดที่เพิ่มขึ้น ฮิวริสติกที่นำไปใช้กับสถิติข้อความอินพุตที่รวบรวมในรอบแรกสร้างชุดของ PCRE สมมุติฐานที่จัดเรียงในสองชั้น

การเพิ่มประสิทธิภาพเกิดขึ้นเพื่อใช้น้ำหนักความน่าจะเป็นที่สูงขึ้นกับ PCRE ที่ดีที่สุดในการค้นหาข้อความที่ยุ่งเหยิงวุ่นวาย มันใช้กลยุทธ์คอนเวอร์เจนซ์การไล่ระดับสีเดียวกับที่ใช้ในการขยายพันธุ์กลับของเอ็นเอ็นในการฝึกอบรม มันเป็นวิธีการที่ไร้เดียงสาที่ไม่ได้ตั้งสมมติฐานเช่นการมีร่องรอยหลังไฟล์หรือข้อผิดพลาด มันจะปรับให้เข้ากับข้อความภาษาอาหรับและภาษาสเปนอย่างเท่าเทียมกัน

เอาท์พุทเป็นกราฟกำกับโดยพลการในหน่วยความจำซึ่งคล้ายกับการถ่ายโอนข้อมูลของฐานข้อมูลเชิงวัตถุ

قنبلة -> dangereux -> 4anlyss
bomba -> dangereux
ambiguïté -> 4anlyss -> préemption -> قنبلة

แม้ว่าอัลกอริทึม re-entrant สำหรับเวอร์ชันการเสริมแรงจะถูกขัดจังหวะและสัญญาณสุขภาพมีอยู่แล้วงานอื่น ๆ ได้จองล่วงหน้าต่อไป parser ปรับตัวหรือทำงานต่อในขั้นตอนต่อไปเพื่อใช้งานสำหรับภาษาธรรมชาติ: การจับคู่กราฟโดยตรงกับกราฟกำกับ ตัวกรองที่เป็นตัวแทนของความคิดซึ่งจะเลียนแบบความคิดด้านความทรงจำของความเข้าใจภาษา

ความคิดเห็นสุดท้าย

ระบบมีส่วนประกอบและสถาปัตยกรรมกระบวนการคล้ายกับปัญหาการวิเคราะห์บันทึกและพิสูจน์แนวคิดตามรายการข้างต้น แน่นอนว่ายิ่งมีความระส่ำระสายมากขึ้นในวิธีการบันทึกข้อมูลระหว่างผู้พัฒนาระบบที่ทำการบันทึกข้อมูลยิ่งยากขึ้นสำหรับตัวแทนมนุษย์หรือเอเจนต์เทียมในการแก้ปัญหารายการ การบันทึกระบบบางอย่างมีการควบคุมคุณภาพที่ไม่ดีเป็นระยะเวลานานจนเกือบจะไร้ประโยชน์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.