Thiết kế AI để phân tích tệp nhật ký


12

Tôi đang phát triển một công cụ AI để tìm lỗi của các thiết bị đã biết và tìm ra các kiểu lỗi mới. Tệp nhật ký này dựa trên thời gian và có các thông báo đã biết (thông tin và lỗi). Tôi đang sử dụng thư viện JavaScript Sự kiện rơi để hiển thị dữ liệu theo cách mềm mại, nhưng công việc thực sự của tôi và nghi ngờ là làm thế nào để đào tạo AI để tìm ra những điều đã biết mô hình và tìm mẫu mới có thể. Tôi có một số yêu cầu:

1 - Công cụ sẽ là a. không phụ thuộc vào cài đặt môi trường thêm hoặc b. càng ít càng tốt (kịch bản hoàn hảo là chạy công cụ hoàn toàn trên trình duyệt ở chế độ độc lập);

2 - Khả năng làm cho bộ phân tích mẫu bị phân mảnh, một loại mô đun, một mô-đun cho mỗi lỗi;

Các loại thuật toán được đề xuất để làm điều này (mạng thần kinh, thuật toán di truyền, vv) là gì? Tồn tại một cái gì đó để làm việc bằng cách sử dụng JavaScript? Nếu không, ngôn ngữ tốt nhất để tạo ra AI này là gì?


1
Tôi nghi ngờ một cái gì đó dựa trên quy tắc sẽ phù hợp hơn cho việc này hơn là học máy
antlersoft

@antlersoft Đối với các vấn đề đã biết, tôi đồng ý, nhưng tôi cũng muốn tìm kiếm các mẫu để tạo mối tương quan với các khuyết điểm.
Juliano Oliveira

Đề nghị? Hãy suy nghĩ ... Sử dụng regrec? Mạng lưới thần kinh được khuyến nghị cho các vấn đề không có giải pháp sử dụng thuật toán cổ điển. Hầu như tất cả các mạng thần kinh được dữ liệu xử lý trước. Nếu bạn "tiền xử lý" nhật ký, bạn cũng nhận được giải pháp của mình.
betontalpfa

Câu trả lời:


9

Tương quan giữa các mục

Đề xuất đầu tiên là đảm bảo rằng các mục thông tin và cảnh báo thích hợp trong tệp nhật ký được trình bày cùng với các lỗi trong các thành phần máy học của giải pháp. Tất cả các mục nhật ký là dữ liệu đầu vào có khả năng hữu ích nếu có thể có mối tương quan giữa các thông báo, cảnh báo và lỗi. Đôi khi sự tương quan là mạnh mẽ và do đó rất quan trọng để tối đa hóa tỷ lệ học tập.

Quản trị viên hệ thống thường gặp phải điều này khi một loạt các cảnh báo theo sau là một lỗi gây ra bởi tình trạng được chỉ ra trong các cảnh báo. Thông tin trong các cảnh báo có nhiều dấu hiệu cho thấy nguyên nhân gốc của sự thất bại so với mục lỗi được tạo khi hệ thống hoặc hệ thống con bị lỗi nghiêm trọng.

Nếu một người đang xây dựng một bảng điều khiển sức khỏe hệ thống cho một thiết bị hoặc một loạt các máy hoạt động, có vẻ như là trường hợp trong câu hỏi này, nguyên nhân gốc rễ của vấn đề và một số khả năng cảnh báo sớm là thông tin chính sẽ hiển thị.

Hơn nữa, không phải tất cả các điều kiện sức khỏe hệ thống kém đều kết thúc trong thất bại.

Các mục nhật ký duy nhất cần được loại bỏ bằng cách lọc trước khi trình bày cho cơ chế học tập là những mục chắc chắn không liên quan và không tương quan. Đây có thể là trường hợp khi tệp nhật ký là tổng hợp ghi nhật ký từ một số hệ thống. Trong trường hợp như vậy, các mục nhập cho hệ thống độc lập được phân tích nên được trích xuất dưới dạng phân lập từ các mục không thể tương quan với các hiện tượng được phân tích.

Điều quan trọng cần lưu ý là việc giới hạn phân tích đối với một mục nhập tại một thời điểm sẽ hạn chế rất nhiều tính hữu ích của bảng điều khiển. Sức khỏe của một hệ thống không bằng chỉ dẫn sức khỏe của mục nhập nhật ký gần đây nhất. Nó thậm chí không phải là tổng tuyến tính của các chỉ dẫn sức khỏe của các mục N gần đây nhất.

Sức khỏe hệ thống có mối quan hệ phụ thuộc rất phi tuyến và rất tạm thời với nhiều mục. Các mẫu có thể xuất hiện dần dần trong nhiều ngày trên nhiều loại hệ thống. Mạng lưới thần kinh cơ sở (hoặc cơ sở) trong hệ thống phải được đào tạo để xác định các chỉ dẫn sức khỏe phi tuyến này, các nguy cơ sắp xảy ra và các điều kiện rủi ro nếu muốn có bảng điều khiển rất hữu ích. Để hiển thị khả năng xảy ra sự cố sắp xảy ra hoặc sự cố kiểm soát chất lượng, toàn bộ cửa sổ thời gian của các mục nhật ký có độ dài đáng kể phải nhập mạng lưới thần kinh này.

Phân biệt giữa các mẫu đã biết và chưa biết

Lưu ý rằng việc xác định các mẫu đã biết là khác nhau ở một khía cạnh quan trọng so với việc xác định các mẫu mới. Các đặc điểm riêng của cú pháp nhập của các lỗi đã biết đã được xác định, giảm đáng kể gánh nặng học tập trong các giai đoạn chuẩn hóa đầu vào của quá trình xử lý cho các mục đó. Các đặc điểm cú pháp của các loại lỗi mới phải được phát hiện đầu tiên.

Các mục nhập của một loại đã biết cũng có thể được tách ra khỏi các mục chưa biết, cho phép sử dụng các loại mục nhập đã biết làm dữ liệu đào tạo để giúp tìm hiểu các mẫu cú pháp mới. Mục tiêu là trình bày thông tin cú pháp chuẩn hóa để phân tích ngữ nghĩa.

Giai đoạn đầu tiên chuẩn hóa cụ thể để đăng nhập tập tin

Nếu dấu thời gian luôn ở cùng một vị trí trong các mục, chuyển đổi nó thành mili giây tương đối và có thể xóa bất kỳ ký tự 0x0d nào trước các ký tự 0x0a có thể được thực hiện trước bất kỳ điều gì khác như bước đầu tiên trong quá trình chuẩn hóa. Dấu vết ngăn xếp cũng có thể được gấp lại thành các mảng được phân tách bằng tab của các mức theo dõi để có sự tương ứng một-một giữa các mục nhật ký và dòng nhật ký.

Thông tin chuẩn hóa về mặt cú pháp phát sinh từ cả các mục nhập lỗi và không xác định của các mục nhập lỗi và không xác định sau đó có thể được trình bày cho các mạng không giám sát để xác định các danh mục cấu trúc ngữ nghĩa ngây thơ. Chúng tôi không muốn phân loại số hoặc biến văn bản như tên người dùng hoặc số sê-ri một phần.

Nếu thông tin chuẩn hóa cú pháp được đánh dấu thích hợp để biểu thị các ký hiệu biến cao như số lượng, công suất, số liệu và dấu thời gian, có thể áp dụng trích xuất tính năng để tìm hiểu các mẫu biểu thức theo cách duy trì sự khác biệt giữa cấu trúc và biến số ngữ nghĩa. Duy trì sự khác biệt đó cho phép theo dõi các xu hướng liên tục hơn (ít rời rạc hơn) trong các số liệu hệ thống. Mỗi mục có thể có 0 hoặc nhiều biến như vậy, cho dù đã biết trước hoặc được mua gần đây thông qua trích xuất tính năng.

Xu hướng có thể được biểu đồ theo thời gian hoặc theo số lượng phiên bản của một loại cụ thể. Đồ họa như vậy có thể hỗ trợ trong việc xác định mệt mỏi cơ học, cách tiếp cận các điều kiện vượt quá khả năng hoặc các rủi ro khác leo thang đến điểm thất bại. Mạng lưới thần kinh hơn nữa có thể được đào tạo để tạo ra các chỉ số cảnh báo khi các xu hướng cho thấy các điều kiện như vậy đang xảy ra.

Đăng nhập lười biếng

