1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng học sâu cho bài toán phân tích quan điểm

66 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Học Sâu Cho Bài Toán Phân Tích Quan Điểm
Tác giả Nguyễn Thị Mỹ Linh, Võ Thị Ngọc Thắm
Người hướng dẫn ThS. Quách Đình Hoàng
Trường học Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 66
Dung lượng 4,18 MB

Cấu trúc

  • Phần 1: MỞ ĐẦU (11)
    • 1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI (11)
    • 2. MỤC TIÊU VÀ NHIỆM VỤ NGHIÊN CỨU (12)
    • 3. CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU (12)
    • 4. KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC (14)
  • Phần 2: NỘI DUNG (15)
  • Chương 1: CƠ SỞ LÝ THUYẾT (15)
    • 1.1. TỔNG QUAN VỀ PHÂN TÍCH QUAN ĐIỂM (SENTIMENT ANALYSIS) (15)
      • 1.1.1. Khái niệm phân tích quan điểm (15)
      • 1.1.2. Lợi ích của phân tích quan điểm (15)
      • 1.1.3. Các cấp độ phân tích quan điểm (16)
      • 1.1.4. Phân tích quan điểm trên cấp độ khía cạnh (0)
      • 1.1.5. Những trường hợp sử dụng phân tích quan điểm (18)
      • 1.1.6. Thách thức của bài toán phân tích quan điểm (19)
    • 1.2. TỔNG QUAN VỀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN (NLP) (21)
      • 1.2.1. Xử lý ngôn ngữ tự nhiên (21)
      • 1.2.2. Các bước xử lý trong xử lý ngôn ngữ tự nhiên (22)
      • 1.2.3. Một vài ứng dụng của xử lý ngôn ngữ tự nhiên (23)
    • 1.3. WORD EMBEDDING (24)
      • 1.3.1. Term Frequency – Inverse Document Frequency (TF-IDF) (25)
      • 1.3.2. Word2Vec (26)
      • 1.3.3. Glove (30)
      • 1.3.4. FastText (32)
      • 1.3.5. BERT (33)
    • 1.4. TỔNG QUAN VỀ DEEP LEARNING (34)
      • 1.4.1. Deep Learning (34)
      • 1.4.2. Một vài ứng dụng của Deep Learning (34)
      • 1.4.3. Cách thức hoạt động của Deep Learning (35)
      • 1.4.4. Convolutional Neural Network (CNNs) (36)
      • 1.4.5. Recurrent neural network (RNNs) (38)
      • 1.4.6. Long short-term memory (LSTMs) (39)
      • 1.4.7. Transformer (40)
      • 1.4.8. Mô hình BERT dựa trên kiến trúc Transformer (0)
  • Chương 2: XÂY DỰNG MÔ HÌNH PHÂN TÍCH QUAN ĐIỂM (47)
    • 2.1. BÀI TOÁN (47)
    • 2.2. THU THẬP DỮ LIỆU (48)
    • 2.3. XỬ LÝ DỮ LIỆU (50)
      • 2.3.1. Tiền xử lý dữ liệu (50)
      • 2.3.2. Véc-tơ hóa dữ liệu (50)
    • 2.4. XÂY DỰNG, HUẤN LUYỆN MÔ HÌNH VÀ ĐÁNH GIÁ KẾT QUẢ (52)
    • 2.5. XÂY DỰNG ỨNG DỤNG CHO MÔ HÌNH PHÂN TÍCH QUAN ĐIỂM DỰA TRÊN KHÍA CẠNH (56)
      • 2.5.1. Thiết kế (0)
      • 2.5.2. Thực hiện (58)
  • Phần 3: KẾT LUẬN (60)
    • 1. KẾT QUẢ ĐẠT ĐƯỢC (60)
    • 2. ƯU ĐIỂM VÀ NHƯỢC ĐIỂM (60)
    • 3. HƯỚNG PHÁT TRIỂN (61)
    • 4. LỜI KẾT (62)
  • TÀI LIỆU THAM KHẢO (64)

Nội dung

NỘI DUNG

1.1.1 Khái niệm phân tích quan điểm

Phân tích quan điểm (Sentiment Analysis) là một lĩnh vực quan trọng trong xử lý ngôn ngữ tự nhiên và trí tuệ nhân tạo, tập trung vào việc nhận diện, phân loại và đánh giá cảm xúc cũng như ý kiến trong văn bản Lĩnh vực này áp dụng các phương pháp từ ngôn ngữ học máy tính, trích xuất thông tin và phân tích dữ liệu để hiểu và xác định các thông điệp chủ quan và trạng thái cảm xúc một cách hệ thống.

Phân tích quan điểm được ứng dụng rộng rãi trong nhiều lĩnh vực, đặc biệt là trong tiếp thị Phân tích cảm xúc giúp doanh nghiệp hiểu rõ ý kiến và đánh giá của khách hàng về sản phẩm hoặc dịch vụ, từ đó điều chỉnh chiến lược kinh doanh, tăng cường tương tác với khách hàng và cải thiện trải nghiệm mua sắm.

1.1.2 Lợi ích của phân tích quan điểm

• Cung cấp thông tin chuyên sâu khách quan

Công cụ phân tích cảm xúc dựa trên trí tuệ nhân tạo cung cấp thông tin chuyên sâu và khách quan cho doanh nghiệp, giúp họ có được kết quả nhất quán và đáng tin cậy trong việc phân tích ý kiến của khách hàng Thay vì dựa vào đánh giá cá nhân, công nghệ này có khả năng phân loại cảm xúc một cách khách quan, ví dụ như khi xử lý một đánh giá tiêu cực về tốc độ bộ xử lý và vấn đề nhiệt độ, từ đó xác định được những điểm mạnh và yếu của sản phẩm.

• Xây dựng sản phẩm và dịch vụ tốt hơn

Hệ thống phân tích cảm xúc sử dụng công nghệ trí tuệ nhân tạo để giúp doanh nghiệp nâng cao sản phẩm và dịch vụ thông qua phản hồi thực tế từ khách hàng Công nghệ này có khả năng nhận diện các tình huống và đối tượng trong thế giới thực mà khách hàng thể hiện cảm xúc tiêu cực, từ đó hỗ trợ doanh nghiệp cải thiện trải nghiệm khách hàng.

Kỹ sư sản phẩm có thể cải thiện khả năng quản lý nhiệt của bộ xử lý bằng cách phân tích dữ liệu từ phần mềm, trong đó từ "thất vọng" (tiêu cực) được liên kết với "bộ xử lý" (đối tượng) và "nóng lên" (đối tượng).

CƠ SỞ LÝ THUYẾT

TỔNG QUAN VỀ PHÂN TÍCH QUAN ĐIỂM (SENTIMENT ANALYSIS)

1.1.1 Khái niệm phân tích quan điểm

Phân tích quan điểm (Sentiment Analysis) là một lĩnh vực quan trọng trong xử lý ngôn ngữ tự nhiên và trí tuệ nhân tạo, tập trung vào việc nhận diện, phân loại và đánh giá cảm xúc cùng ý kiến trong văn bản Lĩnh vực này áp dụng các kỹ thuật ngôn ngữ học máy tính, trích xuất thông tin và phân tích dữ liệu để hiểu và xác định các thông điệp chủ quan và trạng thái cảm xúc một cách hệ thống.

Phân tích quan điểm là công cụ quan trọng trong nhiều lĩnh vực, đặc biệt là trong tiếp thị Phân tích cảm xúc cho phép doanh nghiệp nắm bắt ý kiến và đánh giá của khách hàng về sản phẩm hoặc dịch vụ, từ đó điều chỉnh chiến lược kinh doanh, tăng cường tương tác và cải thiện trải nghiệm mua sắm.

1.1.2 Lợi ích của phân tích quan điểm

• Cung cấp thông tin chuyên sâu khách quan

Công cụ phân tích cảm xúc dựa trên trí tuệ nhân tạo cung cấp thông tin chuyên sâu và khách quan cho doanh nghiệp, giúp họ có được kết quả nhất quán và đáng tin cậy khi phân tích ý kiến của khách hàng Thay vì phụ thuộc vào đánh giá cá nhân, công nghệ này có khả năng phân loại cảm xúc một cách khách quan, xác định rõ những điểm mạnh và yếu của sản phẩm, như trong trường hợp một đánh giá phản ánh sự ngạc nhiên về tốc độ bộ xử lý nhưng cũng bày tỏ sự thất vọng vì nó nóng lên quá nhanh.

• Xây dựng sản phẩm và dịch vụ tốt hơn

Hệ thống phân tích cảm xúc sử dụng trí tuệ nhân tạo để giúp doanh nghiệp cải thiện sản phẩm và dịch vụ dựa trên phản hồi thực tế từ khách hàng Công nghệ này có khả năng xác định các tình huống và đối tượng trong thế giới thực mà khách hàng thể hiện cảm xúc tiêu cực, từ đó hỗ trợ doanh nghiệp nâng cao trải nghiệm khách hàng.

Kỹ sư sản phẩm có thể cải thiện khả năng quản lý nhiệt của bộ xử lý bằng cách phân tích phần mềm, trong đó từ "thất vọng" (tiêu cực) được liên kết với "bộ xử lý" (đối tượng) và "nóng lên" (đối tượng).

• Kết quả theo thời gian thực

Trong bối cảnh thị trường hiện nay, doanh nghiệp cần nhanh chóng ứng phó với các tình huống khẩn cấp và xu hướng mới Công cụ phân tích cảm xúc cho phép nhà tiếp thị nắm bắt cảm xúc của khách hàng đối với thương hiệu, sản phẩm và dịch vụ, từ đó thực hiện các biện pháp hành động kịp thời Ngoài ra, họ có thể thiết lập cảnh báo khi phát hiện cảm xúc tiêu cực thông qua việc sử dụng từ khóa cụ thể trong văn bản.

1.1.3 Các cấp độ phân tích quan điểm

Cấp độ phân tích quan điểm được phân chia thành nhiều cấp độ, từ cấp độ từ vựng đến cấp độ khía cạnh, mỗi cấp độ cung cấp thông tin cảm xúc và quan điểm chi tiết Sự phân tích này tạo nên bức tranh toàn diện về ý kiến và cảm nhận của người dùng, giúp hiểu rõ hơn về các yếu tố ảnh hưởng đến quan điểm của họ Dưới đây là mô tả chi tiết về các cấp độ phân tích quan điểm.

Cấp độ từ vựng (Lexical level) tập trung vào việc phân tích cảm xúc của từng từ hoặc cụm từ trong văn bản Mục tiêu chính là xác định cảm xúc liên kết với từng đơn vị ngôn ngữ Để thực hiện điều này, có thể sử dụng từ điển cảm xúc hoặc phân tích ngữ cảnh Chẳng hạn, từ "tuyệt vời" thường được xem là tích cực, trong khi từ "tệ" lại mang ý nghĩa tiêu cực.

Cấp độ câu tập trung vào việc phân tích cảm xúc của từng câu trong văn bản, nhằm xác định cảm xúc tổng thể như tích cực, trung lập hay tiêu cực Để thực hiện điều này, có thể áp dụng các phương pháp như phân loại máy học, mạng nơ-ron hồi quy (RNN) hoặc các mô hình học sâu khác Ví dụ, câu "Sản phẩm này rất tốt" thể hiện cảm xúc tích cực, trong khi câu "Tôi không hài lòng với dịch vụ khách hàng" thể hiện cảm xúc tiêu cực.

Cấp độ văn bản tập trung vào việc phân tích cảm xúc tổng thể của văn bản nhằm xác định cảm xúc chung như tích cực, trung lập hay tiêu cực Để thực hiện điều này, có thể sử dụng các mô hình phân loại như mạng nơ-ron, SVM hoặc các phương pháp học máy khác Chẳng hạn, một bài đánh giá sản phẩm sẽ được xem là tích cực nếu nó thể hiện sự hài lòng với sản phẩm.

Cấp độ khía cạnh (Aspect level) tập trung vào việc phân tích cảm xúc liên quan đến từng khía cạnh cụ thể trong văn bản, như chất lượng sản phẩm, dịch vụ khách hàng và giá cả Để thực hiện điều này, cần phân đoạn câu, xác định các khía cạnh và áp dụng các phương pháp phân tích cảm xúc thích hợp Ví dụ, trong một bài đánh giá nhà hàng, có thể phân tích cảm xúc liên quan đến chất lượng thức ăn, không gian và phục vụ một cách riêng biệt cho từng khía cạnh.

1.1.4 Phân tích quan điểm trên cấp độ khía cạnh

Phân tích quan điểm dựa trên khía cạnh (Aspect-based Sentiment Analysis) là một phương pháp quan trọng trong xử lý ngôn ngữ tự nhiên và phân tích cảm xúc, nhằm xác định cảm xúc và quan điểm của người dùng đối với từng khía cạnh cụ thể trong văn bản Khía cạnh được hiểu là các thành phần, đặc điểm hoặc yếu tố của đối tượng hoặc sự kiện mà người dùng bày tỏ ý kiến Chẳng hạn, trong một bài đánh giá sản phẩm điện thoại di động, các khía cạnh có thể bao gồm hiệu năng, màn hình, pin, camera và hệ điều hành.

Phân tích quan điểm theo khía cạnh là công cụ quan trọng trong đánh giá sản phẩm, nghiên cứu thị trường, phản hồi khách hàng và quản lý chất lượng Nó giúp doanh nghiệp hiểu rõ ý kiến, nhu cầu và phản hồi của khách hàng, từ đó cải thiện sản phẩm, dịch vụ và chiến lược kinh doanh Hơn nữa, phương pháp này hỗ trợ theo dõi trực tuyến, phân tích mạng xã hội và phản ứng nhanh với ý kiến người dùng trong thời gian thực.

Phân tích quan điểm dựa trên khía cạnh có các bước chính sau:

Phân đoạn câu: Đầu tiên, văn bản đầu vào được phân đoạn thành các câu để tách riêng các ý kiến và cảm nhận riêng biệt về từng khía cạnh

Ví dụ: Văn bản đầu vào "Sản phẩm này có màn hình rộng và sắc nét, nhưng pin yếu và camera không đáng khen ngợi."

Các câu sau được phân đoạn:

"Sản phẩm này có màn hình rộng và sắc nét."

"Camera không đáng khen ngợi."

Để xác định khía cạnh trong câu, chúng ta có thể sử dụng từ điển khía cạnh hoặc áp dụng phương pháp học máy để phân loại từ và cụm từ vào các khía cạnh tương ứng.

Tiếp tục ví dụ trên các khía cạnh được xác định:

Phân tích cảm xúc là quá trình xem xét các khía cạnh và đánh giá cảm xúc hoặc quan điểm liên quan đến từng khía cạnh đó Chúng ta có thể sử dụng các phương pháp như phân loại cảm xúc, hồi quy hoặc các kỹ thuật học máy khác để xác định tính tích cực, tiêu cực hoặc trung lập của các quan điểm.

Sau khi xác định khía cạnh, chúng ta phân tích cảm xúc hoặc quan điểm liên quan đến từng khía cạnh

Màn hình: tích cực (positive)

TỔNG QUAN VỀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN (NLP)

1.2.1 Xử lý ngôn ngữ tự nhiên

Xử lý ngôn ngữ tự nhiên (NLP) là một lĩnh vực quan trọng trong trí tuệ nhân tạo và khoa học máy tính NLP nghiên cứu và phát triển các công nghệ giúp máy tính hiểu, xử lý và tương tác với ngôn ngữ tự nhiên của con người.

Mục tiêu chính của xử lý ngôn ngữ tự nhiên là giúp máy tính hiểu và tương tác với ngôn ngữ con người giống như con người Điều này bao gồm việc hiểu ý nghĩa và cấu trúc văn bản, phân tích và trích xuất thông tin quan trọng, thực hiện dịch thuật tự động, tạo ra văn bản tự nhiên và phân tích cảm xúc trong văn bản.

Xử lý ngôn ngữ tự nhiên (NLP) là lĩnh vực nghiên cứu tập trung vào việc áp dụng các kỹ thuật và phương pháp tính toán nhằm hiểu và tương tác với ngôn ngữ tự nhiên của con người NLP bao gồm ba khía cạnh chính: phân tích ngữ nghĩa, phân tích ngữ pháp và nhận diện thực thể, giúp cải thiện khả năng giao tiếp giữa máy tính và con người.

Nhận dạng giọng nói là quá trình chuyển đổi lời nói thành văn bản, đóng vai trò quan trọng trong xử lý ngôn ngữ tự nhiên Máy tính áp dụng các mô hình như mô hình Markov ẩn (HMM) để phân tích và chia nhỏ giọng nói thành các đơn vị nhỏ hơn Sau đó, hệ thống so sánh với dữ liệu giọng nói đã được ghi lại trước đó nhằm xác định âm vị và từ ngữ mà người dùng phát ra.

Hiểu ngôn ngữ tự nhiên (Natural Language Understanding - NLU) là bước phức tạp nhất trong xử lý ngôn ngữ tự nhiên, yêu cầu máy tính nắm bắt ý nghĩa từ và cấu trúc ngữ pháp của câu Quá trình này bao gồm việc gắn thẻ Part-of-Speech (POS) cho từng từ để xác định chức năng ngữ pháp, cùng với việc tạo cây cú pháp để phân tích cấu trúc câu NLU cũng nhằm hiểu ý nghĩa tổng thể của câu và các phần của nó, từ đó có thể đưa ra phản hồi hoặc thực hiện các nhiệm vụ liên quan.

