Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)

26 2K 22
Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)

Đ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

Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)Ứng Dụng Deep Learning Cho Phân Tích Cảm Xúc (Sentiment Analysis) Với Dữ Liệu Twitter (tt)

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - NGUYỄN THÁI ÂN ỨNG DỤNG DEEP LEARNING CHO PHÂN TÍCH CẢM XÚC (SENTIMENT ANALYSIS) VỚI DỮ LIỆU TWITTER CHUYÊN NGÀNH : HỆ THỐNG THƠNG TIN MÃ SỐ : 60.48.01.04 TĨM TẮT LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH – 2017 Luận văn hồn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: Tiến sĩ BÙI XUÂN LỘC Phản biện 1: PGS.TS Đinh Đức Anh Vũ …………………………………….………… Phản biện 2: TS Nguyễn Tuấn Đăng… ………………………………….… …… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Công nghệ Bưu Viễn thơng Vào lúc: 12 00 ngày 05 tháng 08 năm 2017 Có thể tìm hiểu luận văn tại: - Thư viện Học viện Công nghệ Bưu Viễn thơng MỞ ĐẦU Trong năm gần với phát triển mạnh mẽ công nghệ đặt biệt mạng xã hội, cung cấp cho người dùng việc trao đổi chia sẻ thông tin với mà giúp quảng bá sản phẩm hay kiện công ty, tổ chức đến với người Hiện có nhiều mạng xã hội Twitter, Facebook, …Vì mà nhà phát triển tích hợp biểu tượng cảm xúc vào chia sẻ, bình luận, điển Facebook Twitter mạng xã hội trực tuyến cho phép người dùng gửi đọc tin nhắn văn Vì lý đó, luận văn trình bày giải thuật dựa lý thuyết máy học mạng neural để đưa mơ hình nhằm phân tích cảm xúc cho liệu tin nhắn Mục tiêu nghiên cứu luận văn sâu tìm cấu trúc mạng neural việc xử lý, phân tích biểu cảm chia sẻ mạng Twitter, đồng thời dựa vào phân tích để phân loại chia sẻ thành loại (N - negative – tệ, Neu – neutral – bình thường, P – positive – tốt) Nhằm cho kết đánh giá có độ xác gần với kết ban đầu đánh giá người Phạm vi nghiên cứu tập trung vào xây dựng mơ hình mạng neural Tensorflow Python nhằm thực hố mơ hình nghiên cứu Từ đánh giá độ xác mơ hình mạng neural nghiên cứu dựa liệu thử nghiệm Nội dung nghiên cứu bao gồm chương Chương giới thiệu tổng quan khai phá liệu, xử lý ngôn ngữ tự nhiên, phương pháp xữ lý ngôn ngữ tự nhiên khái niệm phân tích cảm xúc Chương giới thiệu ứng dụng Deep Learning vào phân tích cảm xúc với liệu twitter, bao gồm tổng quan thuật toán Deep Learning Khái quát mạng neural xử lý ngôn ngữ tự nhiên Các kiến trúc mạng Neural xem xét nghiên cứu CNN, RNN, mơ hình kết hợp CNN RNN (xử lý song song xử lý tuần tự) Chương thực nghiệm đánh giá kiến trúc mạng nghiên cứu Bao gồm mô tả liệu giải thuật nghiên cứu Cách thực nghiệm cho mơ hình Sau đánh giá độ xác giải thuật Chương - TỔNG QUAN KHAI PHÁ DỮ LIỆU 1.1 Nhu cầu khai phá liệu 1.1.1 Định nghĩa Khái niệm khai phá liệu hay khám phá tri thức (Knowledge Discovery) có nhiều cách diễn đạt khác chất trình tự động trích xuất thơng tin có giá trị (Thơng tin dự đốn - Predictive Information) ẩn chứa khối lượng liệu khổng lồ thực tế 1.1.2 Quá trình khai phá tri thức từ liệu Hình 1.1: Quy trình khai phá tri thức (Nguồn: https://www.slideshare.net/BasitRafiq/) Quy trình chuỗi lặp lại thao tác: • Làm liệu (Data cleaning): Loại bỏ nhiễu giá trị khơng q • Tích hợp liệu (Data intergation): Dữ liệu nhiều nguồn tổ hợp lại • Lựa chọn liệu (Data selection): Những liệu phù hợp với phân tích trích rút từ nguồn liệu ban đầu • Chuyển đổi liệu (Data transformation): Dữ liệu chuyển đổi hay hợp dạng thích hợp cho việc khai phá • Khai phá liệu (Data mining): Là tiến trình chính, phương pháp tính tốn áp dụng nhằm trích mẫu liệu • Đánh giá mẫu (Pattem evyalution): Dựa phương pháp đo nhằm xác định độ chuẩn xác lợi ích từ mẫu biểu diễn tri thức • Biễu diễn tri thức (Knowledge presentation): Sử dụng kỹ thuật biểu diễn hiển thị tri thức tổng hợp cho người dùng 1.2 Mục tiêu khai phá liệu 1.3 Xử lý ngôn ngữ tự nhiên 1.3.1 Định nghĩa Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) nhánh trí tuệ nhân tạo tập trung vào ứng dụng ngôn ngữ người Trong trí tuệ nhân tạo việc xử lý ngơn ngữ tự nhiên phần khó liên quan đến việc phải hiểu ý nghĩa ngơn ngữ (cơng cụ hồn hảo tư giao tiếp) 1.3.2 Các toán ứng dụng • Nhận dạng chữ viết: Với chương trình nhận dạng chữ viết in chuyển hàng ngàn đầu sách thư viện thành văn điện tử thời gian ngắn Nhận dạng chữ viết người có ứng dụng khoa học hình bảo mật thơng tin (nhận dạng chữ ký điện tử) • Nhận dạng tiếng nói: Nhận dạng tiếng nói chuyển chúng thành văn tương ứng Giúp thao tác người thiết bị nhanh đơn giản hơn, chẳng hạn thay gõ tài liệu bạn đọc lên trình soạn thảo tự ghi Đây bước cần phải thực ước mơ thực giao tiếp người với robot Nhận dạng tiếng nói có khả trợ giúp người khiếm thị nhiều • Phân tích cảm xúc ngơn ngữ: Đây khái niệm xử lý ngôn ngữ, việc kết hợp nhận dạng ngôn ngữ với phân tích cảm xúc, biểu cảm Mục tiêu máy tính nhận dạng đánh giá mức độ tâm lý người ngơn ngữ 1.4 Phân tích cảm xúc Phân tích cảm xúc lĩnh vực xử lý ngôn ngữ tự nhiên, sử dụng kỹ thuật NLP để rút trích thơng tin cảm xúc người từ câu nói hay văn bản, từ giúp đánh giá cảm xúc người tích cực hay tiêu cực Dựa vào mạng xã hội, sử dụng kỹ thuật NLP rút trích thơng tin từ thống kê mức độ quan tâm người dùng kiện thông tin chia sẻ, giúp việc tổng hợp đánh giá người sử dụng cho cơng ty tổ chức tốt Hình 1.2: Phân tích cảm xúc từ văn (Nguồn: http://aylien.com/) Các vấn đề cần quan tâm là: • Làm mà máy hiểu ý kiến chủ quan hay thiên cảm xúc thân • Làm để máy phân rõ hai cực tích cực (positive) tiêu cực (negative) • Làm để máy giải cảm xúc chủ quan • Làm để máy tính điểm cho quan điểm, ý kiến • Làm để máy biết cường độ cảm xúc • Làm để biết khác fact (sự thật) opinion (ý kiến viết ra), nhiều bề gồm cụm từ khen thật lại xỏ xiên, … Chúng ta theo dõi sản phẩm, thương hiệu hay người xem cách mà người có nhìn tích cực hay tiêu cực web Vì mà gần nhà khoa học sử dụng mơ hình Deep Learning cho q trình tự học phân tích cảm xúc ngơn ngữ, nhằm tiến gần đến việc người máy tính giao tiếp với Chương - ỨNG DỤNG DEEP LEARNING CHO PHÂN TÍCH CẢM XÚC VỚI DỮ LIỆU TWITTER 2.1 Tổng quan Deep Learning 2.1.1 Deep Learning Deep Learning kỹ thuật máy học (Machine Learning) mạnh mẽ nhiều người ngành biết đến nghiên cứu Với khả biểu diễn thông tin (represent problem/feature engineering) học (learning) Bên cạnh lĩnh vực gặt hái nhiều thành công xử lý ảnh số video số, hay xử lý tiếng nói, áp dụng vào xử lý ngôn ngữ tự nhiên 2.1.2 Mạng neural nhân tạo Mạng neural nhân tạo (hay gọi mạng thần kinh nhân tạo) Artificial Neural Network (ANN) hệ thống chương trình cấu trúc liệu mơ cách xử lý thông tin mạng neural sinh học Nó tạo nên từ số lượng lớn phần tử neural kết nối với thông qua liên kết (trọng số liên kết) làm việc thể thống để giải vấn đề cụ thể Một mạng neural nhân tạo cấu hình cho ứng dụng cụ thể (nhận dạng mẫu, phân loại liệu, ) thông qua trình học từ tập mẫu huấn luyện Về chất học q trình hiệu chỉnh trọng số liên kết neural Cấu tạo neural nhân tạo: Hình 2.1: Mơ hình cấu tạo neural (Nguồn: https://www.slideshare.net/) 2.2 Các mạng neural xử lý ngôn ngữ tự nhiên 2.2.1 Convolutional Neural Networks (CNNs) 2.2.1.1 Định nghĩa Convolutional Neural Network (Mạng neural tích chập) mơ hình Deep Learning tiên tiến giúp cho xây dựng hệ thống thông minh với độ xác cao Thường sử dụng tín hiệu số (Signal Processing), phân lớp ảnh (Image Classification) 2.2.1.2 Convolution (tích chập) 2.2.1.3 Mơ hình mạng neural tích chập (CNNs) 2.2.1.4 Mơ hình mạng neural tích chập cho xữ lý ngơn ngữ tự nhiên Thay sử dụng pixel xử lý ảnh, xử lý ngôn ngữ tự nhiên (NLP), ta biến đổi câu hay văn thành ma trận đầu vào Mỗi dòng ma trận tương ứng với token (một từ câu, ký tự – character) Nghĩa là, dòng vector đại diện cho từ Giả sử ta có câu gồm 10 từ biểu diễn thành word embedding vector gồm 100 chiều, ta có đầu vào ma trận 10×100, tương ứng xử lý ảnh, ta có ảnh 10×100 pixel Hình 2.2: Minh hoạ mạng neural CNN cho xữ lý ngôn ngữ tự nhiên (Nguồn: Zhang, Y., & Wallace, B (2015) A Sensitivity Analysis of (and Practitioners’ Guide to) Convolutional Neural Networks for Sentence Classification.) Duyệt qua từ Nghĩa là, ta duyệt qua dòng ma trận đầu vào Khi đó, chiều rộng filter với chiều rộng ma trận đầu vào (trong ví dụ trên, chiều rộng 10) Chiều cao (region size) filter tùy ý thay đổi cho phù hợp, thường từ đến từ (như đến 5-grams n-grams) Quan sát hình 2.4, ta có đầu vào câu gồm từ (kể ký tự!) “I like this movie very much!” Các từ chuyển đổi thành word embedding có số chiều d = Khi đó, ta có ma trận đầu vào 7×5 Ở layer tiếp theo, ta sử dụng filter với region size khác gồm 2, 3, Gấp đôi số lượng dạng filter lên, ta có tổng cộng filter Tiếp đến, ta thực nhân tích chập tương ứng với filter cho qua activate function (softmax hay tanh) để thu vector đầu Sau đó, ta cho vector qua filter max-pooling (average-pooling hay phép toán tương tự khác), mục đích để chuẩn hóa đầu vector cho chúng có số chiều Ở layer cuối cùng, tùy theo toán Phan loại văn (Text Classification), Phân tích cảm xúc (Sentiment Analysis), phát spam (Spam Detection), Phân loại đề tài (Topic Categorization) mà ta giới hạn số chiều vector phân lớp thành hay nhiều chiều tương ứng Hình 2.3: Minh hoạ ma trận max-pooling CNN (Nguồn: http://cs231n.github.io/convolutional-networks/#pool) CNNs phù hợp với tác vụ phân lớp Phân tích cảm xúc (Sentiment Analysis), Phát spam (Spam Detection) hay Phân loại chủ đề (Topic Categorization) Các phép toán convolution max-pooling làm thất thơng tin thứ tự cục từ (local order of words) Do đó, tác vụ liên quan đến gán nhãn cho chuỗi (sequence tagging) POS Tagging, Entity Extraction không phù hợp sử dụng kiến trúc CNNs 2.2.2 Recurrent Neural Networks (RNNs) Recurrent Neural Networks (hay gọi mạng neural tái phát) mơ hình Deep Learning đánh giá có nhiều ưu điểm tác vụ xử lý ngôn ngữ tự nhiên ứng dụng nhận diện giọng nói, chuỗi thơng tin đóng vai trò quan trọng Ví dụ, từ xuất câu phụ thuộc vào từ trước Kiến trúc recurrent neural network giải vấn đề minh họa: 10 Hình 2.5: Kiến trúc mạng Neural [1] Và hình 2.17, mơ hình từ ý tưởng liên kết (combine) hai mơ hình mạng CNN RNN Thông qua việc đưa kết max-pooling mạng CNN thành input cho mạng RNN, output chuyển thành softmax để dự đoán cho liệu kiểm thử Như kết CNN chuyển tiếp cho RNN xử lý Hình 2.6: Kiến trúc mạng Neural [2] 11 2.2.4.1 Các bước xây dựng mơ hình mạng neural nghiên cứu 2.2.4.1.1 Tiền xử lý liệu cho tin nhắn Trong mạng xã hội Twitter cho phép người dùng gởi tin nhắn với chiều dài xác định 140 ký tự Do đó, người dùng buộc phải tìm cách khơng thể tiên đốn việc thể Xác định tình cảm tình khó khăn, kết áp dụng số bước tiền xử lý để xóa thông tin không cần thiết khỏi tweet Tất URL thực thể HTML bị xóa khỏi tweet với dấu chấm câu, trừ câu hỏi dấu chấm than Biểu tượng cảm xúc chi tiết cụ thể Twitter thẻ bắt đầu giữ dạng ban đầu chúng, không giống đề cập người dùng, gỡ bỏ hoàn toàn Nghiên cứu thực viết thường tất từ Vì tất tweet liên quan đến số chủ đề, mơ hình phải xác định tình cảm tổng thể cho nhiệm vụ định lượng, nên định thay từ phù hợp với chủ đề tweet với dấu hiệu chung 2.2.4.1.2 Xử lý từ (word) trước huấn luyện Mỗi từ ký hiệu đặt biệt phần tweet trước tiên ánh xạ tới đại diện đặc trưng phân bố thích hợp, gọi nhúng từ (Word embedding) Trước huấn luyện, định nghĩa gọi bảng tra cứu (Lookup table), nơi từ liên kết với biểu diễn tương ứng Với liệu Twitter trước huấn luyện nhúng từ thành vector 300 chiều Đối với từ liệu khơng có bảng tra cứu, nghiên cứu sử dụng khởi tạo ngẫu nhiên nhúng từ Tuy nhiên, hiệu chúng việc mã hóa cú pháp ngữ nghĩa từ, chúng đến từ "đặc tính tình cảm" Để chống lại việc này, việc nhúng từ liên tục cập nhật trình đào tạo mạng cách truyền lại lỗi phân loại Do đó, tính xác tình cảm mã hóa biểu diễn đặc tính 2.2.4.1.3 Mơ hình mạng CNN Một thành phần kiến trúc neural nghiên cứu mạng neural CNN để khai thác tính tin nhắn Twitter Đối phó với văn có kích thước thay đổi vốn xây dựng CNNs Ngoài ra, mạng này, mức độ đó, tính theo đến thứ tự từ ngữ cảnh từ xuất Không giống 12 ứng dụng CNN trình xử lý hình ảnh, sử dụng lớp convolution max-pooling Lớp convolution sử dụng để khám phá đặc tính cục xung quanh filter từ, lớp tổng hợp tối đa sử dụng để trích xuất tính quan trọng đồ đặc tính Hãy xem xét tweet t với chiều dài n Bởi cách cửa sổ trượt filter áp dụng, nghiên cứu áp dụng padding thích hợp đầu vào cuối tweet Chiều dài padding định nghĩa h / h kích thước cửa sổ filter Trước áp dụng thao tác convolution, từ ánh xạ tới nhúng từ tương ứng Một tweet biểu diễn dạng từ ghép nối từ vựng, t = [w1, w2, , wn], wi từ nhúng cho từ thứ i tweet wi ∈ R300 Trong nghiên cứu này, nghiên cứu sử dụng filter có kích thước Vì tweets có giới hạn chiều dài, kích thước cửa sổ nhỏ thuận lợi so với cửa sổ lớn Mạng học filter Wc thuật ngữ cho filter Các hoạt động convolution áp dụng cho tất cửa sổ từ kết cho đặc tính xi Nghiên cứu thể thành công thức như: 𝑥" = 𝑊% 𝑡":"*+,- + 𝑏% , (2.7) (2.7) Cơng thức tính kết đặc tính xt Trong ti: i + h-1 kết hợp vectơ từ vị trí i tới vị trí i + h - 1, f(·) chức kích hoạt Trong nghiên cứu này, nghiên cứu chọn chức kích hoạt tuyến tính cứng để sửa chữa Mỗi đặc tính tạo sử dụng để tạo đồ đặc tính 𝑥 = 𝑥- , 𝑥1 … 𝑥3,+*- (2.8) (2.8) Công thức thể mảng đặc tính x Sau đó, hoạt động tổng hợp theo thời gian tối đa áp dụng đồ đặc tính, lấy giá trị tối đa 𝑥 = 𝑚𝑎𝑥{𝑥} Đầu lớp max-pooling vector có kích thước cố định với chiều kích xác định trước 2.2.4.1.4 Mơ hình mạng Gated RNN Phần CNN kiến trúc học sâu nghiên cứu mạng gated recurrent neural network RNNs sử dụng liệu Họ thực nhiệm 13 vụ tương tự cho phần tử dãy với đầu phụ thuộc vào kết hợp trước Các mạng tính trạng thái ẩn trạng thái ẩn phụ thuộc vào trạng thái phía trước Chúng xem có thành phần nhớ, cho phép họ nhìn lại cách tùy ý theo thứ tự từ RNNs bị ảnh hưởng vấn đề gia tăng biến thay đổi Có hai phương pháp đề xuất để khắc phục vấn đề này: mạng LSTM (Hochreiter Schmidhuber, 1997) Gated Recurrent Unit (Chung cộng sự, 2014) Nghiên cứu định sử dụng GRU tham số mơ hình hơn, có khả cần liệu để tổng hợp cho phép đào tạo nhanh GRU có đơn vị gating điều : chỉnh luồng thơng tin bên unit Kích hoạt 𝑠9 GRU thời điểm t : : tuyến tính 𝑠9,- kích hoạt ứng cử viên 𝑠9 : : : : (2.9) : : 𝑠9 = − 𝑧9 𝑠9,- + 𝑧9 𝑠9 , : (2.9) Cơng thức tính 𝑠9 GRU thời điểm t : Nơi mà cập nhật gate 𝑧9 định có đơn vị cập nhật kích hoạt nội dung Gate cập nhật tính sau: 𝑧99 = 𝜎 𝑊? 𝑥9 + 𝑈? 𝑠9,- : (2.10) (2.10) Cơng thức tính giá trị cập nhật cho cổng (gate) 𝑓 𝑥 = 1 + 𝑒 ,C (2.11) (2.11) Cơng thức tính hàm sigmoid logistic Trong σ hàm sigmoid logistic GRU khác với LSTM khơng có chế để kiểm sốt mức độ mà thể trạng thái phơi bày tồn trạng thái lần Hoạt động kích hoạt tính sau: : 𝑠9 = 𝑡𝑎𝑛ℎ 𝑊𝑥9 + 𝑈 𝑟9 ⨀𝑠9,- : (2.12) : (2.12) Công thức tính giá trị ứng cử viên 𝑠9 Mạng tạo vector cố định cần thiết mơ hình nghiên cứu 14 2.2.4.1.5 Kết hợp mạng CNN GRNN Như hình 2.16, Mơ tả mơ hình mạng neural xử lý song song với CNN xử dụng kích thước filter để lọc word embedding cho kết max-pooling RNN sử dụng cell GRU cho việc xử lý input word embedding Đầu từ hai mạng nối thành vector đặc tính Vectơ sau đưa vào lớp softmax kết nối hồn chỉnh Và mơ hình hình 2.17, dựa việc xây dựng hai mơ hình mạng Nhưng khác so với mơ hình hình 2.16, thay cho mạng xử lý song song với nhau, mơ hình cho phép xử lý kết theo Các word embedding cho xử lý qua mơ hình CNN với filter cho max-pooling Sau đó, kết maxpooling chuyển đổi thành mãng vector truyền vào mạng RNN Mạng RNN xữ lý tiếp tục liệu này, kết cho output Từ output cho tập softmax dùng để dự đoán kết tập thử Tập phân loại softmax cho phân bố xác suất nhãn đầu Nhãn có xác suất cao chọn làm dự đoán cuối 15 Chương - THỰC NGHIỆM MƠ HÌNH 3.1 Mơi trường thực nghiệm 3.1.1 Ngơn ngữ lập trình python Python ngơn ngữ lập trình thơng dịch Guido van Rossum tạo năm 1990 Python hoàn toàn tạo kiểu động dùng chế cấp phát nhớ tự động, tương tự Perl, Ruby, Scheme, Smalltalk, Tcl Python phát triển dự án mã mở, tổ chức phi lợi nhuận Python Software Foundation quản lý 3.1.2 Giới thiệu thư viện TensorFlow TensorFlow thư viện nhóm phát triển Google Brain Google phát triển phát hành mã nguồn mở vào tháng 11/2015 TensorFlow cho sử dụng nhiều sản phẩm thương mại Google (https://www.tensorflow.org/) Hiện sử dụng nhiều trình thực hố mạng neural Deep Learning 3.2 Thông tin liệu Bộ liệu tổng hợp từ tin nhắn Twitter đánh giá phân tích cảm xúc Mỗi tin nhắn gắn nhãn phân loại theo mục “Tiêu cực” (negative), “Tích cực” (positive), “Bình thường” (neutral) Với liệu giúp huấn luyện cho mạng neural máy Mô tả file *.TSV liệu gồm: Bảng 3.1: Mô tả liệu thực nghiệm Số thứ tự Tên cột idTweet idUser Classification TweetContent Ghi Mã tin nhắn Mã người dùng Phân loại tin nhắn: Giá trị “negative” (Tiêu cực), “positive” (Tích cực), “neutral” (Bình thường) Nội dung tin nhắn (tối đa 140 ký tự) (Nguồn: http://www.sananalytics.com/lab/twitter-sentiment/) Bộ liệu gồm thư mục: Trong thực nghiệp có thực gộp liệu data_1 data_2 thành data_3 để huấn luyện cho kết tổng quát 16 • Data_1: o File “twitter-train-cleansed-B.tsv” sử dụng cho huấn luyện o File “twitter-test-gold-B.tsv” sử dụng cho kiểm thử • Data_2: o File “100_topics_100_tweets.sentence-three-point.subtaskA.train.gold.tsv” sử dụng cho huấn luyện o File “100_topics_100_tweets.sentence-three-point.subtaskA.test.gold.tsv” sử dụng cho kiểm thử Bảng 3.2: Mô tả phân loại nhãn cho tập liệu thực nghiệm Tập liệu Data_1/train Data_1/test Data_2/train Data_2/test Tích cực 3644 1574 3943 994 Bình thường 4586 1640 2809 681 Tiêu cực 1460 601 1257 327 Tổng cộng 9690 3815 8009 2002 3.3 Mô tả phương pháp thực nghiệm Trong nghiên cứu thực việc xây dựng mơ hình mạng neural cho việc phân tích cảm xúc tin nhắn Twitter Bao gồm kiến trúc mạng CNN, RNN, CNN kết hợp RNN song song với Hình 2.16, CNN kết hợp RNN Hình 2.17 Với việc huấn luyện cho mơ hình để trích xuất đặt tính từ tin nhắn Twitter cho lớp softmax để phân loại cảm xúc Mạng neural sâu đào tạo từ nhúng (embedding words) từ trước tập huấn luyện số liệu thông thường thu thập thông tin 3.3.1.1 Xây dựng thành phần chung cho mơ hình 3.3.1.1.1 Xây dựng class khai báo tham số đầu vào cho mơ hình mạng 3.3.1.1.2 Định nghĩa liệu đầu vào để truyền cho mơ hình mạng 3.3.1.1.3 Lớp nhúng (Embedding layer) 3.3.1.1.4 Tính điểm số (scores) dự đốn kết (predictions) 3.3.1.1.5 Tính tỉ lệ lỗi độ xác 3.3.1.2 Mã lệnh cài đặt mơ hình ngơn ngữ Python Tensorflow 3.3.1.2.1 Mơ hình mạng neural CNN (Lớp tích chập max-pooling) 17 Xậy dựng lớp tích chập cho CNN theo sau max-pooling sử dụng lọc có kích thước Mơ hình mạng TensorBoard: Hình 3.1: Mơ hình mạng CNN nghiên cứu Ở đây, W ma trận lọc h kết việc áp dụng độ phi tuyến cho đầu xoắn Mỗi lọc trượt toàn nhúng, thay đổi từ bao gồm "VALID" padding có nghĩa mơ hình lướt lọc qua câu mà không cần thêm đệm vào, thực chập có giới hạn cho đầu với hình dạng [1, sequence_length - filter_size + 1, 1, 1] Thực max-pooling đầu kích thước lọc cụ thể cho tensor hình dạng [batch_size, 1, 1, num_filters] Đây thực chất vector đặc tính, kích thước cuối tương ứng với tính mơ hình có dạng [None, 1, 1, num_filters] 3.3.1.2.2 Mơ hình mạng neural RNN (Lớp ẩn sử dụng GRU cell) Dữ liệu đầu vào input từ nhúng (embedding word) chiều dạng [None, sequence_length, embedding_size], chuyển đổi sang dãy vector chiều dạng [None, embedding_size] Trong RNN vector chiều lặp lại (recurrent) từ gru_cell_0 đến gru_cell_38 Mỗi cell cho dropput_ kết cell, bên cạnh truyền tải kết cho cell Đầu RNN dãy vector có dạng [None, hidden_unit] 18 Mơ hình mạng TensorBoard: Hình 3.2: Mơ hình mạng RNN nghiên cứu 3.3.1.2.3 Mơ hình mạng neural kết hợp CNN RNN (xử lý song song) Bởi output hai mạng CNN RNN hai dạng vector khác Hai giá trị num_filters hidden_unit với giá trị 128 CNN cho kết max-pooling với vector chiều dạng [None, 1, 1, num_filters] RNN cho kết output với dãy vector chiều dạng [None, hidden_unit] Giải pháp áp dụng biến đổi vector kết chiều với nhau, từ cộng hai vector kết lại Ở mơ hình này, nghiên cứu thực biến đổi cho vector dạng vector có chiều [None, None, num_filters] (None có nghĩa số bất định) Kết hợp dãy vector output RNN thành vector [None, 39, hidden_unit], với 39 số từ tin nhắn Biến đổi vector max-pool CNN [None, 1, 1, num_filters] cách tf.reshape [None, * 1, num_filters] Sau kết hợp hai vector kết qua lại với cách gọp chiều thứ vector lại với nhau, kết vector [None, 40, num_filters] (Với 40: kết việc cộng 39 RNN với CNN, sử dụng num_filters giá trị 128 “num_filters = hidden_unit”) 19 Mô hình mạng kết hợp TensorBoard: Hình 3.3: Mơ hình mạng CNN kết hợp RNN (xử lý song song) 3.3.1.2.4 Mơ hình mạng neural kết hợp CNN RNN (xử lý tuần tự) Bởi input mạng RNN dãy vector chiều nên cần biến đổi kết CNN trước truyền vào input cho mạng RNN Vì vector maxpooling [None, None, num_filters] cần biến đổi dạng dãy vector [None, num_filters] với số phần tử dãy tương tứng với giá trị chiều thứ max-pooling sử dụng lệnh tf.squeeze Kết output mạng RNN sử dụng để dự đoán cho kết Giải pháp áp dụng biến đổi vector max-pooling thành dãy vector input cho mạng RNN Mơ hình mạng kết hợp TensorBoard: 20 Hình 3.4: Mơ hình mạng CNN kết hợp với RNN (xử lý tuần tự) 3.4 Kết chạy thực nghiệm Dựa mơ hình mạng neural nghiên cứu xây dựng chương trình thực nghiệm cho phân tích cảm xúc tin nhắn Twitter Bao gồm thiết kế mạng neural CNN, RNN, CNN kết hợp RNN chạy song song, CNN kết hợp RNN chạy ngôn ngữ python, huấn luyện kiểm thử cho liệu, sau cho kết độ xác giải thuật Trong q trình huấn luyện (train) kiểm thử (test) liệu bảng 3.5 (data_1, data_2) liệu tập data khác nhau, nghiên cứu kết hợp liệu lại thành data_3 để huấn luyện cho mơ hình đưa độ xác tổng thực nghiệm Trong huấn luyện loại bỏ dòng liệu có nội dung “Not Available” dòng liệu tin nhắn khơng có khơng có ích q trình huấn luyện 21 Bảng 3.3: Kết độ xác với giải thuật mạng neural Tập liệu CNN RNN Data_1/train Data_1/test Data_2/train Data_2/test Data_3/train Data_3/test 0.95865 0.56408 0.95400 0.94842 0.95040 0.63976 0.94781 0.41355 0.94486 0.94724 0.94304 0.63057 CNN kết hợp RNN song song 0.83621 0.43524 0.82972 0.81327 0.82246 0.58893 CNN kết hợp RNN 0.95771 0.51468 0.95503 0.95494 0.95307 0.64232 0.95 0.9 0.85 0.8 0.75 CNN RNN Data_1/train CNN kết hợp RNN song CNN kết hợp RNN tuần tự song Data_2/train Data_3/train Hình 3.5: Biểu đồ độ xác tập huấn luyện mơ hình mạng 1.2 0.8 0.6 0.4 0.2 CNN RNN Data_1/test CNN kết hợp RNN song CNN kết hợp RNN tuần tự song Data_2/test Data_3/test Hình 3.6: Biểu đồ độ xác tập kiểm thử mơ hình mạng 22 3.5 Nhận xét đánh giá Dựa vào kết thực nghiệm tập liệu đưa độ xác mơ hình mạng neural Bảng 3.6 biểu đồ Hình 3.9 Hình 3.10 với thang đo từ -> (mới giá trị 100% xác) • Nhìn độ xác mơ hình mạng neural, với liệu data_1 CNN cho kết tốt Nhưng thay liệu huấn luyện tập liệu khác data_2 mơ hình mạng kết hợp (CNN RNN) cho độ xác Vì phương pháp tích hợp mơ hình mạng với cho kết cao huấn luyện với lượng liệu lớn (càng ngày lớn hơn) • Về liệu huấn luyện mơ hình mạng cho tập liệu data_1 độ xác tập huấn luyện tập thử nghiệm khác xa (chênh lệch 50%) Nhưng sau thực nghiệm với tập liệu data_2 kết huấn luyện kiểm thử xấp xỉ (chênh lệch 0.01%) Vì mà liệu huấn luyện kiểm thử cần phải xử lý thuật tốn tối ưu dộ xác cao • Kết thực nghiệm cho tập liệu data_3 (tập liệu gộp từ data_1 data_2), đưa kết tổng quát cho mơ hình mạng nghiên cứu Kết tập kiểm thử (trên 60%) Và mơ hình mạng neural kết hợp CNN RNN cho kết tốt • Bên cạnh nghiên cứu cho thấy mơ hình mạng kết hợp song song cho kết chưa cao hơn, mà tỉ lệ xác tập thử nghiệm đạt gần 60% gần ngang với mơ hình lại Nên tương lai với lượng liệu lớn độ xác giải thuật kết hợp song song cải thiện tốt Tóm lại việc kết hợp hai mơ hình mạng neural CNN RNN cho thấy cách nhìn việc kết hợp nhiều mơ hình mạng neural việc phân tích cảm xúc nói riêng xử lý ngơn ngữ tự nhiên nói chung, cách sử dụng học chuyên sâu kết hợp nhiều mơ hình mạng neural Trong nghiên cứu xây dựng thực nghiệm việc kết hợp mơ hình mạng neural CNN RNN, thực nghiệm cho kết đánh giá mơ hình mạng, đánh giá độ tối ưu mơ hình mạng neural kết hợp 23 KẾT LUẬN VÀ KIẾN NGHỊ Kết đạt Luận văn nghiên cứu thực nhiệm giải thuật mạng neural việc phân tích cảm xúc tin nhắn Twitter, từ phân loại cho tin nhắn Phục vụ cho yêu cầu đánh giá mức độ biểu cảm người dùng mạng xã hội giúp thống kê nhận xét Đồng thời, cho thấy việc huấn luyện liệu qua phương pháp học sâu cho kết ngày tốt với lượng liệu lớn Việc kết hợp mạng neural thực tốt để sử dụng việc xử lý ngôn ngữ tự nhiên, tạo trí thơng minh nhân tạo Dựa việc nghiên cứu sở lý thuyết công nghệ liên quan, đề tài xây dựng mơ hình mạng neural CNN RNN nghiên cứu thực nghiệm việc kết hợp mạng kết dự đoán, phân loại văn bản, cho kết đáp ứng mục tiêu đề Bộ liệu huấn luyện đóng vai trò quan trọng việc xây dựng cho kết phân tích, liệu lớn kèm theo mức độ bao quát trường hợp ngôn ngữ văn rộng cho kết phân tích xác Những vấn đề tồn Một số vấn đề ảnh hưởng đến q trình huấn luyện cho kết quả: • Tập liệu có mức độ cảm xúc, thực tế nhiều • Chưa có áp dụng cho liệu thực nghiệm tiếng việt • Ứng dụng chưa có giao diện trực quan Hướng phát triển luận văn Nghiên cứu tiếp giải pháp triển khai vào ứng dụng thực tế, nhằm cung cấp cho người dùng công cụ để thống kê mức độ hài lòng người dùng cho cơng ty phát triển sản phẩm quảng cáo Vấn đề gia tăng độ xác giải việc kết hợp thuật tốn mạng neural trình bày đề tài với thuật toán Deep Learning dạng 24 phân lớp để gia tăng độ xác đồng thời không ảnh hưởng nhiều tốc độ xử lý thông tin Ngồi ra, sau xây dựng mơ hình mạng neural cho phân tích cảm xúc, nghiên cứu chế tự động trích xuất liệu từ mạng xã hội theo tiêu đề, nhằm xây dựng huấn luyện xác cho thơng tin đánh giá nhận xét chia sẻ mạng xã hội ... tiếp với 5 Chương - ỨNG DỤNG DEEP LEARNING CHO PHÂN TÍCH CẢM XÚC VỚI DỮ LIỆU TWITTER 2.1 Tổng quan Deep Learning 2.1.1 Deep Learning Deep Learning kỹ thuật máy học (Machine Learning) mạnh mẽ nhiều... 1.4 Phân tích cảm xúc Phân tích cảm xúc lĩnh vực xử lý ngôn ngữ tự nhiên, sử dụng kỹ thuật NLP để rút trích thơng tin cảm xúc người từ câu nói hay văn bản, từ giúp đánh giá cảm xúc người tích. .. hình nhằm phân tích cảm xúc cho liệu tin nhắn Mục tiêu nghiên cứu luận văn sâu tìm cấu trúc mạng neural việc xử lý, phân tích biểu cảm chia sẻ mạng Twitter, đồng thời dựa vào phân tích để phân loại

Ngày đăng: 07/11/2017, 13:33

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan