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

Báo cáo chuyên đề công nghệ đề tài comment sentiment analysis

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

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - ĐẠI HỌC QUỐC GIA HÀ NỘI

Trang 2

1 Giới thiệu

Phim ảnh là một loại hình nghệ thuật tổng hợp, được thể hiện bằng hình ảnh kết hợp với âm thanh, đôi khi là một số hình thức kích thích giác quan khác; được lưu trữ trên một số dạng thiết bị ghi hình để phổ biến tới công chúng qua các phương tiện kỹ thuật khác nhau Từ lâu, phim nói chung đã trở thành một ngành công nghiệp giải trí quan trọng, là một công cụ hữu ích, gần gũi để từ đó gửi đi những ý kiến, thông điệp, tạo ra tác động lớn tới người xem cũng như xã hội Có nhiều yếu tố để quyết đinh một bộ phim có thành công hay không Một trong số đó là những ý kiến, phản ứng của khán giả Bài nghiên cứu này đi sâu vào lĩnh vực phân tích cảm xúc về phim, tận dụng dữ liệu từ các nguồn khác nhau để có cái nhìn sâu sắc về cảm nhận và cảm xúc của khán giả đối với các bộ phim.

1.1 Động lực

Trang 3

Động lực chính của bài ngiên cứu này bắt nguồn từ vai trò của cảm xúc khản giả đối với một bộ phim Bằng việc phân tích cảm xúc được thể hiện trên các bài đánh giá, bình luận, v.v của người xem, các nhà làm phim, nhà phân phối, v.v có thể rút ra được những thông tin hữu ích, quý giá, hỗ trợ việc ra các quyết định, từ chiến lược sản xuất cho tới tiếp thị.

1.2 Đặt vấn đề

Mặc dù dữ liệu về cảm xúc của khán giả đối với các bộ phim là rất phong phú, tuy nhiên đúc rút ra những thông tin hữu ích vẫn gặp nhiều khó khăn Việc có nhiều nguồn dữ liệu khác nhau có thể khiến cho những thông tin rút ra được trở nên không nhất quán, thiếu chính xác Không những vậy, các bình luận, đánh giá của người xem về một bộ phim hay các trailer của bộ phim đó có thể chứa nhiều sự phức tạp, đòi hỏi phải có các kỹ thuật phát triển mới có thể xử lý được.

1.3 Câu hỏi nghiên cứu

Trang 4

Từ dữ liệu cảm xúc của người xem đối với trailer của các bộ phim, câu hỏi nghiên cứu chính được đặt ra đó là: Có thể sử dụng các thông tin rút ra được từ những dữ liệu trên để dự đoán xem một bộ phim có thành công trong việc thu hút khán giả và đạt doanh thu cao so với các chi phí đã bỏ ra hay không Từ câu trả lời cho câu hỏi trên, các bên liên quan của các bộ phim có thể đưa ra những quyết định, chiến lược đúng đắn, góp phần tạo nên sự thành công của các bộ phim.

2 Materials and Methods

2.1 Python

Python là một ngôn ngữ lập trình được sử dụng rộng rãi trong các ứng dụng web, phát triển phần mềm, khoa học dữ liệu và máy học (ML) Các nhà phát triển sử dụng Python vì nó hiệu quả, dễ học và có thể chạy

Trang 5

trên nhiều nền tảng khác nhau Phần mềm Python được tải xuống miễn phí, tích hợp tốt với tất cả các loại hệ thống và tăng tốc độ phát triển.

2.2 NLTK

Tiền xử lí dữ liệu là giai đoạn rất quan trọng, hay nói cách khác đây là công đoạn làm sạch văn bản Việc văn bản được làm sạch giúp cách thuật toán có thể trích xuất được những đặc trưng tốt nhất từ đó nâng cao hiệu quả, chất lượng của các mô hình, thuật toán.

Thư viện NLTK - Natural Language Toolkit là một trong những thư viện open-source xử lí ngôn ngữ tự nhiên Được viết bằng Python và với ưu điểm là dễ dàng sử dụng nên thư viện này ngày càng trở nên phổ biến và có được một cộng đồng lớn mạnh Thư viện cung cấp hơn 50 kho dữ liệu văn bản khác nhau (corpora) và nhiều chức năng để xử lí dữ liệu văn bản để phục vụ cho nhiều mục đích khác nhau.

Trang 6

3 Experiments and Results

3.1 Experiment setup

Việc đầu tiên là chuẩn bị Dataset cho phấn tích dữ liệu Vì chủ đề phân tích phản hồi của người xem về một bộ phim sắp ra mắt nguồn dữ liệu được nhóm lựa chọn là phần bình luận của trailer các video trailer cho

một bộ phim Từ những phản hồi của người xem về trailer, chúng ta sẽ biết được nhiều thông tin về cảm nghĩ, mong đợi của viewer

Trang 7

Dùng Python, nhóm đã quét và thu thập được 860 bình luận từ phần bình luận của video trailer cho phim “Nimona” trên Youtube.

(https://www.youtube.com/watch?v=f_fuHRyQbOc)

Trang 8

3.2 Cleaning and Analysing

A, Xử lý dữ liệu nâng cao

Xử lý dữ liệu bao gồm những công việc như loại bỏ từ dừng, loại bỏ những ký tự đặc biệt hay đường link để có thể phân tích chính xác hơn Sau đó văn bản được chuyển về dạng viết thường, Tokenization, Stemming và Lemmatization để phân tích dữ liệu rõ hơn

Khai báo package Python

import re

import numpy as np

import pandas as pd

import nltk

Đọc file và tạo cột dữ liệu detail để xử lý

df = pd.read_csv('FLAT.csv', encoding_errors = 'ignore')df['detail'] = df['comment']

Trang 9

df['detail'] = df['detail'].str.lower()df.tail()

Tạo set chứa từ dừng trong tiếng Anh

clean_word = ['a', 'about', 'above', 'after', 'again', 'ain', 'all', 'am', 'an', 'and','any','are', 'as', 'at', 'be', 'because', 'been', 'before', 'being', 'below', 'between','both', 'by', 'can', 'd', 'did', 'do', 'does', 'doing', 'down', 'during', 'each','few', 'for', 'from', 'further', 'had', 'has', 'have', 'having', 'he', 'her', 'here', 'hers', 'herself', 'him', 'himself', 'his', 'how', 'i', 'if', 'in', 'into','is', 'it', 'its', 'itself', 'just', 'll', 'm', 'ma',

'me', 'more', 'most','my', 'myself', 'now', 'o', 'of', 'on', 'once', 'only', 'or', 'other', 'our', 'ours','ourselves', 'out', 'own',

're','s', 'same', 'she', "shes", 'should', "shouldve",'so', 'some', 'such', 't', 'than', 'that', "thatll", 'the', 'their', 'theirs', 'them', 'themselves', 'then', 'there', 'these', 'they', 'this', 'those', 'through', 'to', 'too','under', 'until', 'up', 've', 'very', 'was', 'we', 'were', 'what', 'when', 'where','which','while', 'who', 'whom', 'why', 'will', 'with', 'won', 'y', 'you', "youd","youll", "youre", "youve", 'your', 'yours', 'yourself', 'yourselves']

cleaner = set(clean_word)

Trang 10

Loại bỏ từ dừng

def cleaning(text):

return " ".join([word for word in str(text).split() if word not in cleaner])

df['detail'] = df['detail'].apply(lambda text: cleaning(text))

Trang 11

df['detail'] = df['detail'].apply(lambda x: cleaning_repeating_char(x))df.tail()

Loại bỏ đường link

def cleaning_URLs(data):

return re.sub('((www.[^s]+)|(https?://[^s]+))',' ',data)df['detail'] = df['detail'].apply(lambda x: cleaning_URLs(x))df.tail()

Loại bỏ số

def cleaning_numbers(data):

return re.sub('[0-9]+', '', data)

df['detail'] = df['detail'].apply(lambda x: cleaning_numbers(x))df.tail()

from nltk.tokenize import word_tokenize

df['detail'] = df['detail'].apply(lambda x: word_tokenize(x))df.head()

Trang 13

Việc khai thác dữ liệu ý kiến (Opinion Mining) là kỹ thuật được sử dụng để xác định quan cảm, cảm xúc trong một dữ liệu văn bản Bình luận trên Youtube là nơi người xem thể hiện đánh giá của mình với nội dung

Trang 14

Thêm dữ liệu điểm đánh giá

Tạo các cột dữ liệu liên quan đến điểm tổng thể, điểm tích cực, điểm

Phân loại tính chất bình luận

Tạo cột dữ liệu tên “type”, dùng để phân loại tính chất của binh luận: - POS: Tích cực

- NEG: Tiêu cực

- NEUTRAL: Trung tính df['type']=''

df.loc[df.compound==0'type']='NEUTRAL'

Trang 15

df.loc[df.compound<0'type']='NEG'

Trang 16

plt.hist(df['compound'])plt.title("Histogram")plt.show()

print("Average Positive: ", df['pos'].mean(), "\n"

print("Average Negative: ", df['neg'].mean(), "\n"

print("Average Compound: ", df['compound'].mean(), "\n"

Trang 17

3.3 Results

Sau khi đã làm sạch dữ liệu và tiến hành phân tích, chúng ta thu được

bảng kết quả và biểu đồ sau:

Trang 18

4 Discussion

Chúng ta sẽ đánh giá sentiment của một bình luận bằng giá trị của bình luận sau khi phân tích Giá trị này bắt đầu từ -1 đến 1, trong đó giá trị -1 đại diện cho vô cùng tiêu cực, 0 cho trung tính và 1 cho vô cùng tích cực Biểu đồ kết quả trên cho ta một cái nhìn tổng quan và rõ ràng về số lượng bình luận từ giá trị -1 đến 1 Từ biểu đồ ta hoàn toàn có thể tạo một công cụ đánh giá phản hồi của người xem theo hệ thống star rating (từ 1 đến 5 sao).

Nhìn vào kết quả của phân tích dữ liệu, ta thấy rằng 64% các bình luận là tích cực, 21% trung tính và 15% tiêu cực Sau khi tính giá trị trung bình

Trang 19

của toàn bộ 860 bình luận, ta thu được giá trị cho toàn bộ phần comment trailer của bộ phim (0.354-Tích cực) Từ đó ta đánh giá rằng bộ phim nhận được nhiều phản hồi tốt từ người xem, dự đoán được rằng bộ phim sẽ thành công và nhận được sự yêu thích khi ra mắt Ngược lại, những bộ phim có phản hồi tiêu cực nhiều thể hiện rằng bộ phim không có chất lượng tốt, không nhận được sự ủng hộ nhiều từ người xem khiến bộ phim thất bại và sẽ không đạt đủ doanh thu Ngoài ra, những bộ phim có đa số bình luận trung tính không chỉ báo động sự không thành công mà còn cho ta thấy rằng bộ phim không có ấn tượng gì với khán giả và sẽ dễ bị lãng quên trong làn giải trí.

Ngày đăng: 02/04/2024, 21:51

Xem thêm:

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

TÀI LIỆU LIÊN QUAN

w