5 ỨNG DỤNG PHÁT HIỆN DỮ LIỆU NGOẠI LAI
5.1.2 Kiến trúc hệ thống
Hình 5.1: Kiến trúc hệ thống ứng dụng web
Ứng dụng phát hiện gian lận được xây dựng trên nền ứng dụng web dựa trên kiến trúc MVC (Model - View - Control) cổ điển kết hợp với mơ hình phát hiện giao dịch ngoại lai. Nói về kiến trúc MVC như Hình 5.2. Kiến trúc MVC là một kiến trúc vô cùng phổ biến và được ưa chuộng trong việc xây dựng ứng dụng web. MVC là đại diện cho mơ hình (Model), khung nhìn (View), bộ điều khiển (Controller). Chúng tơi giới thiệu về từng thành phần bên trong kiến trúc.
5.1. Ứng dụng phát hiện giao dịch gian lận trong thị trường tài chính Mơ hình (Model)
Làm việc với dữ liệu của ứng dụng.
Chịu trách nhiệm quản lý dữ liệu, luận lý và những quy tắc của ứng dụng.
Khung nhìn (View)
Xử lý phía giao diện(User Interface) cho người dùng có thể xem (html, css, js).
Chịu trách nhiệm đính kèm và kích hoạt những sự kiện từ phía người dùng. Và việc xử lý những sự kiện ấy sẽ được bộ điều khiển đảm nhiệm.
Bộ điều khiển (Controller)
Xử lý sự kiện được kích hoạt từ phía người dùng và hoạt động như một cầu nối trung gian giữa khung nhìn và mơ hình.
Cung cấp nhiều hàm chức năng dựa trên sự kiện được kích hoạt, giao tiếp với mơ hình để thực hiện việc đọc và cập nhật dữ liệu, sau đó trả dữ liệu về, để khung nhìn hiển thị chúng lên cho người dùng xem.
Hình 5.3: Cơ chế hoạt động của kiến trúc MVC
5.1. Ứng dụng phát hiện giao dịch gian lận trong thị trường tài chính Mơ hình (Model): Đây là phần trung gian chịu trách nhiệm xử lý giữa
phần khung nhìn và xử lý dữ liệu ở tầng dưới (back-end).
Khung nhìn (View): chịu trách nhiệm hiển thị giao diện cho phía người
dùng.
Bộ điều khiển (Controller): Thực hiện việc xử lý luận lý ở phía tầng dưới.
Giả sử, khi một giao dịch được gửi từ phía khách hàng, giao dịch sẽ được xử lý và lưu xuống cơ sở dữ liệu. Sau đó trả về cho phía khách hàng một phản hồi (response).
Mơ hình AI (AI Model): chính là AI core của luận văn, được nhóm xây
dựng và đưa vào sử dụng trong thực tế. Hệ thống sẽ nhận vào một giao dịch và dự đốn xem giao dịch này có gian lận hay là khơng!
5.1.3 Công nghệ sử dụng Ngôn ngữ lập trình
Hệ thống được hiện thực dựa trên hai ngơn ngữ lập trình chính:
Máy chủ (Server): Chúng tơi sử dụng Python và Java. Python được sử dụng cho việc huấn luyện mơ hình AI. Trong khi đó, Javalà một trong những ngơn ngữ hỗ trợ rất mạnh ở khía cạnh máy chủ (Server) cho hệ thống. Vì lý do này, mà chúng tơi quyết định sử dụng hai ngôn ngữ này.
Giao diện: Framework mã nguồn mở Angular. Đây là một framework kỹ thuật, mã nguồn mở, được sử dụng để xây dựng các ứng dụng một trang (single page application). Các lập trình viên cũng sử dụng nó để tạo các menu động cho các trang web HTML. Framework này là sản phẩm trí tuệ của các kỹ sư Google. Và được sử dụng vô cùng rộng rãi trong công nghiệp phần mềm.
Frameworks
Angular là mộtJavascript framework do Google phát triển để xây dựng các ứng dụng một trang (single page application) bằng JavaScript, HTMLvà TypeScript. Angular cung cấp các tính năng tích hợp cho hoạt hình (animation), dịch vụ http và có các tính năng như tự động điền (auto-complete), chuyển đường
5.1. Ứng dụng phát hiện giao dịch gian lận trong thị trường tài chính
(navigation), thanh cơng cụ (toolbar),... Code được viết bằng TypeScript, biên dịch thành JavaScript và hiển thị tương tự trong trình duyệt.
Spring boot - Spring Data Spring Boot là một dự án phát triển bởi JAVA trong hệ sinh thái Spring framework. Nó giúp cho các lập trình viên chúng ta đơn giản hóa q trình lập trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển business cho ứng dụng. Hệ sinh thái của Spring vô cùng đa dạng, ở đây chúng tôi sử dụng Spring Data và Spring Core để hỗ trợ việc xây dựng ứng dụng web một cách dễ dàng, đơn giản và nhanh nhất.
Cơ sở dữ liệu
MongoDB là một cơ sở dữ liệu hướng tài liệu (document), một dạng cơ sở dữ liệu NoSQL. Vì thế, MongoDB sẽ tránh cấu trúc nền bảng của cơ sở dữ liệu quan hệ, để thích ứng với các tài liệu như JSON có một lượt đồ rất linh hoạt gọi là BSON. MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi một tập hợp (collection) sẽ có kích cỡ và các document khác nhau. Các dữ liệu được lưu trữ trong document kiểu JSON nên truy vấn sẽ rất nhanh.
5.1.4 Một số giao diện ứng dụng
Màn hình chính gồm thông tin mô tả về ứng dụng, thông tin thành viên xây dựng ứng dụng.
5.1. Ứng dụng phát hiện giao dịch gian lận trong thị trường tài chính
Giao diện trong Hình 5.5 là màn hình PREDICTION, gồm thơng tin những tập giao dịch chuẩn bị được dự đoán. Sau khi nhấn nút "PREDICT", hệ thống sẽ thực hiện xử lý tập giao dịch trên và đưa ra kết quả ngay bên dưới cùng với một biểu đồ thể hiện tỷ lệ giao dịch bình thường và bất thường.
Hình 5.5: Giao diện màn hình PREDICTION
Sau khi dự đốn, người dùng có thể xem lại kết quả dự đốn như ở màn hình HISTORY PREDICTION có giao diện như Hình 5.6.
6 TỔNG KẾT
6.1 Kết quả đạt được
Trong q trình tìm hiểu và nghiên cứu, nhóm đã thu được một số kết quả như sau:
Tìm hiểu về bài tốn phát hiện ngoại lai và nền tảng giải thuật SVM trong bài toán phát hiện ngoại lai.
Bước tiếp theo hướng tiếp cận truyền thống, nhóm có tham khảo, kết hợp và sử dụng mạng nơ-ron trong mơ hình, nhằm tăng thời gian huấn luyện và hiệu suất của mơ hình.
Nhóm cũng thực hiện mơ phỏng bài tốn trong ngữ cảnh thực tế.
Với những kết quả đạt được ở trên, tuy vẫn còn nhiều vấn đề và hạn chế, song, nhóm đã hồn thành những nhiệm vụ và mục tiêu đã được đề ra.
6.2 Thách thức và khó khăn
Trong q trình thực hiện luận văn này, nhóm gặp một số hạn chế sau: Mơ hình tập trung vào một case-study cụ thể, tính tái sử dụng chưa cao vì phải thực hiện chỉnh sửa để phù hợp với từng loại đối tượng dữ liệu.