Tất cả các phân tích nhật ký này sẽ được đưa ra nếu các kiến ​​trúc sư phần mềm và nhân viên công nghệ ngừng để lại định dạng lưu trữ thông tin hệ thống quan trọng cho các ý tưởng tiện lợi khác nhau của các nhà phát triển phần mềm. Các tệp nhật ký nói chung là một mớ hỗn độn và việc trích xuất thông tin thống kê về các mẫu trong đó là một trong những thách thức phổ biến nhất trong kiểm soát chất lượng phần mềm. Khả năng nghiêm ngặt sẽ được áp dụng phổ biến cho việc ghi nhật ký là rất nhỏ vì không có khung khai thác phổ biến nào khuyến khích sự nghiêm ngặt. Đó rất có thể là lý do tại sao câu hỏi này đã được xem thường xuyên.

Phần yêu cầu của câu hỏi cụ thể này

Trong trường hợp cụ thể được trình bày trong câu hỏi này, yêu cầu số 1 chỉ ra một ưu tiên để chạy phân tích trong trình duyệt, điều này có thể nhưng không được khuyến nghị. Mặc dù ECMA là một ngôn ngữ kịch bản tuyệt vời và bộ máy biểu thức chính quy có thể trợ giúp trong việc học các trình phân tích cú pháp được tích hợp vào ECMA (tuân thủ phần khác của yêu cầu số 1, không yêu cầu cài đặt bổ sung) các ngôn ngữ chưa được biên dịch không gần như hiệu quả như Java. Và thậm chí Java không hiệu quả như C vì thu gom rác và sự thiếu hiệu quả xảy ra bằng cách ủy quyền ánh xạ mã byte cho mã máy để chạy thời gian.

Nhiều thử nghiệm trong học máy sử dụng Python, một ngôn ngữ tuyệt vời khác, nhưng hầu hết các công việc tôi đã làm trong Python sau đó đã được chuyển sang C ++ hiệu quả tính toán với tốc độ gần 1.000 đến một tốc độ trong nhiều trường hợp. Ngay cả việc tra cứu phương thức C ++ cũng là một nút cổ chai, vì vậy các cổng sử dụng rất ít sự kế thừa, theo kiểu ECMA, nhưng nhanh hơn nhiều. Trong mã hạt nhân điển hình truyền thống, cấu trúc C và con trỏ hàm sử dụng loại bỏ chi phí vtable.

Yêu cầu thứ hai của các trình xử lý mô-đun là hợp lý và ngụ ý một môi trường quy tắc được kích hoạt mà nhiều người có thể bị cho là không tương thích với các kiến ​​trúc NN, nhưng thực tế không phải vậy. Khi các danh mục mẫu đã được xác định, việc tìm kiếm các loại phổ biến nhất trước tiên trong dữ liệu đầu vào tiếp theo đã được ngụ ý trong phân biệt đã biết / chưa biết đã được nhúng vào quy trình ở trên. Tuy nhiên, có một thách thức với phương pháp mô-đun này.

Bởi vì sức khỏe hệ thống thường được biểu thị theo xu hướng và không phải là các mục đơn lẻ (như đã thảo luận ở trên) và vì sức khỏe hệ thống không phải là tổng tuyến tính của giá trị sức khỏe của các mục riêng lẻ, nên không nên tiếp cận mô đun để xử lý các mục phân tích. Đây là thực tế nơi mạng lưới thần kinh sẽ cung cấp lợi ích chức năng lớn nhất trong theo dõi sức khỏe. Đầu ra của các mô-đun phải vào một mạng lưới thần kinh có thể được đào tạo để xác định các chỉ dẫn phi tuyến này về sức khỏe, các nguy cơ sắp xảy ra và các điều kiện rủi ro.

Hơn nữa, khía cạnh tạm thời của hành vi tiền thất bại ngụ ý rằng toàn bộ cửa sổ thời gian của các mục nhật ký có độ dài đáng kể phải vào mạng này. Điều này tiếp tục ngụ ý sự không phù hợp của ECMA hoặc Python như là một lựa chọn cho phần tính toán chuyên sâu của giải pháp. (Lưu ý rằng xu hướng trong Python là làm những gì tôi làm với C ++: Sử dụng thiết kế hướng đối tượng, đóng gói và dễ theo dõi các mẫu thiết kế cho mã giám sát và mã giống như hạt nhân tính toán rất hiệu quả cho việc học thực tế và chuyên sâu về tính toán hoặc dữ liệu khác chức năng.)