Tạo ngôn ngữ tự nhiên (NLG) là quá trình mà máy tính sản sinh ngôn ngữ tự nhiên từ dữ liệu có sẵn, cho phép tạo ra văn bản, bình luận, thông báo và tương tác giọng nói tự động Các mô hình sinh tự động như LSTM và GPT đóng vai trò quan trọng trong việc sản xuất văn bản tự nhiên, đáp ứng nhu cầu của người dùng một cách hiệu quả.

1.2.2 Các bước xử lý trong xử lý ngôn ngữ tự nhiên

Phân tích hình thái là bước đầu tiên trong xử lý văn bản, nhằm nhận diện và mô tả cấu trúc của các đơn vị ngôn ngữ như từ gốc, biên từ, phụ tố và từ loại Hai bài toán chính trong giai đoạn này bao gồm tách từ (word segmentation) và gán nhãn từ loại (part-of-speech tagging), đặc biệt quan trọng trong việc xử lý tiếng Việt.

Phân tích cú pháp là quá trình phân tích chuỗi biểu tượng ngôn ngữ theo cú pháp của ngôn ngữ, với đầu vào là một câu văn và đầu ra là cây phân tích thể hiện cấu trúc cú pháp Các phương pháp phổ biến trong phân tích cú pháp bao gồm văn phạm phi ngữ cảnh (CFG), văn phạm danh mục kết nối (CCG) và văn phạm phụ thuộc (DG).

Phân tích ngữ nghĩa là quá trình tìm hiểu ý nghĩa của các đơn vị ngôn ngữ và xác định mối quan hệ ngữ nghĩa giữa chúng, từ cấp độ từ vựng đến cấp độ cú pháp Nó giúp chúng ta hiểu rõ hơn về các từ và câu trong bối cảnh ngữ nghĩa của chúng.

Phân tích diễn ngôn là quá trình nghiên cứu mối liên hệ giữa ngôn ngữ và ngữ cảnh sử dụng, thực hiện ở cấp độ đoạn văn hoặc toàn bộ văn bản Việc này giúp làm rõ ý nghĩa và tầm quan trọng của từng đoạn văn trong bối cảnh tổng thể của văn bản, từ đó nâng cao khả năng hiểu biết và truyền đạt thông điệp hiệu quả hơn.

1.2.3 Một vài ứng dụng của xử lý ngôn ngữ tự nhiên

Xử lý ngôn ngữ tự nhiên (NLP) đã trở thành một phần quan trọng trong nhiều lĩnh vực của cuộc sống và công việc Trong hơn 50 năm qua, NLP đã có những bước tiến vượt bậc, mang lại nhiều ứng dụng đột phá và cải tiến đáng kể trong cách chúng ta tương tác với công nghệ.

Nhận dạng giọng nói (ASR hoặc STT) là một ứng dụng tiêu biểu của xử lý ngôn ngữ tự nhiên, cho phép chuyển đổi tiếng nói thành văn bản Nhờ vào sự tiến bộ của các thuật toán và công nghệ, độ chính xác trong việc chuyển đổi này ngày càng cao Hệ thống nhận dạng giọng nói hiện nay rất phổ biến trong các ứng dụng hỗ trợ khách hàng, điều khiển thiết bị bằng giọng nói và ghi chú cuộc họp.

Công nghệ tổng hợp giọng nói (Speech synthesis hay Text to Speech - TTS) cho phép máy tính đọc văn bản một cách tự nhiên và sinh động Nhờ sự phát triển không ngừng, giọng nói của các chatbot và trợ lý ảo ngày càng trở nên giống thật, tạo ra sự tương tác gần gũi và tự nhiên hơn với con người.

Truy xuất thông tin (IR) và trích chọn thông tin (IE) là hai lĩnh vực quan trọng trong xử lý ngôn ngữ tự nhiên, giúp tổ chức và tìm kiếm thông tin từ các nguồn dữ liệu lớn và không cấu trúc như tài liệu và trang web Các công cụ tìm kiếm như Google và Bing đã ứng dụng xử lý ngôn ngữ tự nhiên để nâng cao hiệu suất tìm kiếm, mang lại kết quả chính xác và phù hợp với nhu cầu của người dùng.

Trả lời câu hỏi (Question Answering – QA) là một bài toán phức tạp trong xử lý ngôn ngữ tự nhiên, yêu cầu máy tính hiểu và trả lời câu hỏi bằng ngôn ngữ tự nhiên Một hệ thống QA hiệu quả cần kết hợp các phương pháp như trích xuất thông tin, phân tích ngữ pháp và xử lý ngữ nghĩa Trong trường hợp các câu hỏi đơn giản, hệ thống có thể đưa ra câu trả lời chính xác, nhưng với những câu hỏi phức tạp hơn, vẫn tồn tại nhiều thách thức và cần sự phát triển thêm trong lĩnh vực xử lý ngôn ngữ tự nhiên.

WORD EMBEDDING

Word embedding là một kỹ thuật trong xử lý ngôn ngữ tự nhiên (NLP) dùng để chuyển đổi từ và câu thành các vectơ số học trong không gian đa chiều Mục tiêu chính của word embedding là ánh xạ mỗi từ trong ngôn ngữ thành các vectơ có ý nghĩa ngữ nghĩa, đảm bảo rằng những từ có ý nghĩa tương đồng được biểu diễn gần nhau trong không gian vectơ.

Trong word embedding, mỗi từ được biểu diễn bằng một vectơ số học với kích thước cố định, được xác định bởi các thuật toán học máy như Word2Vec, GloVe và FastText Các thuật toán này học cách biểu diễn từ dựa trên ngữ cảnh mà chúng xuất hiện trong văn bản.

Giả sử chúng ta có một tập dữ liệu gồm các câu văn đơn giản:

Sử dụng thuật toán Word2Vec, chúng ta có khả năng biểu diễn mỗi từ trong câu dưới dạng các vectơ số học Sau khi quá trình huấn luyện hoàn tất, các vectơ này sẽ thể hiện các từ một cách chính xác và có ý nghĩa.

Các vectơ từ có khả năng thể hiện ý nghĩa và mối quan hệ giữa các từ trong ngôn ngữ Chẳng hạn, từ "pizza" có vectơ gần với từ "ăn" và cũng có sự tương đồng với từ "thích".

"chơi" và "bóng đá" có mối quan hệ gần nhau hơn so với các từ khác

Việc áp dụng word embedding trong phân loại văn bản giúp máy tính hiểu rõ ý nghĩa và mối quan hệ giữa các từ Chẳng hạn, với câu "Tôi thích ăn sushi", máy tính có khả năng nhận diện rằng từ "sushi" tương đồng với "pizza" và "ăn", từ đó rút ra kết luận rằng câu này mang ý nghĩa tích cực.

Trong xử lý ngôn ngữ tự nhiên, có một số phương pháp phổ biến để nhúng từ hoặc câu, bao gồm TF-IDF, Word2Vec, GloVe, FastText và BERT Những phương pháp này giúp cải thiện khả năng hiểu ngữ nghĩa và mối quan hệ giữa các từ trong văn bản.

1.3.1 Term Frequency – Inverse Document Frequency (TF-IDF)

TF-IDF (Tần suất từ - Tần suất nghịch đảo tài liệu) là một kỹ thuật quan trọng trong khai phá dữ liệu văn bản, được sử dụng để đánh giá tầm quan trọng của từ trong văn bản Giá trị TF-IDF cao cho thấy từ đó có vai trò quan trọng, phụ thuộc vào tần suất xuất hiện trong văn bản và tần suất của từ trong toàn bộ tập dữ liệu Kỹ thuật này thường được áp dụng trong các hệ thống tìm kiếm để đánh giá và sắp xếp văn bản theo truy vấn của người dùng Ngoài ra, TF-IDF còn hỗ trợ trong việc lọc các từ dừng (stopwords) trong các bài toán tóm tắt và phân loại văn bản.

Tần suất xuất hiện của từ (Term Frequency - TF) là số lần một từ xuất hiện trong văn bản Do độ dài của các văn bản có thể khác nhau, một số từ có thể xuất hiện nhiều lần hơn trong các văn bản dài Để so sánh chính xác hơn, tần suất xuất hiện của từ thường được chia cho tổng số từ trong văn bản.

𝑡𝑓(𝑡, 𝑑): Tần suất xuất hiện của từ t trong văn bản d

𝑓(𝑡, 𝑑): Số lần xuất hiện của từ t trong văn bản d

𝑚𝑎𝑥⁡{𝑓(𝑤, 𝑑): 𝑤 ∈ 𝑑}: Số lần xuất hiện của từ có số lần xuất hiện nhiều nhất trong văn bản d

IDF (Nghịch đảo tần suất của văn bản) là một chỉ số quan trọng giúp đánh giá tầm quan trọng của từng từ trong văn bản Khi tính toán TF, mọi từ được xem là có độ quan trọng như nhau, nhưng những từ phổ biến như “is”, “of” và “that” thường xuất hiện nhiều mà không có giá trị cao Do đó, cần giảm độ quan trọng của những từ này để phản ánh đúng vai trò của chúng trong nội dung.

