Một công cụ có thể nhận dạng được high-score tag
Là một nhà cung cấp tư liệu kỹ thuật số online, PIXTA có sứ mệnh giúp người dùng tìm kiếm được những hình ảnh mong muốn một cách dễ dàng nhất. Với hàng triệu hình ảnh trong thư viện, một trong những mục tiêu thử thách nhất của chúng tôi là đáp ứng được nhu cầu thực sự của người dùng. Và để thực hiện được điều đó, chúng tôi đã áp dụng một số chiến lược để tăng sự tương tác của người dùng như: tối ưu hoá công cụ tìm kiếm (search optimization). Search optimization, với mục đích duy nhất là cải thiện hệ thống tìm kiếm, sẽ giúp người dùng tìm thấy những hình ảnh mong muốn, chính xác nhất có thể trong khoảng thời gian ngắn hơn. Chúng tôi cũng cần phải phát triển một số kỹ thuật để tối ưu hóa hệ thống tìm kiếm này. Trong đó, việc lựa chọn các high-score tag (tag có điểm số cao) một cách chính xác có ảnh hưởng không nhỏ đến hiệu quả của hệ thống trên.
Kết quả tìm kiếm cho từ khóa “baby” và “computer”
Với số lượng hình ảnh và tag khổng lồ được đăng lên bởi các cộng tác viên, việc lựa chọn tag là một công việc tốn khá nhiều thời gian và ảnh hưởng bởi đánh giá chủ quan của từng reviewer.
Khi chụp ảnh, nhiếp ảnh gia là người nắm rõ nhất những ý tưởng mà họ muốn thể hiện. Và những ý tưởng ấy sẽ được mô tả chính xác trong những bức ảnh mà họ chụp. Tuy nhiên, cũng có những trường hợp các bức ảnh được chụp ra khác hẳn so với ý tưởng ban đầu. Và quá trình review không hẳn khoa học, cũng không hẳn là nghệ thuật. Chúng ta không thể định nghĩa (với độ chính xác 100%) một bộ “high-score tag” một cách chính xác, nhưng chúng ta có thể có những bộ “high-score tag” tương tự nhau cùng một lúc. Quả thực đây là một lĩnh vực mà chúng tôi vẫn chưa nắm rõ. Điều này giải thích vì sao quá trình này tương đối chủ quan, và bị phụ thuộc gần như hoàn toàn vào người review. Các high-score tag sẽ khác nhau nếu như được review bởi những người review khác nhau, hay thậm chí sẽ khác nhau ngay cả khi người review là cùng một người nhưng vào những thời điểm khác nhau trong ngày.
Ý tưởng
Trước hết, bởi vi đây là một quá trình khá tốn thời gian nên chúng tôi mong muốn có thể dự đoán được high-score tag của từng bức ảnh bởi machine, qua đó có thể giúp reviewer tránh khỏi công việc nhàm chán này.
“Khoa học là những gì chúng ta có thể hiểu để giải thích lại cho máy tính còn nghệ thuật lại là những thứ mà chúng ta thực hiện được” (Donald Knuth)
Chúng tôi biết rằng mình không thể giải thích cho một cỗ máy hiểu mình muốn chọn high-score tags như thế nào, do đó, chúng tôi đã vẽ ra hướng đi cho nó như cách con người vẫn làm. Hãy thử trở lại khi chúng ta còn thơ bé nhé! Khi bạn còn là một đứa trẻ, mọi thứ xung quanh đều thật lạ lẫm. Tuy nhiên, cùng với thời gian trôi, càng ngày bạn càng lớn khôn và trở nên tò mò về mọi thứ xung quanh mình. Khi bạn không thể nhận dạng ra cái gì đó, sẽ có người sửa giúp bạn và bằng cách đó, bạn nhớ nó và cố gắng để không bị lặp lại sai lầm đó thêm lần nào nữa. Đó là một cách để học – học từ kinh nghiệm. Trong machine learning, chúng tôi cố gắng để dạy máy tính cách nhận dạng high-score tags cho những bức ảnh giống như cách mà con người đã và đang làm.
Chúng tôi đã làm điều đó như thế nào?
Trong dự án machine learning, data là một kho báu quý giá. Nó cung cấp cho chúng ta cái nhìn sâu sắc về cách chúng ta có thể xây dựng model nào đó. Và nó cũng đem đến cho model của chúng ta đầy đủ thông tin để tự nghiên cứu từ đó. Trong suốt quá trình thực hiện dự án thì việc thu thập, xử lý và hiểu biết dữ liệu chính xác là tốn nhiều thời gian nhất.
Ở Lab Team, cùng với quá trình thu thập dữ liệu, chúng tôi còn cho ra đời model của riêng mình – thứ sẽ mô phỏng được tốt nhất những gì chúng tôi trình bày ở trên. Với những nỗ lực của mình, sau khi trải qua hàng loạt những cuộc thử nghiệm, chúng tôi cuối cùng cũng đã có thể xây dựng thành công một model đạt đủ tiêu chuẩn mà mình đã đề ra ban đầu. Cùng với dự án này, những tri thức mà chúng tôi có được về machine learning và computer vision (Thị giác máy tính) được vận dụng triệt để để tạo ra một công cụ có thể hiểu được những bức ảnh và tạo ra một bộ high-score tag chính xác nhất có thể. Model hiệu quả nhất chỉ tập trung vào những thư mục đặc thù, nghĩa là nếu machine quen với việc dự đoán điểm cho tag trong thư mục ảnh người thì nó chỉ có những tri thức liên quan đến con người. Bởi vì lý do này, chúng tôi phải xây dựng những machine khác nhau cho những thư mục khác nhau để phương pháp này có thể đạt được kết quả chất lượng cao nhất.
Như đã đề cập phía trên, không có nguyên tắc cụ thể nào để có thể đưa ra bộ high-score tag cho một bức ảnh nhất định. Do đó, chúng tôi không thể xây dựng một chương trình để đánh giá những model của mình chính xác tuyệt đối. Sau rất nhiều vòng đánh giá model, chúng tôi đã có thể chọn ra những bức ảnh trong thư mục ngẫu nhiên, sau đó sử dụng model của mình để tạo ra các bộ high-score tag cho những bức ảnh trong thư mục đó. Những bức ảnh này trước đó đã được đánh giá bởi những reviewer để đảm bảo rằng kết quả của model thỏa mãn yêu cầu trước khi đưa dự án này vào chạy chính thức trên production. Kết quả của model đã được chấp nhận bởi các reviewer. Do đó, model của chúng tôi sẽ được sử dụng tại hệ thống của PIXTA cho một số thư mục tư liệu kỹ thuật số đặc thù kể từ cuối tháng 12/2017.
High-score tags(đánh giá bởi reviewer): computer, boy, work, phone, talking
High-score tags(đánh giá bởi machine): computer, boy, baby, laptop, phone
Tags cộng tác viên đã nhập: computer, boy, work, phone, talking, baby, child, laptop, cute, kid, caucasian, technology, internet, people, happy, childhood, person, sitting, pc, beautiful, young, white, toddler, home, business, little, indoor, modern, office, night, small, happiness, infant, desk, dark, fun, screen, lifestyle, education, learning, male, notebook, typing, businesswoman, background, communication, son, concept, professional
Công việc tiếp theo
Hiện nay, hệ thống của PIXTA có đến hàng chục thư mục ảnh chính. Và đương nhiên là chúng tôi có kế hoạch sẽ đưa model của mình chạy trên tất cả những thư mục ấy. Bên cạnh đó, tuy hiện nay vẫn còn tồn tại một vài vấn đề nho nhỏ chưa được giải quyết xong với model nhưng chắc chắn là chúng tôi sẽ hoàn thành chúng nay mai. Ví dụ như làm sao để bắt kịp xu hướng, hay nắm được những ý nghĩa trừu tượng, nhận biết được vị trí… Những thành tựu mà Lab team đã đạt được thông qua dự án high-score tag, cũng như những sứ mệnh tiếp theo của dự án này bao gồm việc hiểu được các hình ảnh, đạt tới một bước tiến lớn trong lĩnh vực machine learning và computer vision hiện nay, hứa hẹn đây và cả những dự án sắp tới của chúng tôi trong tương lai sẽ là nột dự án đầy thách thức và thú vị.
Về tác giả của bài viết: anh Bùi Quốc Trọng (チョン): anh Trọng gia nhập Pixta Vietnam với tư cách là một kỹ sư phần mềm. Trong khoảng một năm đầu tiên, công việc của anh ấy là lập trình viên Ruby on Rails. Sau đó anh đã chuyển sang Lab team để tiếp tục thử thách bản thân ở lĩnh vực mới và cơ hội được làm việc với các dự án Machine Learning khác nhau.
Về Lab team: Lab team là một team thuộc PIXTA VIETNAM. Chúng tôi tập trung vào nghiên cứu những kỹ thuật mới, đặc biệt là Machine Learning, Data Science (Khoa học dữ liệu) và sử dụng chúng để giải quyết những vấn đề khó khăn mà không thể giải quyết được bằng những kỹ thuật truyền thống. Mục tiêu của chúng tôi là xây dựng một môi trường làm việc sáng tạo, nơi tất cả các thành viên có thể chủ động đưa ra ý tưởng của bản thân mình để đóng góp vào sự phát triển của công ty.