Đặt vấn đề Hiện nay, sự phát triển mạnh mẽ cuộc Cách mạng công nghiệp 4.0 đã mở ra cơ hội lớn cho việc nghiên cứu và phát triển các ứng dụng Trí tuệ nhân tạo (Artificial Intelligence - AI). AI được coi là một công nghệ then chốt nhằm nâng cao tính tự động hoá, tăng hiệu suất xử lý và dần thay thế con người trong nhiều công việc đặc thù. Theo thống kê [1], doanh thu của lĩnh vực AI trên toàn cầu đã đạt 156,5 tỷ USD trong năm 2020, và tiếp tục tăng trong các năm tiếp theo. Để giúp cho các ứng dụng trí tuệ nhân tạo gia tăng tính chính xác và mức độ hiệu quả, các nhà phát triển cần một lượng lớn các tập dữ liệu đầu vào và các nhãn chú thích của chúng.
Phần dữ liệu mô tả này, sau đó sẽ được sử dụng để huấn luyện các mô hình học máy cũng như việc đánh giá hiệu quả của hệ thống. Hiện nay, các tập dữ liệu thô có số lượng rất lớn, tuy vậy lượng dữ liệu được gán nhãn chỉ chiếm một phần nhỏ. Việc xây dựng những bộ dữ liệu gán nhãn đòi hỏi một khối lượng lớn công sức và thời gian, khiến nó trở thành một rào cản đối với mọi nhà phát triển ứng dụng Trí tuệ nhân taọ. Để giải quyết vấn đề này, họ có thể tự đầu tư, xây dựng bộ dữ liệu gán nhãn.
Tuy nhiên, tính khả thi của giải pháp này không cao bởi hạn chế về nguồn lực hiện có, cũng như việc sử dụng lượng lớn lao động chỉ cho một giai đoạn cụ thể. Một lựa chọn khác là tìm đến sự hỗ trợ của lực lượng lao động tự do - freelancer trong việc gán nhãn dữ liệu. Crowdsourcing (tìm kiếm nguồn lực từ đám đông) [2] là một mô hình tìm kiếm nguồn nhân lực, trong đó một cá nhân hoặc tổ chức kêu gọi sự tham gia thực hiện của cộng đồng thông qua mạng Internet để giải quyết một công việc nào đó. Các công việc được hỗ trợ rất đa dạng như lập trình, thiết kế ý tưởng, thiết kế logo, khảo sát ý kiến, v.
Người tham gia hỗ trợ có thể nhận được các phần thưởng từ người kêu gọi cho phần công việc thực hiện.Với khả năng kết nối mạnh mẽ, thuận tiện đến một lượng lớn nhân lực tự do, crowsourcing là một hình thức phù hợp để triển khai các công việc cần thực hiện trong khoảng thời gian ngắn, có khối lượng công việc lớn, hay không định kỳ. Chính vì vậy, mô hình này hoàn toàn phù hợp để áp dụng cho bài toán gán nhãn dữ liệu. Hiện nay ở Việt Nam, cũng đã có một số hệ thống crowdsourcing, nhưng chưa có một hệ thống nào hỗ trợ thuận tiện cho bài toán gán nhãn dữ liệu. Nhận thấy được các vấn đề trên, đồ án này sẽ trình bày việc xây dựng một hệ thống crowdsourcing, giúp kết nối những người cần thuê gán nhãn dữ liệu (người yêu cầu) và những người thực hiện gán nhãn dữ liệu (người lao động).
Hệ thống cung 1 cấp các cơ chế như tổng hợp kết quả, đánh giá chất lượng công việc của người lao động. Trong giới hạn thời gian thực hiện đồ án, hệ thống hiện đưa ra giải pháp cho ba bài toán bao gồm phân loại ảnh, phát hiện đối tượng và phân đoạn ngữ nghĩa. Lý do lựa chọn ba bài toán này vì chúng có sự tương đồng và là những mũi nhọn nghiên cứu trong lĩnh vực Trí tuệ nhân tạo.2 Mô tả đề tài Hệ thống là một trang web cho phép kết nối người cần thuê gán nhãn dữ liệu (requester) và người lao động (worker). Các chức năng chính hệ thống cung cấp bao gồm: đăng công việc gán nhãn; tìm kiếm công việc; quản lý, tổng hợp, đánh giá kết quả gán nhãn; đánh giá chất lượng làm việc của người gán nhãn.
Ngoài ra, hệ thống cũng cung cấp các công cụ hỗ trợ cho việc gán nhãn dữ liệu, nhằm giảm thiểu công sức của người lao động và gia tăng độ chính xác. Ba bài toán mà hệ thống hỗ trợ: - Object detection (Phát hiện đối tượng): Xác định vị trí hiện diện của các đối tượng trong các hình hộp giới hạn theo các nhãn khác nhau. Hệ thống hỗ trợ worker các công cụ như phóng to, thu nhỏ, di chuyển, thay đổi độ tương phản, độ sáng của ảnh; vẽ, xoá, ẩn, hiện đường bao quanh đối tượng; hoàn tác thao tác; sử dụng mô hình AI có sẵn để tạo ra các đường bao. - Semantic segmentation (Phân đoạn ngữ nghĩa): Xác định các đối tượng bằng đường bao quanh của chúng sử dụng những nhãn cho trước.
Hệ thống hỗ trợ worker tương tự như bài toán Object detection. - Image classification (Phân loại ảnh): Xác định nhãn của bức ảnh là gì. Hệ thống hỗ trợ worker các công cụ như phóng to, thu nhỏ, di chuyển ảnh. Một công việc do requester tạo sẽ được hệ thống phân chia thành nhiều phân công công việc, giao cho mỗi worker một phần việc.
Mỗi phân công gồm nhiều bức ảnh cần được gán nhãn. Ngoài ra, một phân công có thể được giao cho nhiều người cùng thực hiện để tăng độ tin cậy về kết quả.3 Bố cục tổng quan Đồ án bao gồm 5 chương có nội dung như sau: Chương 1: Trình bày thực trạng thiếu hụt nguồn dữ liệu được gán nhãn trong các hệ thống trí tuệ nhân tạo, nguyên nhân của vấn đề này. Từ đó đưa ra giải pháp để giải quyết vấn đề trên. Chương 2: Phân tích yêu cầu của hệ thống, bao gồm các đối tượng sử dụng, quy trình nghiệp vụ, biểu đồ hoạt động, biểu đồ ca sử dụng, đặc tả ca sử dụng và các yêu cầu phi chức năng của hệ thống.
2 Chương 3: Thiết kết hệ thống, bao gồm các biểu đồ mô hình hoá cấu trúc, mô hình hoá sự tương tác, thiết kế chi tiết lớp, cơ sở dữ liệu, thiết kế giao diện, kiến trúc hệ thống và các bài toán được hỗ trợ. Chương 4: Các công nghệ mà hệ thống sử dụng, trình bày chi tiết các bài toán, đánh giá hiệu năng của hệ thống và kết quả đạt được. Chương 5: Trình bày kết luận, những gì đã làm được, chưa làm được của đồ án và đưa ra hướng phát triển trong tương lai. PHÂN TÍCH HỆ THỐNG 2.1 Các tác nhân Hệ thống có 4 tác nhân là Guest, Requester, Worker, Admin.
• Guest là người truy cập vào hệ thống nhưng chưa đăng nhập. Sau khi đăng nhập thành công Guest sẽ trở thành Requester, Worker, Admin tương ứng với vai trò của mình. • Requester là người thuê gán nhãn dữ liệu. • Worker là người thực hiện gán nhãn dữ liệu.
• Admin là người quản trị hệ thống, có quyền xoá tài khoản, xoá công việc, xoá bình luận.2 Biểu đồ ca sử dụng Biểu đồ ca sử dụng tổng quan Hình 2.1 Biểu đồ ca sử dụng tổng quan 4 Biểu đồ phân rã ca sử dụng Requester quản lý công việc Hình 2.2 Biểu đồ phân rã ca sử dụng Requester quản lý công việc Biểu đồ phân rã ca sử dụng Tìm kiếm worker Hình 2.3 Biểu đồ phân rã ca sử dụng Tìm kiếm worker 4 Biểu đồ phân rã ca sử dụng Tìm việc làm Hình 2.4 Biểu đồ phân rã ca sử dụng Tìm việc làm 2.3 Đặc tả ca sử dụng Ca sử dụng UC01: Đăng ký Mã usecase UC01 Tên usecase Đăng ký Tác nhân Guest Mục đích sử dụng Đăng ký để tạo tài khoản người dùng mới Sự kiện kích hoạt Khi click vào button "Đăng ký" Tiền điều kiện Không 5 Luồng sự kiện STT Thực hiện Hành động chính 1. Guest Chọn chức năng đăng ký 2. Hệ thống Hiển thị màn hình đăng ký 3. Guest Nhập thông tin (mô tả phía dưới *) 4.
Guest Yêu cầu đăng ký 5. Hệ thống Kiểm tra xem Guest đã nhập hợp lệ các trường bắt buộc nhập hay chưa. Kiểm tra email đã tồn tại hay chưa 6. Hệ thống Tạo tài khoản, trả về thông báo thành công Luồng sự kiện STT Thực hiện Hành động thay thế 5a.
Hệ thống Thông báo lỗi: Cần nhập các trường bắt buộc nhập nếu Guest nhập thiếu 5b. Hệ thống Thông báo lỗi: Các trường nhập không đúng định dạng 5c. Hệ thống Thông báo lỗi: Email đã tồn tại 6a. Hệ thống Tạo tài khoản lỗi: Thông báo lỗi Hậu điều kiện Guest đăng ký thành công tài khoản, hệ thống đã lưu tài khoản mới, sẵn sàng đăng nhập Bảng 2.1 Bảng đặc tả ca sử dụng Đăng ký Dữ liệu đầu vào các trường thông tin cá nhân gồm STT Trường Mô tả Bắt Điều Ví dụ dữ liệu buộc? kiện hợp lệ 1.
Email có duong@gmail. Họ tên có Nguyễn Tùng Dương 3. Giới tính không Nam 4. Xác nhận có 123456 mật khẩu 6.
Vai trò Requester có worker hoặc worker 8. Ảnh đại không https://cloudinary.com/abc diện 9. Số điện có 0972053783 thoại Bảng 2.2 Bảng dữ liệu đầu vào ca sử dụng Đăng ký Ca sử dụng UC02: Đăng nhập Mã usecase UC02 Tên usecase Đăng nhập Tác nhân Guest Tiền điều kiện Không Mục đích sử dụng Xác thực người dùng, cho phép người dùng sử dụng các chức năng của tác nhân "admin", "requester", "worker" Sự kiện kích hoạt Guest click vào button đăng nhập Luồng sự kiện STT Thực hiện Hành động chính 1. Guest chọn chức năng Đăng nhập 2.
Hệ thống Hiển thị màn hình đăng nhập 3. Guest Nhập email, mật khẩu, vai trò (mô tả phía dưới *) 4. Guest Yêu cầu đăng nhập 5. Hệ thống Kiểm tra tính hợp lệ và đầy đủ của các trường Guest nhập 6.
Hệ thống Kiểm tra tài khoản tồn tại hay không 7. Hệ thống Chuyển hướng đến màn hình "Trang chủ" 7 Luồng sự kiện STT Thực hiện Hành động thay thế 5a. Hệ thống Thông báo lỗi : Guest cần nhập các trường bắt buộc nếu thiếu 6a. Hệ thống Thông báo lỗi : Thông tin đăng nhập không đúng nếu không tìm thấy thông tin như Guest nhập Hậu điều kiện Hệ thống lưu thông tin đăng nhập của người sử dụng, tạo lập một phiên hoạt động, lưu trạng thái, cho phép người sử dụng có thể sử dụng các chức năng và vai trò của họ Bảng 2.3 Bảng đặc tả ca sử dụng Đăng nhập Dữ liệu đầu vào của thông tin cá nhân bao gồm những trường sau: STT Trường dữ Mô Bắt Điều kiện hợp Ví dụ liệu tả buộc? lệ 1.
Email có duong@gmail. Vai trò có requester Bảng 2.4 Bảng dữ liệu đầu vào ca sử dụng Đăng nhập Ca sử dụng UC03: Worker tìm kiếm việc làm Mã usecase UC03 Tên usecase Worker tìm kiếm việc làm Tác nhân Worker Tiền điều kiện Không Mục đích sử dụng Cho phép người dùng tìm kiếm việc làm theo các giá trị của từng thuộc tính Sự kiện kích hoạt Người dùng click vào tìm kiếm việc làm 8 Luồng sự kiện STT Thực hiện Hành động chính 1. Worker Chọn chức năng "tìm kiếm việc làm" 2.