3. Bố cục luận văn
2.5.1. Mạng Neural hồi quy RNN
Ý kiến phản hồi của khách hàng được lưu dưới dạng văn bản cĩ thể bao gồm nhiều từ, nhiều câu. Do đĩ, để trích xuất được thơng tin quan điểm từ một ý kiến phải căn cứ trên ngữ cảnh của tồn bộ những câu trước đĩ. Điều này cũng dễ hiểu bởi trên thực tế con người khơng bắt đầu suy nghĩ tại mọi thời điểm mà phải phụ thuộc vào những gì xảy ra trước đĩ. Giả sử, khi đọc một bài review về sản phẩm, khách hàng sẽ đọc từng từ tại mỗi thời điểm và hiểu từng từ đĩ dựa vào ngữ cảnh của các từ trước đĩ [9].
Mỗi suy đốn hoặc quyết định của chúng ta được liên kết từ các thơng tin phức tạp được tìm hiểu trước. Vấn đề càng phức tạp, lượng thơng tin được tổng hợp để giải quyết càng lớn. Mạng RNN đưa ra các dự đốn dựa trên các thơng tin đã cĩ trong các vịng lặp chứa thơng tin phía trước. Mạng RNN chứa các vịng lặp bên trong cho phép thơng tin cĩ thể lưu lại được
Hình 2. 5: Mạng RNN cĩ vịng lặp
Trong mơ hình trên mơ tả một đoạn của mạng RNN A với đầu vào là xt và đầu ra là ht. Một vịng lặp cho phép thơng tin cĩ thể được truyền từ bước này qua bước này qua bước khác của mạng nơ-ron. Cĩ thể thấy kết quả của đầu ra H1 nhận dữ liệu từ đầu vào X1 và kết quả của nút phía trước hay nĩi cách khác đầu ra của nút này chính là đầu vào của nút ngay phía sau. Điều này đã mang lại sự thành cơng cho mạng RNN nhờ vào khả năng suy luận cĩ cơ sở. Tuy nhiên, khả năng này tỏ ra khơng hiệu quả đối với các trường hợp phức tạp, địi hỏi lượng thơng tin cần tổng hợp cho suy đốn nhiều hơn.
Trong quá trình tiếp nhận những thơng tin phản hồi, đơi khi chúng ta khơng hồn tồn tiếp nhận hết tất cả lượng thơng tin được gửi đến. Tuy nhiên, chúng ta cĩ thể dự đốn nội dung thơng tin một cách chính xác, điểm nổi bật của RNN chính là ý tưởng kết nối các thơng tin phía trước để dự đốn cho hiện tại. Ví dụ khi nghe câu "Sữa này rất ngon, bé nhà tơi rất..." thì chúng ta dễ dàng dự đốn từ tiếp theo là "thích" dựa vào từ "rất ngon" phía trước.
Trong nhiều tình huống ta buộc phải sử dụng nhiều ngữ cảnh hơn để suy luận. Ví dụ: “Tơi là người Việt Nam, tơi rất thích các sản phẩm sữa ...”. việc xác định được từ cịn thiếu phụ thuộc vào nội dung phía trước. Giữa nội dung cần đưa ra dự đốn và nội dung cần cho quá trình này đã cĩ khoảng cách nhất định, vì thế mạng RNN khĩ cĩ thể đưa ra dự đốn chính xác.
Để giải quyết được vấn đề này, cần một mạng RNN cĩ khả năng học được các ngữ cảnh hoặc nĩi chính xác hơn là kiểm sốt được các phụ thuộc xa (long- term dependency). Về mặt lý thuyết, rõ ràng là RNN cĩ khả năng xử lý các phụ thuộc xa. Tuy nhiên, thật đáng tiếc trên thực tế RNN khơng thể nhớ và học được các tham số với khoảng cách càng lớn dần. Vấn đề này đã được mạng Long short- term memory (LSTM) giải quyết được trong bài tốn phân tích quan điểm.
2.5.2. Mạng bộ nhớ thuật ngữ ngắn dài (Long Short-Term Memory)
Mạng LSTM là một dạng đặc biệt của RNN, nĩ cĩ khả năng học được các phụ thuộc từ quá dài. LSTM được giới thiệu bởi Hochreiter & Schmidhuber (1997), nhưng được cải tiến và phổ biến rất. Chúng hoạt động cực kì hiệu quả trên nhiều bài tốn khác nhau nên dần đã trở nên phổ biến như hiện nay.
Kiến trúc dạng chuỗi các module của LSTM tương tự RNN tuy nhiên trong các module LSTM cĩ cấu trúc phức tạp hơn, bao gồm 4 tầng tương tác với nhau theo một cấu trúc cụ thể với các cổng Forget Gate (ft), Input Gate (it), Output Gate (ot). Các cổng này quyết định việc thơng tin nào sẽ được lưu trữ, xố, chỉnh sửa và truyền đi
Hình 2. 7: Mơ đun lặp lại trong một LSTM
Trong sơ đồ trên, mỗi dịng mang một vector tồn bộ, từ đầu ra của một nút đến đầu vào của những nút khác. Các vịng trịn màu hồng đại diện cho các phép tốn theo chiều kim loại, như phép cộng vectơ, trong khi các hộp màu vàng là các
lớp mạng nơ-ron đã học. Hợp nhất các dịng biểu thị sự mĩc nối, trong khi một dịng cho biết nội dung của nĩ đang được sao chép và các bản sao sẽ đến các vị trí khác nhau. Mơ hình thiết kế của LSTM là một bảng mạch số, gồm các mạch logic và các phép tốn logic
Mấu chốt của LSTM là trạng thái nhớ Ct, đường kẻ ngang trên đầu sơ đồ chạy dọc ở trên cùng của hình 2.8. Ct giống như băng chuyền, chạy xuyên thẳng tồn bộ mắt xích, nhờ vậy thơng tin được lưu trữ cho các quá trình xử lý phía sau mà khơng mất đi. Đồng thời, các khối xử lý khác cĩ thể tác động vào nội dung của ct để quyết định thơng tin cần truyền tại các thời điểm. Các phép biến đổi trong modul bao gồm sigma, tanh.
Hình 2. 8: Ct của LSTM
LSTM cĩ khả năng loại bỏ hoặc thêm vào các thơng tin cần thiết cho trạng thái, chúng được điều chỉnh cẩn thận bởi các nhĩm gọi là cổng (gate). Các cổng sàng lọc thơng tin đi
qua nĩ. Cổng vào it giúp quyết định bao nhiêu lượng thơng tin đầu vào sẽ ảnh hưởng đến trạng thái mới. Quyết định bằng cách nào, thơng qua đặc điểm của hàm sigmoid (đầu ra nằm trong khoảng [0,1][0,1]), như vậy khi một vector thơng tin đi qua đây, nếu nhân với 0, vector sẽ bị triệt tiêu hồn tồn. Nếu nhân với 1, hầu hết thơng tin sẽ được giữ lại. Cổng ra ot điều chỉnh lượng thơng tin cĩ thể ra ngồi và lượng thơng tin truyền tới trạng thái tiếp theo, được kết hợp bởi một tầng mạng sigmoid và một phép nhân.
Hình 2. 9: Cổng trạng thái LSTM
Tầng sigmoid sẽ cho đầu ra là một số trong khoản [0, 1], mơ tả cĩ bao nhiêu thơng tin cĩ thể được thơng qua. Khi đầu ra là 0 thì cĩ nghĩa là khơng cho thơng tin nào qua, cịn khi là 1 thì cĩ nghĩa là cho tất cả các thơng tin đi qua nĩ. Một LSTM gồm cĩ 3 cổng như vậy để duy trì và điều hành trạng thái của mạng nơron.
Quá trình hoạt động của LSTM được thơng qua các bước cơ bản:
Bước đầu tiên trong LSTM là quyết định thơng tin nào sẽ loại bỏ khỏi trạng thái tế bào. Quyết định này được thực hiện bởi một lớp sigmoid được gọi là ft
(cổng quên). Cổng quyết định sẽ bỏ đi bao nhiêu lượng thơng tin đến từ trạng thái trước đĩ.
Hình 2. 10: Cổng quên LSTM
Bước tiếp theo là quyết định thơng tin mới nào sẽ lưu lại tạiCt . Việc này
gồm 2 phần. Bước đầu là sử dụng một tầng sigmoid được gọi là it để quyết định giá trị nào sẽ cập nhập. Tiếp theo là một tầng tanhtạo ra một véc-tơ cho giá trị mới 𝐶𝑡 ̃ nhằm thêm vào cho trạng thái.
Hình 2. 11: Cổng vào it của tanh 𝐶𝑡 ̃
Trong bước tiếp theo, sẽ kết hợp 2 giá trị đĩ lại để tạo ra một cập nhập cho trạng thái, 𝐶𝑡−1 cũ vào Ct mới . Ta sẽ đưa state cũ hàm 𝑓 , để quên đi những gì trước đĩ. Sau đĩ sẽ thêm 𝑖𝑡 ∗ 𝐶𝑡 ̃. Đây là giá trị ứng viên mới, co giãn số lượng giá trị muốn cập nhật cho mỗi state.
Hình 2. 12: Giá trị state Ct
Cuối cùng, cần quyết định xem thơng tin cần tìm là gì. Giá trị đầu ra sẽ dựa vào cell state, nhưng sẽ được sàng lọc bớt thơng tin. Đầu tiên, ta chạy một tầng sigmoid để quyết định phần nào cell state muốn xuất ra. Sau đĩ, ta đưa nĩ trạng cell state qua một hàm tanh để co giá trị nĩ về khoảng [-1, 1] và nhân nĩ với đầu ra của cổng sigmoid để được giá trị đầu ra ta mong muốn.
Mạng LSTM theo các cơng thức trên mà được lặp lại qua từng thời điểm t. Thơng tin của Ct được điều khiển bởi cấu trúc các cổng chặn ft, cổng vào it và cổng ra ot . Trong đĩ cổng chặn ft chính là tư tưởng của mạng LSTM khi cho phép điều khiển lượng thơng tin đầu vào ht-1 từ các thời điểm trước.
Ưu điểm của phương pháp LSTM: Trong các mơ hình học sâu thường cho
kết quả tốt nhất vì khơng cần trích chọn đặc trưng. LSTM cĩ thể học được các từ phụ thuộc quá dài.
Kết luận chương
Trong chương 2 luận văn đã trình bày các phương pháp tiếp cận cho bài tốn phân tích quan điểm bằng các kỹ thuật học máy truyền thống và học sâu: Mơ hình Nạve Bayes, SVM, hồi quy Logistic và LSTM. Trong phần tiếp theo luận văn sẽ trình bày các bước xây dựng một hệ thống phân tích quan điểm dựa vào các kỹ thuật học máy cũng như cách cài đặt thuật tốn để đưa ra kết quả thực nghiệm thu được.
CHƯƠNG 3: ỨNG DỤNG PHÂN TÍCH QUAN ĐIỂM VỚI DỮ LIỆU THỨC ĂN TRẺ EM
Với sự phát triển mạnh mẽ của cơng nghệ thơng tin và Internet, các website thương mại điện tử ra đời như một phương tiện hữu ích giúp khách hàng thực hiện mua hàng, đặt thực phẩm trực tuyến cũng như chia sẻ những trải nghiệm, bình luận và đánh giá. Thức ăn trẻ em là một trong những ngành dịch vụ đặc thù, chính vì vậy cần cĩ hệ thống tự động phân tích quan điểm của khách hàng thơng qua ý kiến tích cực hay tiêu cực về sản phẩm và dịch vụ để doanh nghiệp cải thiện dịch vụ, chất lượng sản phẩm. Người tiêu dùng cũng sẽ tham khảo các ý kiến đĩ trước khi họ đưa ra quyết định lựa chọn sản phẩm.
Hệ thống phân tích quan điểm khách hàng sẽ cĩ thể thực hiện phân tích những thay đổi tiêu cực, tích cực, các vấn đề mà khách hàng phản hồi theo thời gian.
3.1. Hệ thống phân tích quan điểm
Hiện nay đã cĩ nhiều hệ thống phân tích quan điểm làm việc với những miền dữ liệu khác nhau nhưng đều bao gồm các bước chính như sau:
• Thu thập, phân tích, chuẩn bị dữ liệu: thành phần tự động lấy dữ liệu, cụ
thể là những phản hồi, bình luận của khách hàng từ các hệ thống trực tuyến, các trang web đánh giá của người dùng hay các cộng đồng mạng xã hội.
• Tiền xử lý dữ liệu và gán nhãn: tại bước này cĩ nhiệm vụ xử lý dữ liệu,
gồm các cơng việc như: chuẩn hĩa chữ thường, tách từ, loại bỏ dấu câu, các ký tự đặc biệt. Dữ liệu sẽ được làm sạch, chuẩn hĩa rồi gán nhãn làm đầu vào cho bước tiếp theo.
• Trích chọn đặc trưng: sử dụng kỹ thuật biểu diễn văn bản như mơ hình
Bag of word (Bow), Term Frequency – Inverse Document Frequency (TF- IDF), N-Gram để biểu diễn các văn bản đầu vào thành các vector đặc trưng.
• Lựa chọn mơ hình học máy (Machine Learning): xây dựng mơ hình huấn
luyện và dự đốn cho các mơ hình truyền thống. Mơ hình huấn luyện sử dụng tập dữ liệu huấn luyện làm đầu vào và cĩ nhiệm vụ học một mơ hình dự đốn. Mơ hình dự đốn cĩ nhiệm vụ tính tốn để phân lớp quan điểm cho các vector biểu diễn văn bản từ đầu vào.
Học viên xin đề xuất kiến trúc hệ thống phân tích quan điểm trên tập dữ liệu thức ăn trẻ em qua các bước cụ thể trong hình 3.1:
Hình 3. 1: Kiến trúc hệ thống phân tích quan điểm
3.2. Đặc điểm của dữ liệu thức ăn trẻ em
Luận văn tìm hiểu, nghiên cứu và giải quyết cho miền dữ liệu cụ thể là những phản hồi, bình luận của khách hàng về lĩnh vực thức ăn trẻ em để người tiêu dùng biết được những bình luận, những đánh giá tích cực, tiêu cực và trung tính về sản phẩm mà họ đang quan tâm, từ đĩ các phụ huynh cĩ thể dễ dàng đưa ra các quyết định trong việc mua hay sử dụng sản phẩm sản phẩm cho con em mình. Khơng những thế các cơng ty, doanh nghiệp, đơn vị phân phối của cửa hàng bán lẻ cũng cĩ được những đánh giá, bình luận của khách hàng để xây dựng chiến lược bán hàng, phát triển sản phẩm, quảng bá thương hiệu cũng như cải thiện chất lượng, dịch vụ
Dữ liệu thức ăn trẻ em được là những câu bình luận tiếng việt được lấy từ các diễn đàn, các trang mạng xã hội và các trang web đánh giá sản phẩm. Đặc điểm của dữ liệu này thường là các đánh giá tính năng của sản phẩm hoặc dịch vụ cụ thể được thể hiện bằng ngơn ngữ tự nhiên. Các bình luận này thường là những
câu ngắn về nội dung và kích thước. Một số câu bình luận tiếng việt trong tập dữ liệu thức ăn trẻ em.
Hình 3. 2: Tập dữ liệu thức ăn trẻ em
Mỗi người khác nhau sẽ cĩ quan điểm đánh giá khác nhau khơng theo một chuẩn quy tắc ngữ pháp nào. Đơi khi những bình luận xuất hiện từ viết tắt, sử dụng các từ láy, các từ pha trộn tiếng nước ngồi hoặc trong một câu cĩ thêm cả các từ tiếng anh (“ Hãng sữa này thật pefect, con mình uống tăng cân, lại ổn định
hệ tiêu hĩa, thích quá điiiii”). Từ đĩ, cĩ thể thấy dữ liệu được thu thập đều cĩ kiểu
khơng tập trung, vụn vặt, đa dạng và đặc biệt là thuần văn bản. Do đĩ để nâng cao hiệu suất cho các mơ hình phân tích quan điểm trên tập dữ liệu thì cần thực hiện các bước tiền xử lý dữ liệu.
3.3. Tiền xử lý dữ liệu và gán nhãn
Tiền xử lý dữ liệu và gán nhãn là một trong những bước quan trọng nhất trong khai thác dữ liệu, đặc biệt là trong khai thác dữ liệu văn bản vì cĩ rất nhiều sự khác biệt về nội dung văn bản trên các kênh truyền thơng điện tử.
3.3.1. Tiền xử lý dữ liệu
Dữ liệu thu thập về sẽ cĩ dạng thơ, do chưa qua xử lý nên cĩ thể dữ liệu bị rỗng, dữ liệu sai chính tả, dữ liệu quá ngắn, quá dài hoặc chứa các biểu tượng icon. Điều này sẽ gây ảnh hưởng đến kết quả của việc phân tích, vì vậy ta cần làm sạch dữ liệu.
Xĩa các icon, kí tự đặc biệt: các kí tự đặc biệt khơng mang ý nghĩa phân lớp, mặc khác sẽ gây nhiễu trong quá trình phân tích. Chuyển tất cả về chữ thường: mỗi số, ký tự đặc biệt, ký tự là đại diện cho một dãy nhị phân trong bộ nhớ máy
tính. Chữ in hoa sẽ cĩ mã Unicode khác chữ in thường, về mặt ngữ nghĩa là giống nhau tuy nhiên máy tính sẽ khơng thể phân biệt dữ liệu đầu vào, dẫn đến cĩ thể kết quả dự đốn bị ảnh hưởng. Vì vậy việc chuyển tồn bộ chữ về chữ thường là hợp lý cho hệ thống phân tích và dự đốn.
Chuyển dạng từ rõ nghĩa: việc chuyển dạng từ rõ nghĩa là cần thiết cho bước tiền xử lý dữ liệu. Các bình luận do người dùng bình luận tiếng Việt nên việc viết tắt hoặc sai chính tả. Chẳng hạn từ ko ngon (khơng ngon), vs (với), 20k (20000) … hay dữ liệu khơng đồng bộ, khơng chuẩn hĩa. Việc này sẽ ảnh hưởng gây nhiều kết quả phân tích. Trong quá trình huấn luyện của học máy, dữ liệu đưa vào là “khơng ngon”, nhưng khi dự đốn dự liệu đầu ra, cụm từ “ko ngon” khơng xuất hiện trong quá trình huấn luyện, vì vậy sẽ khĩ thể nhận diện cảm xúc và dự đốn kết quả được.
Xĩa dịng dữ liệu: tập dữ liệu thu về sẽ cĩ nhiều dữ liệu bị trống, dữ liệu trống khơng cĩ ý nghĩa trong quá trình phân tích, gây tốn bộ nhớ lưu trữ.
Loại bỏ từ dừng: những từ khơng cĩ ý nghĩa cho nội dung văn bản, nhưng lại xuất hiện ở nhiều văn bản. Loại bỏ từ dừng bằnng cách đặt ngưỡng để phát hiện từ dừng.
Bảng 3. 1: Một số từ dừng trong tiếng Việt
à à này ái ái chà này càng
cần chuyện các cái chiếc cho