TRIỂN KHAI WORD2VEC VÀ ĐÁNH GIÁ KẾT QUẢ

Một phần của tài liệu NGHIÊN CỨU MÔ HÌNH WORD2VEC ĐỂ PHÂN TÍCH CẢM XÚCTài liệu (Trang 51)

3.1. Kết quả thực hiện

Từ kiến thức về phân tích cảm xúc và Word2vec, tác giả đề xuất phương pháp mới trong phân loại văn bản. Phương pháp này sẽ thực hiện ba bước:

Bước 1: Chuẩn bị bộ dữ liệu, sử dụng dữ liệu được cung cấp cho cuộc thi SemEval-2013: Phân tích tình cảm trên Twitter (Wilson et al., 2013). Bộ dữ liệu Semeval bao gồm 825 tweet negative, 2969 neutral và 2216 positive để thực hiện training và thử nghiệm. Trong bước này, bộ dữ liệu Semeval được xử lý để cĩ được các tính năng của chúng (động từ hoặc tính từ). Cĩ hai bộ tính năng sau bước này (bộ tính năng động từ và một bộ tính từ). Tác giả chia từng bộ tính năng thành tập huấn luyện và kiểm tra. Đặc biệt, tập huấn luyện bao gồm 16000 tweet và bộ kiểm tra sẽ là bộ duy nhất. Mục tiêu của cơng việc này là để phát hiện xem các tweet truyền tải một tình cảm tích cực, tiêu cực hay trung tính.

Hình 3-1: Các tweet được lưu trữ trước khi phân tích cảm xúc

Bước 2: tập hợp các tính năng được trích xuất từ bước 2 sẽ được xử lý bằng mơ hình GoogleNews-vectors-neg300 và một ma trận tính năng được xây dựng sau bước này.

ThS. Nguyễn Thị Thúy Hồi Trang 42 Bước 3: Ở bước cuối cùng, ma trận tính năng sẽ được phân loại với các thuật tốn học máy. Đây là một trong những bước quan trọng nhất trong tất cả các nhiệm vụ học máy. Mục đích của phân loại là xác định tập hợp hoặc phân loại một quan sát mới, trên cơ sở tập dữ liệu chứa các quan sát cĩ lớp được biết. Với tập huấn luyện cĩ nhãn, chúng ta chỉ cần chọn các phân loại học cĩ giám sát như vịnh Nạve, hồi quy logistic và máy vectơ hỗ trợ. Mỗi phân loại cĩ ưu điểm và nhược điểm riêng.

.

Hình 3-2: Sơ đồ các bước thực hiện thuật tốn

SEMEVAL

DATASET GET FEATURES

WORD2VEC CLASSIFICATION METHODS SENTIMENT RESULTS 1 3 2

ThS. Nguyễn Thị Thúy Hồi Trang 43

Hình 3-3: Phân lớp cĩ giám sát

Cĩ nhiều thư viện Twitter API bạn cĩ thể sử dụng, cĩ thể vào twitter-libraries để tìm các thư viện. Để sử dụng python làm nên ứng dụng, chúng ta cần tìm xuống phần thư viện cho python một cách phù hợp. Một số thư viện dành do python như sau:

- NumPy (http://www.numpy.org/)

Thư viện này đã cĩ cá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 kém MatLab, tuyệt vời hơn nĩ lại miễn phí và sử dụng Python để lập trình.

ThS. Nguyễn Thị Thúy Hồi Trang 44 Bên cạnh việc sử dụng tri thức rõ rệt, NumPy cũng cĩ thể được sử dụng như một hộp chứa dữ liệu đa chiều hiệu quả. Các loại dữ liệu tùy ý cĩ thể được xác định. Điều này cho phép NumPy liên tục và nhanh chĩng tích hợp với nhiều cơ sở dữ liệu.

- Nltk (http://www.nltk.org/)

Natural Language Toolkit là một thư viện rất hữu ích nếu muốn thao tác trên văn bản, chuỗi, phân tích ngơn ngữ tự nhiên.

NLTK là một nền tảng hàng đầu để xây dựng bằng các chương trình được viết trên nền tảng Python, làm việc với dữ liệu ngơn ngữ lập trình. Nĩ cung cấp các giao diện dễ sử dụng cho hơn 50 tài nguyên cơ bản và các tài nguyên từ vựng như WordNet, cùng với một bộ các thư viện xử lý văn bản để phân loại, tokenization(thay thế chi tiết thơng tin cá nhân chủ thẻ với một mã token. Điều này giúp đảm bảo các chi tiết tài khoản của người dùng trong các giao dịch được an tồn), stemming(kỹ thuật dùng để biến đổi 1 từ về dạng gốc bằng cách cực kỳ đơn giản là loại bỏ 1 số ký tự nằm ở cuối từ mà nĩ nghĩ rằng là biến thể của từ), tagging(gắn thẻ), phân tích cú pháp và lý luận ngữ nghĩa, gĩi cho các thư viện NLP.

Hình 3-5: Thư viện Nltk

Nhờ cĩ hướng dẫn thực hành và giới thiệu về các cách để lập trình với các chủ đề về ngơn ngữ học tính tốn, cùng 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 và người sử dụng trong ngành. NLTK

ThS. Nguyễn Thị Thúy Hồi Trang 45 cĩ sẵn cho Windows, Mac OS X và Linux. Hơn thế nữa, NLTK là một dự án mã nguồn mở miễn phí, cộng đồng.

NLTK đã được coi là "cơng cụ tuyệt vời để giảng dạy, làm việc, ngơn ngữ học tính tốn bằng Python" và "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 bộ các tính năng API và đi kèm tài liệu để giúp các nhà phát triển bắt đầu trong việc tạo ra các ứng dụng Twitter thân thiện.

Thư viện này hoạt động nhằm giúp xử lý API, là một lớp trừu tượng đơn giản giữa các yêu cầu API và các phản ứng từ máy chủ, mã Python dùng để gọi các lệnh máy chủ và chuyển đổi các kết quả vào định dạng Python.

Điều này cho phép các nhà phát triển để viết mã Python để tương tác trực tiếp với các API mà khơng cần phải thao tác yêu cầu HTTP.

Cài đặt thư viện

Để cài các gĩi thư viện, trước tiên cần cài đặt python. Python là một ngơn ngữ lập trình thơng dịch do Guido van Rossum tạo ra năm 1990. Python hồn tồn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do vậy nĩ tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý.

Theo đánh giá của Eric S. Raymond, Python là ngơn ngữ cĩ hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Cấu trúc của 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 46

Hình 3-6: Ví dụ về việc sử dụng ngơn ngữ python để lập trình

Python đã tồn tại khoảng hơn 20 năm, vì vậy cĩ rất nhiều code viết bằng Python được xây dựng qua nhiều thập kỷ, và là một ngơn ngữ mã nguồn mở, rất nhiều trong số này được phát hành cho người khác sử dụng. Hầu như tất cả chúng được tập hợp lại trên trang web https://pypi.python.org, bạn phát âm nĩ là "pie-pee-eye", hoặc cịn được gọi bằng một cái tên phổ biến hơn là "the CheeseShop". Chúng ta cĩ thể cài đặt phần mềm này lên hệ thống để sử dụng các dự án. Ví dụ, nếu muốn sử dụng Python để xây dựng những script với các đối số dịng lệnh, nên cài đặt thư viện "click" và sau đĩ import nĩ vào trong các script rồi sử dụng nĩ. Cĩ những thư viện sử dụng được cho khá nhiều trường hợp từ thao tác với hình ảnh, cho tới tính tốn khoa học, và tự động hĩa máy chủ.

Để cài đặt các thư viện, chỉ cần mở trình easy_install trong thư mục Scripts của thư mục cài python bằng CMD. Nhập cú pháp và tên thư viện muốn cài đặt.

ThS. Nguyễn Thị Thúy Hồi Trang 47 Ví dụ:

install nltk install tweepy

Hình 3-7: Cách thức cài đặt thư viện cho python Lấy dữ liệu đầu vào Lấy dữ liệu đầu vào

Ta xây dựng tập tin để lưu trữ các dữ liệu đầu vào để máy tính cĩ thể lưu trữ và xử lý.

Cũng như các API của FaceBook, API của Twitter cũng đị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ũng cần cĩ một API key và một API secret để kết nối ứng dụng của mình vào Twitter và lấy dữ liệu của nĩ.

Điều này được thực hiện khá đơn giản bằng việc đăng nhập và tạo ra một ứng dụng từ tài khoản Twitter ở bước 1.

Sau khi chúng ta cĩ quyền truy cập, việc tiếp theo là tương tác và làm việc với API. Thật may là Twitter cung cấp cho chúng ta những cơng cụ đã được lập trinh sẵn khiến cho việc kết nối và làm việc với API trở nên dễ dàng hơn rất nhiều. Tức chúng ta cĩ thể dễ dàng lựa chọn những cơng cụ và mã lập trình được Twitter cung cấp sẵn trong thư viện của mình.

Sau đây là một đoạn mã cần khi mới tiếp cận với API V1.1 của Twitter, việc đầu tiên là xác thực yêu cầu. Chúng ta cần phải thơng qua việc xác thực mới cĩ thể kết nối với dữ liệu của Twitter. Cĩ 4 thơng số quan trọng cần cung cấp để kết nối:

ThS. Nguyễn Thị Thúy Hồi Trang 48

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 và sử dụng phương thức tweepy.API (auth) để cấu hình ứng dụng Twitter và xác thực bằng 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 dữ liệu về lưu tại thư mục chỉ định với điều kiện lọc mong muốn.

Hình 3-8: Thực hiện việc lấy dữ liệu tự động và lưu trữ với dữ liệu đã lọc

Thử nghiệm với việc sử dụng 2 từ khĩa để lấy dữ liệu bằng Search API: "iphone", "iPad"

Kết quả thu được dữ liệu ở dưới dạng JSON và thực hiện lưu chúng thành các file, mỗi dịng trên file là thơng tin của một tweet.

ThS. Nguyễn Thị Thúy Hồi Trang 49

3.2. Đánh giá kết quả

Nhờ áp dụng thuật tốn được đề xuất ở bước 3.1, bài tốn đã được giải quyết và các kết quả đưa ra rất khả thi với bộ dữ liệu training

Tweets (adjective feature) GoogleNews-vectors- negative300 Negative 114/233 Neutral 77/138 Positive 64/324

ThS. Nguyễn Thị Thúy Hồi Trang 50 Tweets (verb feature) GoogleNews-vectors- negative300 Negative 233/233 Neutral 111/138 Positive 313/324 .

Với kết quả như trên, việc phân tích cảm xúc với đặc điểm là động từ sẽ cho kết quả chính xác hơn so với đặc điểm là tính từ

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

1. Kết quả đạt được 1.1. Về mặt lý thuyết

✓ Giới thiệu về phân tích cảm xúc. ✓ Giới thiệu mơ hình Word2vec

1.2. Về mặt ứng dụng

Đề xuất các bước thực hiện việc phân tích cảm xúc với mơ hình Word2vec: ✓ Cho ra nhiều kết quả để đánh giá

2. 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

3. Hướng phát triển

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

Một phần của tài liệu NGHIÊN CỨU MÔ HÌNH WORD2VEC ĐỂ PHÂN TÍCH CẢM XÚCTài liệu (Trang 51)

Tải bản đầy đủ (PDF)

(62 trang)