𝐼𝑑𝑓(𝑡, 𝐷): giá trị idf của từ t trong tập văn bản

|𝐷|: Tổng số văn bản trong tập D

|{𝑑 ∈ 𝐷 ∶ 𝑡⁡ ∈ 𝑑}|: thể hiện số văn bản trong tập D có chứa từ t

Cơ số logarit trong công thức không làm thay đổi giá trị IDF của từ, mà chỉ thu hẹp khoảng giá trị của nó Việc thay đổi cơ số dẫn đến sự thay đổi giá trị của các từ, nhưng tỷ lệ giữa các trọng lượng vẫn không thay đổi Điều này có nghĩa là thay đổi cơ số không ảnh hưởng đến tỷ lệ giữa các giá trị IDF Sử dụng logarit giúp giá trị TF-IDF của một từ nhỏ hơn, vì công thức tính TF-IDF là tích của TF và IDF của từ đó.

Cụ thể, chúng ta có công thức tính tf-idf hoàn chỉnh như sau: tf-idf (t, d, D) = tf

Những từ có giá trị TF-IDF cao là những từ xuất hiện thường xuyên trong văn bản nhưng ít xuất hiện trong các văn bản khác Phân tích này giúp loại bỏ các từ phổ biến và giữ lại những từ khóa có giá trị cao, từ đó tăng cường độ nổi bật của nội dung.

Word2vec là một kỹ thuật trong xử lý ngôn ngữ tự nhiên, sử dụng mô hình mạng thần kinh để học các liên kết từ trong kho ngữ liệu văn bản lớn Sau khi huấn luyện, mô hình có khả năng phát hiện từ đồng nghĩa và gợi ý từ bổ sung cho câu Từng từ được biểu diễn bằng một vectơ số, cho phép tính toán độ tương tự ngữ nghĩa giữa các từ thông qua hàm toán học đơn giản, cụ thể là độ tương tự cosin giữa các vectơ.

Kiến trúc tổng quát của word2vec:

Mô hình word2vec áp dụng kiến trúc mạng nơ-ron đơn giản với một lớp ẩn duy nhất nhằm mục tiêu xác định ma trận trọng số cho các từ Những trọng số này được chuyển đổi thành các véc-tơ từ, giúp hiểu rõ hơn về mối quan hệ giữa các từ trong ngữ cảnh.

Mô hình này gồm 3 lớp chính:

+ Input layer: véc-tơ từng từ đầu vào được biểu diễn dạng one-hot

+ Output layer: là một véc-tơ phân bố xác suất

Có 2 phương pháp phổ biến: Continuous Bag-of-Words (CBOW) và Skip-gram

Giả sử một từ có thể được sử dụng để tạo ra các từ xung quanh trong một chuỗi văn bản, ví dụ như “the”, “man”, “loves”, “his”, “son” Khi chọn “loves” làm từ trung tâm và đặt kích thước cửa sổ ngữ cảnh là 2, mô hình sẽ bỏ qua gam và xem xét xác suất có điều kiện để tạo ra các từ ngữ cảnh.

“the”, “man”, “his”, và “son”, cách từ trung tâm không quá 2 từ:

P (“the”, “man”, “his”, “son” | “loves”)

Giả định rằng các từ ngữ cảnh được tạo ra một cách độc lập với từ trung tâm, tức là độc lập có điều kiện Trong tình huống này, xác suất có điều kiện có thể được diễn đạt lại như sau:

P (“the” | “loves”) P (“man” | “loves”) P (“his” | “loves”) P (“son” | “loves”)

TỔNG QUAN VỀ DEEP LEARNING

Học sâu (Deep Learning) là một phương pháp trong lĩnh vực trí tuệ nhân tạo, sử dụng các mô hình mạng nơ-ron nhân tạo sâu với nhiều lớp ẩn Phương pháp này mô phỏng cách thức hoạt động của hệ thống thần kinh con người, nơi thông tin được truyền qua các lớp neuron và các kết nối giữa chúng.

Deep Learning, với khả năng học từ dữ liệu lớn và đa dạng, đã đạt được nhiều thành tựu ấn tượng trong các lĩnh vực như thị giác máy tính, xử lý ngôn ngữ tự nhiên và nhận dạng giọng nói Các mô hình phổ biến trong Deep Learning bao gồm mạng nơ-ron tích chập (CNN) cho thị giác máy tính và bộ nhớ ngắn hạn kéo dài (LSTM) cho xử lý dữ liệu chuỗi thời gian.

Deep Learning đã mang lại những thành tựu ấn tượng trong nhiều lĩnh vực như nhận dạng hình ảnh, dịch máy tự động, gợi ý nội dung và xe tự lái Với khả năng học hỏi và biểu diễn các mô hình phức tạp, Deep Learning không chỉ thúc đẩy sự phát triển của trí tuệ nhân tạo mà còn mở ra nhiều cơ hội ứng dụng thực tiễn.

1.4.2 Một vài ứng dụng của Deep Learning

Trong kỷ nguyên Công nghiệp 4.0, tự động hóa đóng vai trò then chốt trong phát triển xe tự lái Công nghệ Deep Learning đã được áp dụng thành công để xây dựng hệ thống lái xe tự động, cho phép mạng nơ-ron thực hiện các phép tính như phát hiện vật thể xung quanh, xác định khoảng cách an toàn và hiểu biết về luật giao thông của từng quốc gia, từ đó đưa ra quyết định tối ưu và nhanh chóng.

Phân tích cảm xúc người dùng qua học sâu giúp doanh nghiệp hiểu rõ ngôn ngữ tự nhiên và cách diễn đạt trên mạng xã hội Bằng cách xem xét các tương tác, bình luận và lượt thích, doanh nghiệp có thể xác định cảm xúc và thái độ của người dùng Từ đó, họ có thể xây dựng chiến lược tiếp cận khách hàng hiệu quả hơn.

Mô phỏng, hình ảnh và nhận dạng khuôn mặt là một ứng dụng quan trọng của học sâu, cho phép phát triển công nghệ nhận dạng hình ảnh và khuôn mặt, như tính năng tự động gắn thẻ người dùng trên Facebook và quản lý ảnh trong Google Photos Ngoài ra, học sâu cũng được áp dụng trong các trợ lý ảo phổ biến như Alexa, Siri và Google Assistant, giúp các ứng dụng này hiểu biết hơn về người dùng thông qua việc phân tích ngôn ngữ tự nhiên, từ đó thực hiện các lệnh một cách chính xác.

Chức năng dịch văn bản tự động: Đây là một ứng dụng học sâu để nhận dạng ngôn ngữ và chuyển đổi hình ảnh

Hệ thống gợi ý của các nền tảng lớn như Facebook, Amazon và Netflix đóng vai trò quan trọng trong việc tăng cường sự tương tác của người dùng Những hệ thống này sử dụng dữ liệu người dùng để đề xuất sản phẩm, bộ phim, quảng cáo và khóa học phù hợp với sở thích của họ Nhờ vào khả năng phân tích dữ liệu, các nền tảng này có thể cung cấp những gợi ý chính xác, giúp người dùng tìm thấy nội dung và sản phẩm mà họ thực sự quan tâm.

1.4.3 Cách thức hoạt động của Deep Learning

Một mạng nơ-ron được cấu tạo từ nhiều lớp khác nhau, với số lượng lớp càng nhiều thì mạng càng trở nên "sâu" Trong mỗi lớp, các nút mạng được kết nối với các lớp liền kề, và mỗi kết nối giữa các nút sẽ có một trọng số tương ứng Trọng số này càng cao thì ảnh hưởng của kết nối đến mạng nơ-ron càng lớn.

Mỗi nơ-ron trong mạng nơ-ron có một hàm kích hoạt, có vai trò chuẩn hóa đầu ra của nơ-ron Dữ liệu mà người dùng cung cấp sẽ đi qua tất cả các lớp và cuối cùng trả về kết quả tại lớp đầu ra, hay còn gọi là output layer.

Trong huấn luyện mô hình mạng nơ-ron, trọng số được điều chỉnh nhằm tìm ra giá trị tối ưu giúp cải thiện độ chính xác của phán đoán.

Các hệ thống Deep Learning cần phần cứng mạnh mẽ để xử lý lượng dữ liệu lớn và thực hiện các phép tính phức tạp Việc triển khai nhiều mô hình Deep Learning có thể mất từ vài tuần đến vài tháng, ngay cả trên những phần cứng tiên tiến nhất hiện nay.

Mạng nơ-ron tích chập (Convolutional Neural Network - CNN) là một kiến trúc mạng nơ-ron nhân tạo phổ biến trong xử lý ảnh và thị giác máy tính CNN được thiết kế dựa trên nguyên lý hoạt động của thị giác con người, giúp nhận diện và phân loại hình ảnh một cách hiệu quả.