Chọn thuật toán

Không nên chọn thuật toán trong các giai đoạn ban đầu của kiến ​​trúc (như đã được ngụ ý ở cuối câu hỏi). Kiến trúc sư xử lý trước. Xác định các thành phần học tập, loại chúng cần thiết, trạng thái mục tiêu của chúng sau khi đào tạo, nơi có thể sử dụng cốt thép và cách tạo ra tín hiệu sức khỏe / lỗi để củng cố / điều chỉnh hành vi mạng mong muốn. Dựa trên những quyết định này không chỉ dựa trên nội dung hiển thị mong muốn mà còn dựa trên thông lượng dự kiến, yêu cầu tài nguyên điện toán và tỷ lệ học tập hiệu quả tối thiểu. Các thuật toán, ngôn ngữ và lập kế hoạch năng lực cho hệ thống chỉ có thể được chọn một cách có ý nghĩa sau khi tất cả những điều đó ít nhất được định nghĩa đại khái.

Công việc tương tự trong sản xuất

Phân tích cú pháp thích ứng đơn giản đang chạy trong phòng thí nghiệm ở đây như là một phần của tự động hóa mạng xã hội, nhưng chỉ dành cho các bộ ký hiệu và mẫu liên tiếp hạn chế. Nó không mở rộng quy mô mà không cấu hình lại thành một đơn vị ngôn ngữ cơ sở lớn, tiền tố, kết thúc và hậu tố, chỉ bị giới hạn bởi năng lực và thông lượng phần cứng của chúng tôi. Sự tồn tại của các thư viện biểu thức chính quy là hữu ích để giữ cho thiết kế đơn giản. Chúng tôi sử dụng thư viện sê-ri PCRE phiên bản 8 được cung cấp bởi hình thức DCNN ansiotropic để trích xuất tính năng từ một cửa sổ di chuyển qua văn bản đầu vào với kích thước cửa sổ có thể định cấu hình và di chuyển kích thước tăng dần. Heuristic áp dụng cho thống kê văn bản đầu vào được thu thập trong lần đầu tiên tạo ra một bộ PCRE giả định được sắp xếp thành hai lớp.

Tối ưu hóa xảy ra để áp dụng trọng số xác suất cao hơn cho các PCRE tốt nhất trong tìm kiếm văn bản bị xáo trộn hỗn loạn. Nó sử dụng các chiến lược hội tụ giảm dần độ dốc tương tự được sử dụng trong truyền bá trở lại NN trong đào tạo. Đó là một cách tiếp cận ngây thơ không đưa ra các giả định như sự tồn tại của dấu vết ngược, tệp hoặc lỗi. Nó sẽ thích ứng như nhau với các tin nhắn tiếng Ả Rập và tiếng Tây Ban Nha.

Đầu ra là một biểu đồ được định hướng tùy ý trong bộ nhớ, tương tự như kết xuất của cơ sở dữ liệu hướng đối tượng.

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

Mặc dù thuật toán đăng ký lại cho phiên bản gia cố đã bị loại bỏ và tín hiệu sức khỏe đã có sẵn, công việc khác đã ưu tiên tiếp tục trình phân tích cú pháp thích ứng hoặc làm việc theo bước tiếp theo để sử dụng công việc cho ngôn ngữ tự nhiên: Ghép các biểu đồ có hướng các bộ lọc đại diện cho các ý tưởng, sẽ bắt chước khía cạnh hồi ức ý tưởng của sự hiểu ngôn ngữ.

Nhận xét cuối cùng

Hệ thống có các thành phần và kiến ​​trúc quy trình tương tự như vấn đề phân tích nhật ký và chứng minh các khái niệm được liệt kê ở trên. Tất nhiên, càng vô tổ chức trong cách ghi nhật ký giữa các nhà phát triển hệ thống thực hiện việc ghi nhật ký, thì càng khó khăn hơn cho một tác nhân người hoặc nhân tạo để phân tán các mục. Một số nhật ký hệ thống đã bị kiểm soát chất lượng quá kém trong thời gian dài đến nỗi nhật ký gần như vô dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.