Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 62 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
62
Dung lượng
1,55 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC VÀ CƠNG NGHỆ CẤP TRƯỜNG NGHIÊN CỨU MƠ HÌNH WORD2VEC ĐỂ PHÂN TÍCH CẢM XÚC CÁC CÂU BÌNH LUẬN TWITTER Mã số: T2018-06-92 CHỦ NHIỆM ĐỀ TÀI : THS NGUYỄN THỊ THÚY HOÀI ĐÀ NẴNG, 04/2019 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG 2018 NGHIÊN CỨU MƠ HÌNH WORD2VEC ĐỂ PHÂN TÍCH CẢM XÚC CÁC CÂU BÌNH LUẬN TWITTER Mã số: T2018-06-92 Xác nhận quan chủ trì đề tài (ký, họ tên, đóng dấu) Chủ nhiệm đề tài (ký, họ tên) DANH SÁCH CÁC THÀNH VIÊN THAM GIA VÀ ĐƠN VỊ CHỦ TRÌ DANH SÁCH THÀNH VIÊN: ĐƠN VỊ CHỦ TRÌ: trường Đại học Sư phạm Kỹ thuật - ĐHĐN MỤC LỤC DANH SÁCH CÁC THÀNH VIÊN THAM GIA VÀ ĐƠN VỊ CHỦ TRÌ MỤC LỤC MỞ ĐẦU CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu mạng xã hội Twitter 1.1.1 Yêu cầu 1.2 Phương pháp rút trích liệu từ mạng xã hội Twitter 1.2.1 Giới thiệu .9 1.2.2 Các phương pháp rút trích 11 1.3 Lựa chọn giải pháp phân lớp liệu 18 1.3.1 Học có giám sát 18 1.3.2 Học khơng có giám sát 20 1.3.3 Học bán giám sát .20 1.4 Phương pháp phân loại văn 21 1.4.1 Giới thiệu 21 1.4.2 Các phương pháp phân loại văn 24 CHƯƠNG MƠ HÌNH WORD2VEC 37 2.1 Giới thiệu Word2vec 37 2.2 Mơ hình Skip-gram 38 2.3 Xây dựng mơ hình từ scratch 39 CHƯƠNG TRIỂN KHAI WORD2VEC VÀ ĐÁNH GIÁ KẾT QUẢ .41 3.1 .41 3.1 Kết thực 41 3.2 Đánh giá kết 49 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51 DANH MỤC HÌNH VẼ Hình 1-1: Phân tích quan điểm Hình 1-2: Các thuật toán học máy Hình 1-3: Kỹ thuật truy vấn ứng dụng twitter .10 Hình 1-4: Sơ đồ phân loại văn 11 Hình 1-5: Mơ hình thuật tốn học có giám sát .19 Hình 1-6: Mơ hình thuật tốn học khơng có giám sát 20 Hình 1-7: Phân tích tốn SVM 25 Hình 1-8: Bản đồ 1NN 29 Hình 1-9: Biểu đồ cách làm việc Naive Bayes 31 Hình 2-1: Sơ đồ mơ hình Skip-gram .38 Hình 3-1: Các tweet lưu trữ trước phân tích cảm xúc 41 Hình 3-2: Sơ đồ bước thực thuật toán 42 Hình 3-3: Phân lớp có giám sát 43 Hình 3-4: Thư viện Numpy 43 Hình 3-5: Thư viện Nltk 44 Hình 3-6: Ví dụ việc sử dụng ngơn ngữ python để lập trình 46 Hình 3-7: Cách thức cài đặt thư viện cho python 47 Hình 3-8: Thực việc lấy liệu tự động lưu trữ với liệu lọc 48 DANH MỤC CÁC TỪ VIẾT TĂT LLSF Linear Least Square Fit SA Sentiment Analysis SMS Short Message Service SVM Support Vector Machine ĐẠI HỌC ĐÀ NẴNG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT Độc lập - Tự - Hạnh phúc THÔNG TIN KẾT QUẢ NGHIÊN CỨU Thông tin chung: - Tên đề tài: Nghiên cứu mơ hình Word2vec để phân tích cảm xúc câu bình luận Twitter - Mã số: T2018-06-92 - Chủ nhiệm: Nguyễn Thị Thúy Hoài - Cơ quan chủ trì: ĐH Sư Phạm Kỹ Thuật - Thời gian thực hiện: 12 tháng Mục tiêu: đề xuất bước thực phân tích cảm xúc với mơ hình Word2vec câu bình luận twitter Tính sáng tạo: nghiên cứu ứng dụng phương pháp để phân tích cảm xúc với câu bình luận Twitter Tóm tắt kết nghiên cứu: Dựa phân tích cảm xúc với mơ hình Word2vec, tác giả thành công việc đưa kết đánh giá thuật toán với trường hợp khác Tên sản phẩm: Chương trình phân tích cảm xúc với mơ hình Word2vec báo ISSN “TWITTER SENTIMENT ANALYSIS WITH WORD2VEC” đăng tạp chí “International Journal of Advanced Research in Computer Engineering & Technology” Hiệu quả, phương thức chuyển giao kết nghiên cứu khả áp dụng: triển khai môn học chuyên đề Hình ảnh, sơ đồ minh họa - Bộ liệu dùng để training - Kết sau thực chương trình Ngày tháng năm Hội đồng KH&ĐT đơn vị Chủ nhiệm đề tài (ký, họ tên) (ký, họ tên) XÁC NHẬN CỦA TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT INFORMATION ON RESEARCH RESULTS General information: Project title: Reaching and applying Word2vec model in in sentiment analysis with twitter Code number: T2018-06-92 Coordinator: Nguyen Thi Thuy Hoai Implementing institution: Duration: from 04/2018 to 04/2019 Objective(s): sentiment analysis, word2vec Creativeness and innovativeness: this research aims to apply Word2vec model in sentiment analysis with twitter Research results: applying word2vec model to sentiment analysis with twitter Products: software and paper “TWITTER SENTIMENT ANALYSIS WITH WORD2VEC (Paper ID: IJARCET15-4236)” has been accepted for online publication in the Volume Issue of “International Journal of Advanced Research in Computer Engineering & Technology” Effects, transfer alternatives of reserach results and applicability: this result can deploy in academic subjects CHƯƠNG MÔ HÌNH WORD2VEC Glove tạo năm 2013 nhóm nghiên cứu stanford Nó dựa mơ hình dựa việc đếm từ (word-count base model) Nó dùng kỹ thuật matrix factorization để đưa matrix ban đầu matrix nhỏ Trong ta tìm hiểu model Skip-gram model Cbow model ngược lại 2.2 Mơ hình Skip-gram Skip-gram model có cấu trúc hình vẽ Hình 2-1: Sơ đồ mơ hình Skip-gram Đầu vào one-hot-vector word có dạng x1,x2, xvx1,x2, xv V số vocabulary, vector word có giá trị tương đương với index vocabulary lại Weight matrix input hidden layer matrix W(có dimention VxN) có active function linear, weight hidden đầu W′W′ (có dimention NxV) active function out put soft max Mỗi hàng W vector N chiều đại diện cho vwvw word input layer.Mỗi hàng W vTwvwT Lưu ý input one hot vector (sẽ có dạng 000100) có phần tử nên h=WTx=vTwh=WTx=vwT ThS Nguyễn Thị Thúy Hoài Trang 38 CHƯƠNG MƠ HÌNH WORD2VEC Từ hidden layer đến out put matrix W′=w′i,jW′=wi,j′ Ta tính score uiui cho word vocabulary uj=v′wjhuj=vwj′h Trong vwjvwj vector cột j W′W′ Tiếp ta sử dụng soft max funtion P(wj|wI)=yi=exp(uj)∑Vj′=1exp(uj′)==exp(v′TwjvwI)∑Vj′=1exp(v′Twj′vwI)P(wj |wI)=yi=exp(uj)∑j′=1Vexp(uj′)==exp(vwj′TvwI)∑j′=1Vexp(vwj′′TvwI) Trong vwvw vw′vw′ vector đại diện cho word w đên từ matrix W W′W′ Người ta dùng maximum likehood với gradient descent để giải tốn vocabulary lớn nên tính tốn mẫu số tính tồn vocabulary phí tính tốn lớn nên người ta dùng phương pháp giải Hierarchical Softmax Negative Sampling chi tiết paper "word2vec Parameter Learning Explained" Xin Rong Build model from scratch 2.3 Xây dựng mơ hình từ scratch Việc xây dựng model skip-gram đơn giản sau: Giả sử ta có đoạn text: "He is the king The king is royal She is the royal queen" bước là: - Làm liệu, lower bỏ dấu chấm - Xây dựng vocabulary dictionary , để tìm index theo word cịn lại ngược lại - Tiếp theo xây dựng liệu training, dùng window search để stride text, liệu có dạng (he,is),(he,the) - Mã hóa liệu numeric dựa vào dictionary vừa tạo Traing model - Tìm matrix word embbding vào vẽ đồ thị minh họa Đầu tiên làm liệu xây dựng vocabulary {'queen', 'he', 'royal', 'is', 'king', 'the', 'she'} Tiếp theo dictionary word theo index {'queen': 0, 'he': 1, 'royal': 2, 'is': 3, 'king': 4, 'the': 5, 'she': 6} ThS Nguyễn Thị Thúy Hoài Trang 39 CHƯƠNG MƠ HÌNH WORD2VEC Index theo word ngược lại: {0: 'queen', 1: 'he', 2: 'royal', 3: 'is', 4: 'king', 5: 'the', 6: 'she'} Tiếp theo xây dựng data training có dạng :(he,is),(he,the)… đầu input, sau out put mã hóa numeric : có dạng sau :input : [ 0., 0., 0., 1., 0., 0., 0.] , ouput : [ 1., 0., 0., 0., 0., 0., 0.] lưu ý size vocabulary Ta training model: Vì vocabualary nhỏ nên ta dùng gradient descent training loss softmax minimum ln ThS Nguyễn Thị Thúy Hồi Trang 40 CHƯƠNG TRIỂN KHAI MƠ HÌNH WORD2VEC VÀ ĐÁNH GIÁ KẾT QUẢ CHƯƠNG TRIỂN KHAI WORD2VEC VÀ ĐÁNH GIÁ KẾT QUẢ 3.1 Kết thực Từ kiến thức phân tích cảm xúc Word2vec, tác giả đề xuất phương pháp phân loại văn Phương pháp thực ba bước: Bước 1: Chuẩn bị liệu, sử dụng liệu cung cấp cho thi SemEval-2013: Phân tích tình cảm Twitter (Wilson et al., 2013) Bộ liệu Semeval bao gồm 825 tweet negative, 2969 neutral 2216 positive để thực training thử nghiệm Trong bước này, liệu Semeval xử lý để có tính chúng (động từ tính từ) Có hai tính sau bước (bộ tính động từ tính từ) Tác giả chia tính thành tập huấn luyện kiểm tra Đặc biệt, tập huấn luyện bao gồm 16000 tweet kiểm tra Mục tiêu công việc để phát xem tweet truyền tải tình cảm tích cực, tiêu cực hay trung tính Hình 3-1: Các tweet lưu trữ trước phân tích cảm xúc Bước 2: tập hợp tính trích xuất từ bước xử lý mơ hình GoogleNews-vectors-neg300 ma trận tính xây dựng sau bước ThS Nguyễn Thị Thúy Hồi Trang 41 CHƯƠNG TRIỂN KHAI MƠ HÌNH WORD2VEC VÀ ĐÁNH GIÁ KẾT QUẢ Bước 3: Ở bước cuối cùng, ma trận tính phân loại với thuật toán học máy Đây bước quan trọng tất nhiệm vụ học máy Mục đích phân loại xác định tập hợp phân loại quan sát mới, sở tập liệu chứa quan sát có lớp biết Với tập huấn luyện có nhãn, cần chọn phân loại học có giám sát vịnh Nạve, hồi quy logistic máy vectơ hỗ trợ Mỗi phân loại có ưu điểm nhược điểm riêng SEMEVAL DATASET GET FEATURES WORD2VEC CLASSIFICATION METHODS SENTIMENT RESULTS Hình 3-2: Sơ đồ bước thực thuật toán ThS Nguyễn Thị Thúy Hồi Trang 42 CHƯƠNG TRIỂN KHAI MƠ HÌNH WORD2VEC VÀ ĐÁNH GIÁ KẾT QUẢ Hình 3-3: Phân lớp có giám sát Có nhiều thư viện Twitter API bạn sử dụng, vào twitter-libraries để tìm thư viện Để sử dụng python làm nên ứng dụng, cần tìm xuống phần thư viện cho python cách phù hợp Một số thư viện dành python sau: - NumPy (http://www.numpy.org/) Thư viện có ví dụ có sẵn dùng để tự kiếm tra Nếu làm tốn, xử lý số liệu, tính tốn ma trận NumPy mạnh khơng MatLab, tuyệt vời lại miễn phí sử dụng Python để lập trình Hình 3-4: Thư viện Numpy ThS Nguyễn Thị Thúy Hồi Trang 43 CHƯƠNG TRIỂN KHAI MƠ HÌNH WORD2VEC VÀ ĐÁNH GIÁ KẾT QUẢ Bên cạnh việc sử dụng tri thức rõ rệt, NumPy sử dụng hộp chứa liệu đa chiều hiệu Các loại liệu tùy ý xác định Điều cho phép NumPy liên tục nhanh chóng tích hợp với nhiều sở liệu - Nltk (http://www.nltk.org/) Natural Language Toolkit thư viện hữu ích muốn thao tác văn bản, chuỗi, phân tích ngơn ngữ tự nhiên NLTK tảng hàng đầu để xây dựng chương trình viết tảng Python, làm việc với liệu ngơn ngữ lập trình Nó cung cấp giao diện dễ sử dụng cho 50 tài nguyên tài nguyên từ vựng WordNet, với thư viện xử lý văn để phân loại, tokenization(thay chi tiết thông tin cá nhân chủ thẻ với mã token Điều giúp đảm bảo chi tiết tài khoản người dùng giao dịch an toàn), stemming(kỹ thuật dùng để biến đổi từ dạng gốc cách đơn giản loại bỏ số ký tự nằm cuối từ mà nghĩ biến thể từ), tagging(gắn thẻ), phân tích cú pháp lý luận ngữ nghĩa, gói cho thư viện NLP Hình 3-5: Thư viện Nltk Nhờ có hướng dẫn thực hành giới thiệu cách để lập trình với chủ đề ngơn ngữ học tính tốn, với tài liệu API đầy đủ, NLTK phù hợp với ngôn ngữ học, kỹ sư, sinh viên, giáo dục, nghiên cứu viên người sử dụng ngành NLTK ThS Nguyễn Thị Thúy Hoài Trang 44 CHƯƠNG TRIỂN KHAI MƠ HÌNH WORD2VEC VÀ ĐÁNH GIÁ KẾT QUẢ có sẵn cho Windows, Mac OS X Linux Hơn nữa, NLTK dự án mã nguồn mở miễn phí, cộng đồng NLTK coi "công cụ tuyệt vời để giảng dạy, làm việc, ngơn ngữ học tính tốn Python" "một thư viện tuyệt vời để thực nghiệm với ngôn ngữ tự nhiên" - Tweepy Tweepy bao gồm tồn tính API kèm tài liệu để giúp nhà phát triển bắt đầu việc tạo ứng dụng Twitter thân thiện Thư viện hoạt động nhằm giúp xử lý API, lớp trừu tượng đơn giản yêu cầu API phản ứng từ máy chủ, mã Python dùng để gọi lệnh máy chủ chuyển đổi kết vào định dạng Python Điều cho phép nhà phát triển để viết mã Python để tương tác trực tiếp với API mà không cần phải thao tác yêu cầu HTTP Cài đặt thư viện Để cài gói thư viện, trước tiên cần cài đặt 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ý Theo đánh giá Eric S Raymond, Python ngơn ngữ có hình thức sáng sủa, cấu trúc rõ ràng, thuận tiện cho người học lập trình Cấu trúc Python cịn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu ThS Nguyễn Thị Thúy Hồi Trang 45 CHƯƠNG TRIỂN KHAI MƠ HÌNH WORD2VEC VÀ ĐÁNH GIÁ KẾT QUẢ Hình 3-6: Ví dụ việc sử dụng ngơn ngữ python để lập trình Python tồn khoảng 20 năm, có nhiều code viết Python xây dựng qua nhiều thập kỷ, ngôn ngữ mã nguồn mở, nhiều số phát hành cho người khác sử dụng Hầu tất chúng tập hợp lại trang web https://pypi.python.org, bạn phát âm "pie-pee-eye", gọi tên phổ biến "the CheeseShop" Chúng ta cài đặt phần mềm lên hệ thống để sử dụng dự án Ví dụ, muốn sử dụng Python để xây dựng script với đối số dòng lệnh, nên cài đặt thư viện "click" sau import vào script sử dụng Có thư viện sử dụng cho nhiều trường hợp từ thao tác với hình ảnh, tính tốn khoa học, tự động hóa máy chủ Để cài đặt thư viện, cần mở trình easy_install thư mục Scripts thư mục cài python CMD Nhập cú pháp tên thư viện muốn cài đặt ThS Nguyễn Thị Thúy Hoài Trang 46 CHƯƠNG TRIỂN KHAI MƠ HÌNH WORD2VEC VÀ ĐÁNH GIÁ KẾT QUẢ Ví dụ: install nltk install tweepy Hình 3-7: Cách thức cài đặt thư viện cho python Lấy liệu đầu vào Ta xây dựng tập tin để lưu trữ liệu đầu vào để máy tính lưu trữ xử lý Cũng API FaceBook, API Twitter địi hỏi cần phải có quyền sử dụng thông qua việc kiểm tra authenticated Tức cần có API key API secret để kết nối ứng dụng vào Twitter lấy liệu Điều thực đơn giản việc đăng nhập tạo ứng dụng từ tài khoản Twitter bước Sau có quyền truy cập, việc tương tác làm việc với API Thật may Twitter cung cấp cho công cụ lập trinh sẵn khiến cho việc kết nối làm việc với API trở nên dễ dàng nhiều Tức dễ dàng lựa chọn cơng cụ mã lập trình Twitter cung cấp sẵn thư viện Sau đoạn mã cần tiếp cận với API V1.1 Twitter, việc xác thực yêu cầu Chúng ta cần phải thông qua việc xác thực kết nối với liệu Twitter Có thơng số quan trọng cần cung cấp để kết nối: ThS Nguyễn Thị Thúy Hoài Trang 47 CHƯƠNG TRIỂN KHAI MƠ HÌNH WORD2VEC VÀ ĐÁNH GIÁ KẾT QUẢ consumer_key = 'app_key' consumer_secret= app_secret' access_token = 'oauth_token' access_secret = ' oauth_token_secret' Tới đây, sử dụng đối tượng tweepy.API để gọi API sử dụng phương thức tweepy.API (auth) để cấu hình ứng dụng Twitter xác thực cách sử dụng Tweepy, kiểm tra tài khoản Twitter Sau kết hợp Stream(auth, MyListener('c:/data', 'iphone')) để lấy liệu lưu thư mục định với điều kiện lọc mong muốn Hình 3-8: Thực việc lấy liệu tự động lưu trữ với liệu lọc Thử nghiệm với việc sử dụng từ khóa để lấy liệu Search API: "iphone", "iPad" Kết thu liệu dạng JSON thực lưu chúng thành file, dòng file thông tin tweet ThS Nguyễn Thị Thúy Hồi Trang 48 CHƯƠNG TRIỂN KHAI MƠ HÌNH WORD2VEC VÀ ĐÁNH GIÁ KẾT QUẢ 3.2 Đánh giá kết Nhờ áp dụng thuật toán đề xuất bước 3.1, toán giải kết đưa khả thi với liệu training Tweets GoogleNews-vectors(adjective negative300 feature) Negative 114/233 Neutral 77/138 Positive 64/324 ThS Nguyễn Thị Thúy Hoài Trang 49 CHƯƠNG TRIỂN KHAI MƠ HÌNH WORD2VEC VÀ ĐÁNH GIÁ KẾT QUẢ Tweets GoogleNews-vectors(verb negative300 feature) Negative 233/233 Neutral 111/138 Positive 313/324 Với kết trên, việc phân tích cảm xúc với đặc điểm động từ cho kết xác so với đặc điểm tính từ ThS Nguyễn Thị Thúy Hồi Trang 50 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết đạt 1.1 Về mặt lý thuyết ✓ Giới thiệu phân tích cảm xúc ✓ Giới thiệu mơ hình Word2vec Về mặt ứng dụng 1.2 Đề xuất bước thực việc phân tích cảm xúc với mơ hình Word2vec: ✓ Cho nhiều kết để đánh giá Thiếu sót Chưa áp dụng phân tích cảm xúc với ngôn ngữ Việt Nam Hướng phát triển - Tiếp tục triển khai phân tích cảm xúc với tập training ngôn ngữ tiếng việt TÀI LIỆU THAM KHẢO [1] Eissa M.Alshri, Azreen Azman, "Improvement of Sentiment Analysis Based on Clustering of Word2vec Features", International Workshop on Database and Expert Systems Application, 28 September 2017 [2] Xiaodan Zhu,Saif M Mohammad Svetlana Kiritchenko, "Sentiment Analysis of Short Informal Texts," Journal of Artificial Intellignece Research, pp 723-762, Aug 2014 [3] Joshua Acosta, Norissa Lamaute, Mingxiao luo, Ezra Finkelstein, Andreea Cotoranu, “Sentiment Analysis of twitter messages using word2vec”, Proceedings of student-faculty research day, CSIS, Pace University, May 5th 2017 [4] M P Villegas, M Jose, G Ucelay, J P Fern ´ andez, M A ´ Alvarez- ´Carmona, M L Errecalde, and L C Cagnina, “Vector-based word representations for sentiment analysis: a comparative study,” pp 785– 793 [5] http://alt.qcri.org/ ... thực phân tích cảm xúc với mơ hình Word2vec câu bình luận twitter Tính sáng tạo: nghiên cứu ứng dụng phương pháp để phân tích cảm xúc với câu bình luận Twitter Tóm tắt kết nghiên cứu: Dựa phân tích. .. luận về, tạo thuận lợi cho việc nghiên cứu Hiện nay, giới, nhà nghiên cứu áp dụng nhiều thuật tốn để phân tích cảm xúc kết xác ngày cao Một số mơ hình phân tích cảm xúc sử dụng để phân tích cảm. .. thuật tốn phân tích cảm xúc giúp cơng ty biết kết đánh giá sản phẩm cách nhanh Chính vậy, tác giả chọn đề tài ? ?Nghiên cứu mơ hình Word2vec ứng dụng phân tích cảm xúc câu bình luận Twitter? ?? Mục