Mạng CNN bao gồm nhiều lớp tích chập chồng lên nhau, sử dụng các hàm kích hoạt phi tuyến như ReLU và tanh để kích hoạt trọng số trong các nút Mỗi lớp, sau khi trải qua các hàm kích hoạt, sẽ tạo ra thông tin trừu tượng hơn cho các lớp tiếp theo.

Quá trình huấn luyện mạng CNN bao gồm việc cung cấp dữ liệu huấn luyện với ảnh đầu vào và nhãn tương ứng Mạng CNN tự động điều chỉnh trọng số thông qua lan truyền ngược và tối ưu hóa, nhằm nâng cao độ chính xác trong phân loại ảnh.

Với cấu trúc học sâu, mạng nơ-ron tích chập (CNN) đã thành công vượt trội trong nhiều nhiệm vụ xử lý ảnh như nhận diện khuôn mặt, phân loại đối tượng và nhận dạng chữ viết tay Mạng CNN bao gồm các lớp cơ bản, đóng vai trò quan trọng trong các ứng dụng thị giác máy tính.

XÂY DỰNG MÔ HÌNH PHÂN TÍCH QUAN ĐIỂM

BÀI TOÁN

Phân tích quan điểm dựa trên khía cạnh (Aspect-based Sentiment Analysis) là một hình thức nâng cao của phân tích quan điểm thông thường Phương pháp này không chỉ giúp xác định quan điểm tổng thể mà còn cho phép phân tích và đánh giá quan điểm theo từng khía cạnh cụ thể của một đối tượng hoặc sự kiện Trong văn bản, các khía cạnh được hiểu là những yếu tố, tính chất, hoặc phần tử mà người viết hoặc người đánh giá muốn diễn đạt ý kiến của mình.

Các bước để giải quyết bài toán phân tích quan điểm như sau:

Bước đầu tiên trong quy trình huấn luyện mô hình máy học là thu thập dữ liệu phù hợp Dữ liệu này không chỉ cần đáp ứng yêu cầu của bài toán mà còn phải đa dạng và có kích thước lớn để mô hình có thể nhận diện các mẫu và mối quan hệ quan trọng.

Sau khi thu thập dữ liệu, bước xử lý dữ liệu bao gồm việc tiền xử lý để chuẩn hóa, làm sạch và loại bỏ dữ liệu nhiễu hoặc không cần thiết Quá trình này còn chuyển đổi văn bản thành dạng số hóa, giúp giảm kích thước đầu vào và cải thiện hiệu suất của mô hình máy học.

Bước 3: Xây dựng mô hình - Chúng tôi phát triển hai mô hình chính để phân tích quan điểm trong văn bản Mô hình đầu tiên là CNN-LSTM, kết hợp CNN để trích xuất đặc trưng và LSTM để nắm bắt các phụ thuộc dài hạn, giúp nhận diện quan điểm dựa trên các khía cạnh trong văn bản Mô hình thứ hai, PhoBERT, là một mô hình ngôn ngữ tự nhiên dựa trên Transformer, được huấn luyện trên dữ liệu tiếng Việt, với khả năng hiểu ngữ cảnh và ý nghĩa từ, hỗ trợ phân tích quan điểm theo khía cạnh.

Bước 4: Đánh giá kết quả - Sau khi hoàn tất quá trình huấn luyện mô hình, chúng tôi tiến hành đánh giá hiệu suất của nó trên tập dữ liệu kiểm tra hoặc tập dữ liệu mới Điều này giúp xác định độ chính xác và hiệu năng của mô hình, từ đó lựa chọn được mô hình tối ưu nhất.

Bước 5: Xây dựng ứng dụng - Sau khi hoàn thiện mô hình, chúng tôi phát triển ứng dụng để trực quan hóa kết quả và thực hiện dự đoán một cách dễ dàng Ứng dụng này cho phép người dùng phân tích ý kiến và xử lý dữ liệu theo các khía cạnh cụ thể, đồng thời hiển thị kết quả dự đoán một cách trực quan và dễ hiểu.

THU THẬP DỮ LIỆU

Dữ liệu lấy từ bộ dữ liệu Vietnamese Language and Speech Processing (VLSP)

Bộ dữ liệu đánh giá nhà hàng năm 2018 cung cấp thông tin quý giá cho nghiên cứu và phát triển các mô hình phân tích quan điểm trong ngữ cảnh nhà hàng bằng tiếng Việt Dữ liệu bao gồm ba tập: tập train với 2.961 đánh giá và 9.034 khía cạnh, tập val với 1.290 đánh giá và 3.408 khía cạnh, và tập test với 500 đánh giá và 2.419 khía cạnh.

Mỗi tập dữ liệu bao gồm các đánh giá về nhà hàng bằng tiếng Việt, với mỗi đánh giá được phân loại theo nhiều tiêu chí như chất lượng dịch vụ, món ăn, không gian, giá cả và các khía cạnh khác.

• Nhãn đánh giá, quan điểm, cảm nhận (opinion polarity) bao gồm:

- positive: tức nhận xét tích cực, khen

- negative: tức nhận xét tiêu cực, chê

- neutral: tức nằm giữa tích cực và tiêu cực (trung lập)

• Nhãn aspect: gồm bộ entity-attribute của thực thể

- restaurant (nhà hàng): nói đến nhà hàng nói chung, khi không chỉ cụ thể một entity nào như ở dưới, thì có nghĩa là đề cập chung đến restaurant

Nhà hàng sở hữu không gian đẹp mắt với thiết kế ấn tượng, bao gồm sân vườn rộng rãi và khu vực vui chơi dành cho trẻ em, tạo cảm giác thoải mái và thân thiện cho thực khách.

- location (vị trí): liên quan vị trí nhà hàng có thuận tiện không, view nhà hàng có đẹp không, có chỗ gửi xe không, …

- food (đồ ăn): liên quan đến các các món ăn tronh nhà hàng

- service (phục vụ): Liên quan đến nhân viên phục vụ và cách họ đối xử với khách hàng

- drinks (đồ uống): liên quan đến các loại đồ uống trong nhà hàng

- general (nói chung): thường được sử dụng với khái niệm "nhà hàng" nói chung

- quality (chất lượng): thường được sử dụng với đồ ăn, đồ uống để đánh giá chất lượng

- price (giá cả): liên quan đến giá của nhà hàng hoặc các mặt hàng như đồ ăn, đồ uống, dịch vụ

- style_option (kiểu, tùy chọn): sử dụng để miêu tả cách trình bày, kiểu phục vụ, sự đa dạng trong thực đơn

- miscellaneous (thuộc tính khác): các thuộc tính khác không thuộc vào nhóm trên

The article covers several key aspects of a restaurant experience, including general restaurant characteristics, pricing, and miscellaneous features It emphasizes the quality of food and drinks, presentation styles, and their respective prices Additionally, it discusses the overall service quality, ambiance, and location of the restaurant.

Hình 2.1: Minh họa về tập dữ liệu

XỬ LÝ DỮ LIỆU

2.3.1 Tiền xử lý dữ liệu

Để loại bỏ các ký tự đặc biệt, ký tự kéo dài, emoji, tách từ, thay thế từ, chuyển chữ hoa sang chữ thường và chuyển về chữ không dấu, bạn có thể thực hiện theo các bước sau.

Loại bỏ các ký tự đặc biệt là quá trình thay thế dấu câu, ký tự đặc biệt và ký tự trong URL bằng khoảng trắng.

Loại bỏ các ký tự kéo dài là quá trình rút gọn những ký tự liên tiếp giống nhau thành một ký tự duy nhất Chẳng hạn, từ "hayyy" sẽ được chuyển thành "hay".

Loại bỏ emoji: Các biểu tượng cảm xúc như hình vui mặt và biểu tượng đặc biệt khác được loại bỏ khỏi văn bản

Thay thế từ: thay thế các từ trong replace_list bằng các giá trị tương ứng để chuẩn hóa tiếng Việt

Tách từ: Văn bản được tách thành các từ riêng lẻ để chuẩn bị cho các bước xử lý tiếp theo

Chuyển chữ hoa thành chữ thường: Các chữ hoa trong văn bản được chuyển đổi thành chữ thường

Chuyển về chữ không dấu: Các ký tự có dấu trong văn bản được chuyển thành các ký tự không dấu tương ứng

Hình 2.1: Minh họa các đánh giá sau khi tiền xử lý

2.3.2 Véc-tơ hóa dữ liệu

Véc-tơ hóa dữ liệu input trong mô hình CNN_LSTM

Tokenization là quá trình chia câu thành các từ hoặc token riêng lẻ, có thể thực hiện bằng cách sử dụng các công cụ như tokenizer trong thư viện Natural Language Toolkit (NLTK) hoặc áp dụng các phương pháp tùy chỉnh khác.

Chuyển đổi từ thành mã số là quá trình mà mỗi từ (hoặc token) trong câu được ánh xạ thành một mã số tương ứng Quá trình này thường sử dụng từ điển hoặc bảng ánh xạ, trong đó mỗi từ được gán một chỉ số số học cụ thể.

