3.1. Tổng quan phương pháp đề xuất
Phần này sẽ trình bày phương pháp tiếp cận độc đáo và hiệu quả mà chúng tôi đề xuất
để giải quyết thách thức của bài toán mô tả hình ảnh tự động và mang lại hiệu suất tốt. Việc áp dụng, điều chỉnh các mô hình học sâu có độ phức tạp cao sẽ giúp mô hình đưa ra các câu mô tả chính xác và có ngữ nghĩa tốt. Tuy vậy, nhận thấy rằng những phương pháp và mô hình trên chưa thực sự đáp ứng toàn diện các yêu cầu của bài toán là mô tả ảnh trên nhiều lĩnh vực trong khi lượng nguồn dữ liệu ở tiếng Việt đang còn rất hạn chế. Bắt đầu từ khó khăn này nhóm chúng tôi đã chọn ứng dụng công
nghệ dữ liệu lớn phục vụ cho việc thu thập giúp tăng cường sự đa dạng cho dữ liệu
từ đó cho phép mô hình học và đưa ra câu mô tả cho hình ảnh ở đa lĩnh vực.
Áp dụng chiến lược phối hợp sử dụng các công nghệ mới, chúng tôi sẽ sử dụng những thế mạnh của các mô hình học sâu có độ phức tạp cao như Object Relation
Transformer, Meshed-Memory Transformer, ... Cùng với việc xử lý dữ liệu lớn và
chúng tôi thiết lập cho phép mô hình học liên tục từ những hình anh mới từ đó cho phép xây dựng mô hình tạo sinh câu mô tả chính xác nhất cho hình ảnh.
15
THU THẬP XỬ LÝ DỮ LIỆU WIKI
Tăng cường Thu thập, xử lý dữ
dữ liệu liệu
Huan luyện mô Quản lý luồng hình liên tục và tạo
dữ liệu sinh câu mô tả
DỊCH VỤ ỨNG DỤNG
Bunp JomÔu jọu ueud
Người dùng
cung cấp ảnh
Hình 3.1: Sơ đồ tổng quan cách hệ thống vận hành
3.2. Phương pháp Streaming dữ liệu
Như ở Hình 3.1, ta có thé ở quá trình thu thập và xử lý dữ liệu Wiki thì giai đoạn streaming dit liệu bắt đầu với dir liệu được thu thập, xử lý và tăng cường. Đầu vào của dit liệu là Producer, nó sẽ giao tiếp với consumer băng topic ở Kafka broker rồi lưu lại vào cơ sở dữ liệu đưới dang JSON bao gồm url va caption tương ứng cho ảnh như ở Hình 3.2. Mục dich của này là dé quản lý hiệu quả một lượng lớn dữ liệu đô về
16
cùng một lúc, từ đó phục vụ cho khả năng mở rộng và phát triển bài toán trong tương
lai.
Ngoài ra dé phục vu bài toán thì chúng tôi còn dùng 2 bộ dit liệu dé phục vụ bài toán
cho huân luyện và kiêm thử bài toán.
© UIT-ViIC [26] : Bộ dữ liệu chứa 3.850 hình ảnh thé thao được lay từ phiên ban
năm 2017 của bộ dữ liệu Microsoft COCO. Tương tự như Microsoft COCO,
nó cung cấp năm phụ đề tiếng Việt cho mỗi hình ảnh, tổng cộng là 19.250 phụ
đề. Đặc biệt, các mô tả hình ảnh này được tạo thủ công, với tham chiếu từ các
mô tả gốc các hình ảnh tương ứng trên MSCOCO.
e Bộ dữ liệu kiểm thử: Bộ dữ liệu chứa 769 hình ảnh va câu mô tả tương ứng.
Bộ dữ liệu được xây dựng thủ công thông qua những hình ảnh thu thập và
chọn lọc ngẫu nhiên từ Wikipedia. Với nhãn là những câu mô tả được gán
nhan thủ công bằng công cụ nhóm tự phát trién.
Hai bộ dữ liệu này cũng trải qua quy trình lưu trữ như dữ liệu được thu thập từ
Wikipedia để phục vụ bài toán.
3.2.1. Phương pháp thu thập và xử lý dữ liệu
Trong quá trình thu thập dữ liệu, chúng tôi đã có nhiều nguồn đề thu thập ảnh và câu
mô tả, bao gồm các trang báo, mạng xã hội, thư viện học thuật và nhiều nguồn khác. Tuy nhiên, chúng tôi đã quyết định chỉ sử dụng nguồn dữ liệu từ Wikipedia vì các lý
do sau:
e Một trong những nguồn dữ liệu dồi dào, da dang và dễ tiếp cận chính là mạng
xã hội. Nhưng ở trên nền tảng này các câu mô tả ảnh thường không mô tả nội
dung ảnh mà câu mô tả này thường là suy nghĩ cảm xúc của họ. Chính vì vậy
nó không phù hợp va không có giá tri cho bài toán.
17
e Các trang báo cũng là nguồn dữ liệu rất lớn và tiềm năng. Nhưng sau khi tìm
hiểu thì chúng tôi nhận ra ở các trang này các câu mô tả tập trung vào miêu tả một người một sự việc một địa danh cụ thể và câu mô tả cũng chứa đựng quá nhiều cảm xúc ảnh hưởng bởi bối cảnh bài báo. Chính vì vậy nguồn dữ liệu
này cũng không phù hợp.
e Wikipedia có da dạng lĩnh vực trong đời sống đặc biệt nó tồn tại các hình ảnh
và câu mô tả thích hợp cho bài toán, các câu mô tả không lang mang mà miêu
tả trực tiếp chủ thé trong ảnh và sự kiện đang diễn ra. Đây là nguồn dữ liệu lý tưởng dé phát triển bài toán.
Nhìn Hình 3.2 ta có thé thay tổng quan về quy trình streaming dữ liệu dé có được nguồn dữ liệu chất lượng.
đc Return Page = ,
oC. 15 re Beautifulfoup
Saxe" Get Request
WIKIPEDIA
GIAI DOAN XỬ LY DỮ LIEU
Tang cường dữ liệu Hình ảnh Mô tả bằng cách chuyên
đối câu mô tả
Producer MONGODE
ALAST
Consumer
Hình 3.2: Tổng quan quy trình xử ly dữ liệu được thu thập từ Wikipedia
18
Quy trình có thể miêu tả qua các bước chính: Chúng tôi xây dựng một mã nguồn thu thập dữ liệu từ Wikipedia, tiếp theo tiến hành xử lý dit liệu. Tiếp đến dữ liệu trải qua công đoạn streaming rồi được lưu trữ vào kho dữ liệu để làm đầu vào cho mô hình.
Quy trình trên cho phép mô hình học liên tục từ dữ liệu mới. Chúng tôi tinh chỉnh
cho mô hình sẽ tiếp tục học mỗi khi có điểm dữ liệu mới được gửi về.
3.2.1.1. Phương pháp thu thập dữ liệu
Chúng tôi đã áp dụng ngôn ngữ lập trình Python và thư viện BeautifulSoup trong việc
thu thập thông tin từ trang Wikipedia - một quá trình và phương pháp sẽ được giới
thiệu trong phan này. Sử dụng BeautifulSoup, một thư viện phổ biến của Python, chúng tôi đã có thê phân tích và rút trích thông tin từ các trang web. Đồng thời, dé hỗ trợ việc giao tiếp với trang web thông qua các giao thức HTTP, chúng tôi đã tận dụng
thư viện 'requests' cua Python.
Nhu có thé thay ở Hình 3.2, chúng tôi gửi yêu cầu GET đến Wikipedia thông qua thư viện request cùng với từ khoá đã được chỉ định. Từ khoá sẽ đóng vai trò tìm kiếm tất
cả những trang Wikipedia có dính tới từ khoá được chỉ định. Việc này giúp cho quá
trình thu thập diễn ra đơn giản và nhanh chóng hơn. Sau khi nhận phản hồi từ Wikipedia, chúng tôi dùng thư viện BeautifulSoup dé phân tích cú pháp HTML của trang web và tìm các phần tử HTML chứa thông tin url của hình ảnh và mô tả của ảnh tương ứng. Cuối cùng, chúng tôi trích xuất các url và mô tả của hình ảnh từ các phần tử HTML đã tìm được và chuyền sang giai đoạn tiếp theo.
3.2.1.2. Phương pháp xử lý dữ liệu
Như được biết, Wikipedia [27] là một website hỗ trợ các tính năng đăng tải và điều chỉnh nội dung về khái niệm, hay mô tả của những đối tượng trên thế giới, và tổng lượng thông tin không lỗ trên trang web được đóng góp từ nhiều người, dù vậy các trang web không hé đưa rat bat kì quy tắc nào về cấu trúc hay nội dung của trên trang
19
web. Bởi thế số lượng ảnh và câu mô tả được lấy từ trang web cần phải được làm sạch và chuyên đổi dé tăng cường khả năng học của các thuật toán mô tả ảnh tự động trên dữ liệu được thu thập. Với các dữ liệu được lấy từ hệ thống streaming tự động
của chúng tôi trên trang web Wikipedia, việc xây dựng phương pháp xử lý dữ liệu
với mục tiêu vượt qua những vấn đề xảy ra trong việc chú thích hình ảnh, như sự không chính xác và không rõ ràng của các chú thích hiện tại. Kết quả từ phương pháp này sẽ cải thiện chất lượng và tính hợp lý của các chú thích, giúp hệ thống dòng dữ liệu hoạt động một cách tối ưu hơn, và các mô hình cũng sẽ được học những câu chú thích mô tả phù hợp hơn về các đối tượng của hình ảnh.
Pelé (áo xanh dương), người được mệnh danh là © Albert Camus, nhà văn, triết gia nổi #!
"Trường xuân bách từ do" (Rae ¿1 a ` = £ . tiéng, một thời từng là thủ môn bóng
FW) \§ vào thời Tông mỡ eve một trong những ngôi sao bóng đá vĩ đại nhât mọi đá
Trung Quốc chơi môn xúc cúc. thời đại.
Hình 3.3: Những câu mô tả không phù hợp
Từ ví dụ trên ảnh, chúng tôi có thể cho thấy rằng các mẫu dữ liệu này không thích hop dé đưa vào huấn luyện cho các mô hình mô tả ảnh tự động với các dẫn chứng sau. Thứ nhất, với câu mô tả (1) thực chất là câu diễn giải khái niệm đặc trưng cho bức tranh, thậm chí còn chứa tiếng Trung Quốc sẽ gây nhiễu nặng cho mô hình học máy. Bên cạnh đó, câu mô tả của hình (2) và hình (3) không nhằm mục đích miêu tả đối tượng hay hành động diễn ra trong bức hình mà đưa ra thông tin của một người nổi tiếng trong hình, mô hình học máy hiện tại vẫn chưa thể năm bắt và dự đoán những thông tin cụ thể đến chủ thể như thế này. Cho nên, kỹ thuật xử lý trên các loại
20
dữ liệu này được chúng tôi thiết kế dựa trên các nguyên tắc cụ thê và lấy cảm hứng
từ [28]. Đầu tiên, để phương pháp lọc và chuyên đổi dữ liệu có được kết quả cao và tối ưu nhất, nhóm chúng tôi tiến hành đưa ra các nguyên tắc nghiêm khắc dé chọn lọc cho ảnh và câu mô tả. Riêng về ảnh, tat cả các bức hình trước khi được lưu vào cơ sở
dữ liệu thông qua hệ thống streaming sẽ phải trải qua bước lọc ảnh để lượt bớt các ảnh không phù hợp hoặc không đủ chất lượng. Kỹ thuật này năm giữ vai trò then chốt trong quá trình phát triên một bộ dữ liệu và đảm bảo răng chỉ có những ảnh chất lượng cao và liên quan có đủ điều kiện cho các bước tiếp theo của hệ thống như đảo tạo mô hình hay đánh gia dir liệu. Bên cạnh đó, các nguyên tắc lọc dựa trên câu mô tả cũng được áp dụng, để loại bỏ các nội dung không phù hợp hoặc không cần thiết. Bước này có ảnh hưởng then chốt trong quá trình tiền xử lý các chú thích đưới dạng văn bản, giúp tăng cường chất lượng và độ tin cậy của các câu mô tả được khai thác cho các mục tiêu tiếp theo như phân loại, trích xuất thông tin, hay xây dựng mô hình dự đoán. Bước kế đến của quá trình lọc là bước kết hợp đặc điểm của cả bức hình và câu chú thích dé tiến hành nhận định liệu cặp dữ liệu này có kết nối và thích hợp dé tiễn hành huấn luyện cho mô hình hay không, quá trình này nhằm loại trừ các thông tin không phù hợp hoặc không cần thiết từ cả hình ảnh và văn bản mô tả liên quan. Cuối cùng, sau khi trải qua các bước lọc với những nguyên tắc khắc khe đối với cả ảnh và câu mô tả, dữ liệu được đưa vào hệ thông sẽ đảm bảo là những câu mô tả có cấu trúc
và hình ảnh chất lượng cho các mô hình, dù vậy quá trình thay thế các thuật ngữ cụ thê (như tên riêng, số, đơn vị) trong văn bản băng các thuật ngữ toàn cục vẫn rất cần thiết. Những tên riêng hay số liệu về ngày tháng năm cần được thay thế và loại bỏ.
Ví dụ như câu mô tả thường thấy về chủ đề thể thao như “Messi đang đá quả bóng về phía khung thành”, sẽ được thay đỗi thành “cầu thủ bóng đá đang đá quả bóng về phía khung thành”. Quá trình này giúp tạo ra một biéu diễn văn bản được tinh chỉnh,
sử dụng các thuật ngữ chung hơn, giúp tập trung vào khái niệm toàn cục và giảm sự
chi tiết không cần thiết. Điều này cung cấp một cách tiếp cận trừu tượng hơn và cho phép các nhiệm vụ xử lí dữ liệu va phân tích tiếp theo trở nên dé dang hơn, như huấn
luyện các mô hình dự đoán.
21
Dữ liệu sau khi được lọc và xử lý
Dữ liệu thực tế từ wiki Thông qua
4 TT N á À r S26 N
Hình ảnh Hình ảnh
` ke Loc dữ liệu |
thông qua ảnh
Lọc dữ liệu dựa trên sự `.
NINH tương quan IEE)
Bee AGNES chuyền đôi
F. ——.. giữa hình ảnh pets
Câu mô tả và nội dung mô Cau mô ta
Iker Casilas bay người ` ip tả ae ios oe
can pha banh khdi |__;__, | Loc dữ liệu trên LÊ Hạc Ranh khung thành câu mô tả eae
àn|
il
Hình 3.4: Quy trình xử lý dữ liệu được thu thập từ Wikipedia
a. Phương pháp lọc dựa trên ảnh.
Ở mục này, thư viện PIL sẽ được sử dụng cho việc kiểm tra tất cả bức hình được tìm thấy trên Wikipedia có đáp ứng được chất lượng hay không. Với các hình với chiều dài và chiều rộng tương ứng không vượt qua mức 300 pixel sẽ được loại trừ. Giúp cho hệ thống chọn lọc ra những tắm hình chat lượng và day đủ thông tin.
b. Phương pháp lọc dựa trên câu mô tả.
Ở phần này, chúng tôi sẽ thực nghiệm phương pháp dựa trên thư viện spacy [29] được cung cấp bởi Python, với mô hình ngôn ngữ đã huấn luyện trước trên dữ liệu tiếng Việt tên là "vi core news_Ig” [30] dé phân tích cú pháp và tách từ cho các từ trong câu chú thích. Đầu tiên, ứng với mỗi câu mô tả sẽ được tách từ dựa trên bộ tách từ
của mô hình ngôn ngữ đã tải lên thư viện spacy cho việc phân tích các từ trong câu
trở nên dễ dàng hơn.
Vi dụ : ứng với câu “một người đàn ông đang di bộ ra khỏi căn nha” sẽ được tach thành danh sỏch cỏc từ như sau [(một, 'M), (ngườù, 'Nc’), (đàn ụng', N), (đang,
'R), (dit, 'V), (bội, 'N}), (ra, 'V), (khỏi', 'V), can’, 'Ne'), (nhàt, ND]
22
Dựa trên các danh sách tách từ của các câu mô tả, chúng tôi sẽ đưa ra 5 nguyên tac sau đê kiêm tra liệu rang một câu mô tả đủ tiêu chuân hay chưa:
‹ Kiểm tra các tỷ lệ các từ lặp lại trong câu: Chúng tôi sẽ kiểm tra điều kiện này bằng cách tính từ lặp lại nhiều nhất trong câu, và chia nó với tổng số lượng
từ trong câu sẽ được tỷ lệ các từ lặp, miễn là tỷ lệ này không quá 0.5 thì câu
mô tả được cho là đạt tiêu chuẩn cho điều kiện này. Tiêu chuan này giúp chúng tôi lọc được những câu mô tả bị lỗi hoặc thiếu tính chính xác. Ý nghĩa của việc tính tỷ lệ này dùng để đo lường mức độ đa dạng ngôn ngữ. Một câu mô tả tốt nên có một tỷ lệ lặp từ thấp, điều này cho thấy câu mô tả tận dụng nhiều từ vựng đa dạng hơn đề diễn đạt.
Ví dụ : “Cầu thủ giao cầu” = tỷ lệ từ lặp là 0.5
+ Kiểm tra tỷ lệ loại từ cho phép trong câu: Một đoạn mô tả được xem là có cau trúc tốt khi ty lệ từ duy nhất trong đó cao và bao gồm các loại từ ngữ (POS
tags) khác nhau. Các đoạn mô tả không chứa từ chỉ định, không chứa danh từ
hoặc không chứa giới từ sẽ bị loại bỏ. Đồng thời, các đoạn mô tả có tỷ lệ từ danh từ quá cao cũng sẽ bị loại bỏ. Điều này nhăm đảm bảo rằng các đoạn mô
ta được chọn lọc phải có cau trúc ngôn ngữ đúng đắn và đáp ứng các yêu cầu
về đa dạng từ ngữ. Bằng việc tuân thủ các ràng buộc trên, điều kiện này tìm kiếm các đoạn chú thích phủ hợp và có khả năng miêu tả bức hình đầy đủ và
chính xác nhất. Vận dụng dựa trên các thực nghiệm, kỹ thuật này sẽ xác định
trước với những loại từ ngữ hợp lệ sẽ thuộc vào 5 loại bao gồm: danh từ, động
từ, tính từ, danh từ riêng và pho từ. Đầu tiên số lượng các từ có POS tag thuộc vào tập hợp các loại từ cho phép được đếm. Đây là số lượng các từ trong có loại nằm trong tập hợp 5 loại được định nghĩa trước va là những loại phù hợp
dé cấu thành một câu hoàn chỉnh. Từ đó, tỷ lệ này được tính băng cách chia số lượng các từ có loại từ thuộc vào tập hợp loại từ cho phép chia cho tổng số
lượng các từ trong câu và sao cho tỷ lệ không được nhỏ hơn 0.5.
23