Padding và truncation là hai phương pháp quan trọng để đảm bảo độ dài đồng nhất cho các câu trong văn bản Padding bao gồm việc thêm mã số đặc biệt như 0 vào cuối các câu ngắn hơn, trong khi truncation là quá trình cắt bớt các câu dài hơn để đạt được độ dài giới hạn Sử dụng cả hai kỹ thuật này giúp cải thiện tính nhất quán và hiệu quả trong việc xử lý ngôn ngữ tự nhiên.

Véc-tơ hóa là quá trình chuyển đổi mã số thành các véc-tơ nhúng, giúp biểu diễn thông tin một cách hiệu quả Các phương pháp nhúng từ, chẳng hạn như FastText, được sử dụng để thực hiện việc chuyển đổi này, tạo ra các véc-tơ nhúng tương ứng cho từng mã số.

Véc-tơ hóa dữ liệu input trong mô hình phoBERT

Tokenization là quá trình phân tách dữ liệu văn bản thành các từ hoặc ký tự đơn, với sự hỗ trợ của tokenizer trong PhoBERT Tokenizer này áp dụng quy tắc và kiến thức ngôn ngữ tiếng Việt, nhằm đảm bảo độ chính xác cao trong việc phân tách từ.

Mã hóa thành mã số là quá trình chuyển đổi các từ hoặc ký tự thành các mã số tương ứng dựa trên từ điển của mô hình PhoBERT Mỗi mã số này đại diện cho một từ hoặc ký tự cụ thể trong từ điển, giúp cải thiện khả năng xử lý ngôn ngữ tự nhiên.

Trong quá trình mã hóa, các mã số đặc biệt như [CLS] (đánh dấu câu hỏi), [SEP] (phân cách giữa hai câu) và [PAD] (đệm) được thêm vào chuỗi mã số Cụ thể, [CLS] được đặt ở đầu câu, [SEP] nằm giữa hai câu, và [PAD] được thêm vào cuối câu để đảm bảo rằng tất cả các câu đều có cùng độ dài.

Chuyển đổi mã số thành véc-tơ nhúng là quá trình quan trọng trong mô hình PhoBERT, nơi các mã số được mã hóa sẽ được chuyển đổi thành các véc-tơ nhúng tương ứng Những véc-tơ nhúng này đóng vai trò đại diện cho từng từ hoặc ký tự trong câu, giúp cải thiện khả năng hiểu ngữ nghĩa của mô hình.

Véc-tơ hóa dữ liệu output

Sử dụng phương pháp one-hot, gán các giá trị cảm xúc thành chuỗi véc-tơ số: none = [1, 0, 0, 0] positive = [0, 1, 0, 0] negative = [0, 0, 1, 0] neutral = [0, 0, 0, 1]

XÂY DỰNG, HUẤN LUYỆN MÔ HÌNH VÀ ĐÁNH GIÁ KẾT QUẢ

• Mô hình CNN kết hợp LSTM

Chúng tôi áp dụng mạng CNN để trích xuất thông tin cục bộ từ dữ liệu Sau đó, các đặc trưng đã được trích xuất sẽ được sử dụng làm đầu vào cho mạng LSTM nhằm rút trích thông tin về các mối quan hệ phụ thuộc ngữ cảnh.

Hình 3.1 Kiến trúc mô hình CNN kết hợp LSTM

Theo Hình 3.1, quá trình làm việc của mô hình như sau:

Lớp đầu vào của mô hình được thiết kế với kích thước max_feature là 48, tương ứng với độ dài tối đa của các văn bản đầu vào Các đoạn văn bản được biểu diễn dưới dạng chuỗi số nguyên, tương ứng với chỉ số của từ trong từ điển.

Lớp nhúng (embedding layer) là thành phần quan trọng trong việc biểu diễn từng từ trong văn bản dưới dạng vector số Lớp này sử dụng ma trận nhúng (embedding matrix) đã được cung cấp và không thay đổi trong quá trình huấn luyện Điều này có nghĩa là ma trận nhúng hoạt động như một phép biến đổi tĩnh để biểu diễn các từ một cách hiệu quả.

Lớp Conv1D là lớp tích chập một chiều với 256 bộ lọc và kích thước cửa sổ 4, sử dụng hàm kích hoạt 'relu' Lớp này giúp rút trích các đặc trưng từ các cụm từ liên tiếp trong văn bản, nâng cao khả năng hiểu ngữ nghĩa của mô hình.

Lớp MaxPooling1D được sử dụng sau mỗi lớp Conv1D nhằm giảm kích thước đầu ra và tạo ra biểu diễn gộp cho các đặc trưng đã học từ lớp Conv1D.

Dropout Layer: Lớp Dropout với tỷ lệ 0.5 được sử dụng để tránh hiện tượng overfitting trong quá trình huấn luyện

Các lớp LSTM đôi chiều (Bidirectional LSTM) được sử dụng để mô hình hóa thông tin ngữ cảnh từ cả hai hướng của từ trong văn bản, giúp cải thiện khả năng hiểu biết ngữ nghĩa Lớp LSTM đầu tiên tiếp nhận thông tin từ phía trước, trong khi lớp thứ hai xử lý thông tin từ phía sau, tạo ra một mô hình toàn diện hơn cho việc phân tích ngữ liệu.

128 đơn vị và trả về chuỗi kết quả (return_sequences=True) Lớp LSTM thứ hai có 64 đơn vị và cũng trả về chuỗi kết quả

Lớp Dense: Sau khi trải qua hai lớp LSTM đôi chiều, mô hình sẽ sử dụng một lớp Dense với 64 đơn vị và hàm kích hoạt 'relu' Lớp này đóng vai trò quan trọng trong việc học các biểu diễn cao cấp từ các đặc trưng của chuỗi đầu vào.

Lớp đầu ra cuối cùng, gọi là Output Layer, có kích thước là 4 và sử dụng hàm kích hoạt sigmoid khi aspect_only=True, hoặc tanh khi aspect_only=False Các giá trị đầu ra này có thể được hiểu là xác suất hoặc điểm số cho các lớp đầu ra tương ứng.

Kết quả mô hình CNN kết hợp LSTM thử nghiệm trên tập test

Hình 3.2: Kết quả mô hình CNN kết hợp LSTM trên tập test

Mô hình PhoBERT trong dự án của chúng tôi là một mô hình ngôn ngữ tiếng Việt dựa trên kiến trúc Transformer, được huấn luyện trên dữ liệu tiếng Việt PhoBERT có khả năng trích xuất biểu diễn từ vựng và thông tin ngữ cảnh từ văn bản đầu vào, giúp hiểu ngữ cảnh và ý nghĩa của từ một cách hiệu quả Điều này hỗ trợ mô hình trong việc phân tích quan điểm dựa trên các khía cạnh của ngôn ngữ tiếng Việt.

Hình 3.3: Kiến trúc mô hình PhoBERT

Theo Hình 3.3, quá trình làm việc của mô hình như sau:

Input Layer: Model sử dụng 3 lớp đầu vào cho các thành phần của BERT:

- 'input_ids': Là đầu vào mã hóa các từ trong văn bản thành các số nguyên theo mã hóa từ vựng

- 'token_type_ids': Là đầu vào mã hóa thông tin về loại token (đầu vào từ vựng hoặc đầu vào văn bản tiếp theo) cho việc sử dụng BERT

- 'attention_mask': Là đầu vào để đánh dấu phần thông tin thực sự trong văn bản và phần padding

Các đầu vào này được xử lý trong lớp TFAutoModel từ thư viện Transformers

Pretrained BERT is a model that utilizes a pretrained BERT from the transformers library Named pretrained_bert, this model is configured with output_hidden_states=True, enabling access to BERT's hidden states.

Sau khi đưa các đầu vào qua pretrained BERT, các trạng thái ẩn (hidden states) của mô hình được trích xuất và lưu trữ trong biến hidden_states Việc này cho phép mô hình truy cập thông tin ngữ cảnh từ tất cả các lớp ẩn của BERT, nâng cao khả năng hiểu biết ngữ nghĩa.

Trong lớp Pooling, chúng ta kết hợp các trạng thái ẩn của BERT từ 4 lớp cuối cùng (-4, -3, -2, -1) để tạo ra một vector biểu diễn gộp cho văn bản Vector đầu tiên của biểu diễn gộp, tương ứng với ký tự [CLS] ở đầu câu, sẽ được sử dụng làm biểu diễn cuối cùng của văn bản và được lưu trữ trong biến pooled_output.

Dropout Layer: Lớp Dropout với tỷ lệ 0.2 được áp dụng lên pooled_output để giảm overfitting trong quá trình huấn luyện

Lớp đầu ra của mô hình là một lớp Dense với 4 đơn vị và sử dụng hàm kích hoạt softmax Đầu ra này được tạo thành từ 4 lớp Dense tương ứng với các nhãn trong dataframe df_train Mỗi lớp Dense sẽ dự đoán xác suất cho từng nhãn dựa trên văn bản đầu vào.

The BERT model utilizes a pretrained version from the Transformers library, where input data is fed into the model to extract its hidden states.

Kết quả mô hình thử nghiệm trên tập test

Hình 3.4: Kết quả mô hình PhoBert trên tập test

Kiểm tra kết quả trên tập test

Hình 3.5: Kiểm tra kết quả trên tập test

XÂY DỰNG ỨNG DỤNG CHO MÔ HÌNH PHÂN TÍCH QUAN ĐIỂM DỰA TRÊN KHÍA CẠNH

- Độ chính xác mô hình CNN kết hợp LSTM: 0.6846

- Độ chính xác của mô hình PhoBert: 0.8043

Mô hình PhoBert đạt độ chính xác cao nhất trong việc so sánh các mô hình hiện có Do đó, chúng tôi đã quyết định sử dụng PhoBert để phát triển mô hình phân tích quan điểm dựa trên khía cạnh của người dùng trong văn bản tiếng Việt.

Chúng tôi phát triển ứng dụng Phân tích ý kiến người dùng bằng cách kết hợp ngôn ngữ lập trình Python với HTML, CSS và JavaScript Quy trình thiết kế ứng dụng được thực hiện một cách bài bản và hiệu quả.

Sử dụng ngôn ngữ Python và thư viện Flask để xây dựng phần backend của ứng dụng

Backend sẽ xử lý các yêu cầu từ phía client và gửi lại các phản hồi tương ứng

Backend sẽ tương tác với các mô hình đã được lưu trữ để dự đoán và trả về kết quả phân tích ý kiến

Phần server của ứng dụng được xây dựng bằng Python để hỗ trợ việc truy xuất các mô hình phân tích ý kiến đã được lưu trữ

Server cung cấp các chức năng như sau:

Trang phân tích văn bản bình luận trực tiếp cho phép người dùng nhập ý kiến và hiển thị kết quả phân tích tương ứng, giúp người dùng hiểu rõ hơn về nội dung và cảm xúc trong các bình luận.

Hiển thị kết quả: Nhận đầu vào là một câu phân tích và trả về kết quả phân tích ý kiến dựa trên các mô hình đã được huấn luyện

Hiển thị trang thống kê dữ liệu phân: Hiển thị thông tin về dữ liệu huấn luyện và kiểm tra sử dụng trong quá trình xây dựng mô hình

Chúng tôi đã phát triển một ứng dụng phân tích ý kiến người dùng theo nhiều khía cạnh, cho phép người dùng nhập các bình luận và nhận được kết quả phân tích tương ứng.

Hình 4.1 Phân tích thiết kế giao diện

Hình 4.2 Phân tích thiết kế chức năng

2.5.2 Thực hiện Ở trang Aspect-Based Sentiment Analysis người dùng có thể nhập một câu đánh giá vào ô “Review” sau đó nhấn “Predict” để xem kết quả phân tích hoặc ở ô “Result” chọn “Reset” để load lại trang

Hình 4.3 Giao diện trang phân tích bình luận

Sau khi người dùng chọn “Predict” dữ liệu sẽ tự động lưu vào database và người dung có thể xem dữ liệu đã được lưu ở trang data

Hình 4.4 Giao diện trang lưu trữ dữ liệu

Trang Thống kê cung cấp dữ liệu lưu trữ cho phép người dùng xem các khía cạnh được đánh giá nhiều nhất và ít nhất Thông qua các số liệu này, nhà hàng có thể nhận biết cảm xúc của khách hàng, từ đó phân loại thành tích cực, tiêu cực hoặc trung lập, nhằm cải thiện chất lượng dịch vụ và món ăn.

Hình 4.5 Giao diện trang thống kê dữ liệu

KẾT LUẬN

KẾT QUẢ ĐẠT ĐƯỢC

Đề tài "Phân tích quan điểm dựa trên khía cạnh của người dùng" đã đạt được những kết quả quan trọng trong việc đánh giá ý kiến và phản hồi từ người dùng về các khía cạnh khác nhau Một số kết quả đáng chú ý bao gồm việc nhận diện các xu hướng chính trong quan điểm người dùng, cũng như sự tác động của các yếu tố khác nhau đến trải nghiệm của họ.

Hệ thống phân tích quan điểm đã đạt được độ chính xác cao trong việc xác định và phân loại ý kiến của người dùng về các yếu tố như nhà hàng, không gian, đồ ăn, dịch vụ và đồ uống Điều này mang lại cho người dùng cái nhìn tổng quát về ý kiến của người khác đối với từng khía cạnh cụ thể.

Giao diện người dùng thân thiện và dễ sử dụng của ứng dụng giúp người dùng nhanh chóng nhập liệu và nhận kết quả phân tích Các chức năng như hiển thị trang mô hình đánh giá kết quả, phân tích dữ liệu huấn luyện và kiểm tra, cùng với phân tích văn bản bình luận trực tiếp, đều mang lại trải nghiệm tuyệt vời cho người dùng.

Tích hợp Flask với Python mang lại hiệu quả cao trong việc xây dựng backend và server Flask cung cấp nhiều công cụ và thư viện mạnh mẽ, trong khi Python là ngôn ngữ linh hoạt và phổ biến, đặc biệt trong lĩnh vực xử lý ngôn ngữ tự nhiên.

ƯU ĐIỂM VÀ NHƯỢC ĐIỂM

Đề tài này tập trung vào việc phân tích ý kiến của người dùng, giúp hiểu rõ hơn về các khía cạnh cụ thể Việc này không chỉ hỗ trợ quyết định kinh doanh mà còn nâng cao chất lượng dịch vụ, từ đó tạo ra trải nghiệm tốt hơn cho khách hàng.

Hệ thống phân tích ý kiến có khả năng mở rộng và tùy chỉnh, cho phép phân tích quan điểm trong nhiều lĩnh vực và khía cạnh khác nhau Điều này mở ra tiềm năng ứng dụng linh hoạt và đa dạng cho công nghệ này.

Hệ thống hiện tại chỉ hỗ trợ phân tích quan điểm trong tiếng Việt, việc mở rộng sang nhiều ngôn ngữ khác là một thách thức lớn, đòi hỏi nhiều công sức và tài nguyên Độ chính xác của hệ thống phụ thuộc vào chất lượng dữ liệu huấn luyện; nếu dữ liệu không đủ đại diện hoặc thiếu thông tin, kết quả phân tích có thể không chính xác Ngoài ra, việc đánh giá quan điểm người dùng rất phức tạp và phụ thuộc vào ngữ cảnh, do đó, hệ thống cần được cải tiến để xử lý các trường hợp phức tạp này, đảm bảo tính toàn vẹn và đúng đắn của kết quả phân tích.

Mặc dù có một số nhược điểm, đề tài "Phân tích quan điểm dựa trên khía cạnh của người dùng" vẫn mang lại nhiều ưu điểm và tiềm năng phát triển trong việc hiểu và phân tích ý kiến người dùng Việc tiếp tục nghiên cứu và cải thiện hệ thống sẽ góp phần quan trọng vào sự phát triển của lĩnh vực phân tích ý kiến và ứng dụng trí tuệ nhân tạo.

HƯỚNG PHÁT TRIỂN

Mở rộng khả năng phân tích cho phép hệ thống không chỉ tập trung vào các khía cạnh cụ thể như nhà hàng, không gian, đồ ăn, dịch vụ và đồ uống, mà còn có thể điều chỉnh để phân tích và hiển thị kết quả cho nhiều khía cạnh khác nhau, đáp ứng nhu cầu đa dạng của người dùng trong từng lĩnh vực cụ thể.

Nghiên cứu các phương pháp và mô hình tiên tiến trong xử lý ngôn ngữ tự nhiên có thể nâng cao độ chính xác và hiệu suất của hệ thống Việc áp dụng các công nghệ như BERT, Transformer và các mô hình ngôn ngữ sâu hơn sẽ cải thiện khả năng phân tích quan điểm và hiểu ý kiến.

Mở rộng ứng dụng của đề tài sang các lĩnh vực như sản phẩm công nghệ, dịch vụ du lịch, phim ảnh và nhiều ngành công nghiệp khác là khả thi Để thực hiện điều này, cần thu thập và xử lý dữ liệu phù hợp với từng lĩnh vực cụ thể.

Tích hợp hệ thống với dữ liệu thời gian thực từ các nguồn như mạng xã hội, diễn đàn và trang đánh giá sản phẩm giúp cung cấp kết quả phân tích quan điểm chính xác và cập nhật hơn, đáp ứng tốt hơn nhu cầu của người dùng.

Cải thiện giao diện người dùng là cần thiết để nâng cao sự thuận tiện và tương tác cho người dùng Các tính năng như phân tích văn bản bình luận trực tiếp, gợi ý phân tích khía cạnh và trực quan hóa dữ liệu có thể được phát triển nhằm nâng cao trải nghiệm người dùng.

Để tối ưu hóa hiệu suất và mở rộng quy mô cho ứng dụng thực tế, cần nghiên cứu và triển khai các giải pháp như tối ưu hóa mã nguồn, áp dụng xử lý song song, và triển khai hệ thống trên các nền tảng phân tán.

LỜI KẾT

Trong nghiên cứu và phát triển ứng dụng phân tích quan điểm dựa trên khía cạnh của người dùng, chúng tôi đã xây dựng một hệ thống mạnh mẽ và hiệu quả Đề tài này nhằm phân tích ý kiến của người dùng theo các khía cạnh cụ thể như nhà hàng, không gian, đồ ăn, dịch vụ, đồ uống và nhiều yếu tố khác.

Chúng tôi đã nghiên cứu các phương pháp xử lý ngôn ngữ tự nhiên, phân loại cảm xúc và phân tích quan điểm, sử dụng mô hình Machine Learning để xây dựng các mô hình phân loại dựa trên dữ liệu huấn luyện Ứng dụng được triển khai bằng ngôn ngữ lập trình Python cùng với các công nghệ như Flask, HTML, CSS và JavaScript Backend của ứng dụng được phát triển bằng Python, sử dụng thư viện Flask để xử lý yêu cầu từ client, trong khi server truy xuất các mô hình đã lưu trữ và trả về kết quả phân tích ý kiến cho người dùng.

Chúng tôi đã phát triển thành công một ứng dụng phân tích quan điểm dựa trên khía cạnh của người dùng, cho phép họ nhập bình luận và nhận được phân tích chi tiết về các khía cạnh quan tâm Ứng dụng này giúp người dùng có cái nhìn toàn diện hơn về sản phẩm, dịch vụ hoặc sự kiện Đề tài “Ứng dụng học sâu cho bài toán phân tích quan điểm” đã mang lại kết quả tích cực trong việc hiểu ý kiến và quan điểm của người dùng, với ứng dụng rộng rãi trong nhiều lĩnh vực như du lịch, nhà hàng, công nghệ, chính trị và xã hội Chúng tôi hy vọng đề tài này sẽ nâng cao khả năng hiểu và tương tác với người dùng trong các ứng dụng thực tế.

Ngày đăng: 08/12/2023, 15:31

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Aston Zhang, Zachary C. Lipton, Mu Li, Alexander J. Smola, Dive into Deep Learning, https://d2l.djl.ai/[2]. Wikipedia, Sentiment analysis,https://en.wikipedia.org/wiki/Sentiment_analysis , 2022 Sách, tạp chí
Tiêu đề: Dive into Deep Learning, "https://d2l.djl.ai/ [2]. Wikipedia, "Sentiment analysis
[4]. Mayur Wankhade et al. Annavarapu Chandra Sekhara Rao, A survey on sentiment analysis methods, applications, and challenges, https://link.springer.com/article/10.1007/s10462-022-10144-1 ,2022 Sách, tạp chí
Tiêu đề: A survey on sentiment analysis methods, applications, and challenges
[5]. Ye Zhang et al. Byron C. Wallace, A Sensitivity Analysis of (and Practitioners’ Guide to) Convolutional Neural Networks for Sentence Classification, https://aclanthology.org/I17-1026.pdf, 2022 Sách, tạp chí
Tiêu đề: A Sensitivity Analysis of (and Practitioners’ Guide to) Convolutional Neural Networks for Sentence Classification
[6]. Recurrent Neural Network (RNN) trong TensorFlow, https://websitehcm.com/recurrent-neural-network-rnn-trong-tensorflow/, 2022 [7]. Akash Shastri, 3 neural network architectures you need to know for NLP!,https://towardsdatascience.com/3-neural-network-architectures-you-need-to-know-for-nlp-5660f11281be, 2022 Sách, tạp chí
Tiêu đề: Recurrent Neural Network (RNN) trong TensorFlow", https://websitehcm.com/recurrent-neural-network-rnn-trong-tensorflow/, 2022 [7]. Akash Shastri, "3 neural network architectures you need to know for NLP
[8]. Amazon Vietnam, Phân tích cảm xúc là gì?, https://aws.amazon.com/vi/what-is/sentiment-analysis/, 2022 Sách, tạp chí
Tiêu đề: Phân tích cảm xúc là gì
[9]. FPT Digital, Xử lý ngôn ngữ tự nhiên: Công nghệ giúp máy tính hiểu và giao tiếp với con người, https://digital.fpt.com.vn/dxarticles/xu-ly-ngon-ngu-tu-nhien.html, 2022 Sách, tạp chí
Tiêu đề: Xử lý ngôn ngữ tự nhiên: Công nghệ giúp máy tính hiểu và giao tiếp với con người
[10]. Ben Lutkevich, natural language processing (NLP), https://www.techtarget.com/searchenterpriseai/definition/natural-language-processing-NLP, 2021 Sách, tạp chí
Tiêu đề: natural language processing (NLP)
[11]. Bing Liu, Sentiment Analysis and Opinion Mining, Morgan & Claypool Publishers, May 2012 Sách, tạp chí
Tiêu đề: Sentiment Analysis and Opinion Mining, Morgan & Claypool Publishers
[12]. Nguyễn Hưng, Deep Learning là gì? Tổng quan về Deep Learning từ A-Z, 21-04-2022, 30-12-2022, https://vietnix.vn/deep-learning-la-gi/ Sách, tạp chí
Tiêu đề: Deep Learning là gì? Tổng quan về Deep Learning từ A-Z
[13]. Topdev, Thuật toán CNN là gì? Cấu trúc mạng Convolutional Neural Network, 21-01-2022, 29-12-2022, https://topdev.vn/blog/thuat-toan-cnn-convolutional-neural-network/ Sách, tạp chí
Tiêu đề: Thuật toán CNN là gì? Cấu trúc mạng Convolutional Neural Network
[14]. Vietnix, Thuật toán CNN là gì? Tìm hiểu về Convolutional Neural Network, 19-07-2022, 29-12-2022, https://vietnix.vn/cnn-la-gi/ Sách, tạp chí
Tiêu đề: Thuật toán CNN là gì? Tìm hiểu về Convolutional Neural Network
[15]. Tritueviet, Sử dụng mạng LSTM (Long Short Term Memory) để dự đoán số liệu hướng thời gian, 21-09-2022, 29-12-2022, http://trituevietvn.com/chi-tiet/-su-dung-mang-lstm-long-short-term-memory-de-du-doan-so-lieu-huong-thoi-gian-123 Sách, tạp chí
Tiêu đề: Sử dụng mạng LSTM (Long Short Term Memory) để dự đoán số liệu hướng thời gian
[16]. Bùi Quang Mạnh, Word Embedding - Tìm hiểu khái niệm cơ bản trong NLP, 14-09-2020, 29-12-2022, https://viblo.asia/p/word-embedding-tim-hieu-khai-niem-co-ban-trong-nlp-1Je5E93G5nL Sách, tạp chí
Tiêu đề: Word Embedding - Tìm hiểu khái niệm cơ bản trong NLP
[17]. Openbot , TF-IDF là gì? , 02-08-2022, 29-12-2022, https://blog.openbot.vn/tf-idf-la-gi/ Sách, tạp chí
Tiêu đề: TF-IDF là gì
[18]. Nguyễn Ngọc Hoài, Lê Đình Khang, “Phân tích quan điểm bằng học sâu và ứng dụng”, Khóa luận tốt nghiệp, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, năm 2022 Sách, tạp chí
Tiêu đề: “Phân tích quan điểm bằng học sâu và ứng dụng”
[19]. Nguyễn Văn Hiếu, Thuật toán CNN trong xử lí ngôn ngữ tự nhiên, 01-07- 2023, https://blog.luyencode.net/thuat-toan-cnn-trong-nlp/ Sách, tạp chí
Tiêu đề: Thuật toán CNN trong xử lí ngôn ngữ tự nhiên
[20]. Kelvin Jose, RNNs, LSTMs, CNNs, Transformers and BERT, 01-07-2023, https://medium.com/analytics-vidhya/rnns-lstms-cnns-transformers-and-bert-be003df3492b Sách, tạp chí
Tiêu đề: RNNs, LSTMs, CNNs, Transformers and BERT
[21]. Phạm Nam, Giải mã kiến trúc transformer trong paper Attention is all you need, 01-07-2023, https://viblo.asia/p/giai-ma-kien-truc-transformer-trong-paper-attention-is-all-you-need-RnB5pJeGZPG[22]. Phạm Đình Khang, BERT model, 01-07-2023 Sách, tạp chí
Tiêu đề: Giải mã kiến trúc transformer trong paper Attention is all you need", 01-07-2023, https://viblo.asia/p/giai-ma-kien-truc-transformer-trong-paper-attention-is-all-you-need-RnB5pJeGZPG [22]. Phạm Đình Khang, "BERT model

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w