CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN 1.1 Khái niệm quan điểm Trong xã hội hiện đại, việc nêu và thể hiện ý kiến cá nhân là một phần của tự do ngôn luận. Với mỗi người được đào tạo khác nhau và có những cách tiếp cận khác nhau đối với một vấn đề sẽ nảy sinh ra nhiều chiều trong ý kiến, tư tưởng. Đó chính là quan điểm. Quan điểm được xây dựng chủ yếu từ ba yếu tố là thái độ, cảm xúc và ý kiến về một đối tượng.
Đối tượng ở đây có thể là các cá nhân, các sự việc, sự vật hay là chất lượng dịch vụ, sản phẩm, chủ đề.2 Bài toán trích xuất thông tin quan điểm Bài toán trích xuất thông tin quan điểm dựa trên các thông tin phản hồi của người sử dụng nhằm phân loại phản hồi đó là tích cực hay tiêu cực. Thông tin phản hồi của người dùng được tổng hợp dưới dạng văn bản từ nhiều nguồn khác nhau như trên trang bán hàng, Facebook, hệ thống chợ của Google hay Apple. Dựa trên đánh giá của người dùng, kết quả của chiến lược marketing hay quảng bá sản phẩm được xác định là có hiệu quả hay không. Bài toán trích xuất thông tin quan điểm (sentiment analysis) là một lĩnh vực nghiên cứu về các ý kiến, quan điểm, đánh giá, thái độ và cảm xúc của con người về một đối tượng.
Trích xuất thông tin quan điểm thu hút được sự quan tâm lớn của cộng đồng nghiên cứu nói chung và cộng đồng xử lý ngôn ngữ tự nhiên nói riêng bởi hai yếu tố: Thứ nhất, do sự bùng nổ thông tin và mạng xã hội nên con người có thể tự do chia sẻ ý kiến cảm nghĩ. Trong lịch sử loài người, đây là thời điểm lượng thông tin nói chung và thông tin về ý kiến quan điểm nói riêng phát triển rất nhanh và mạnh. Lượng thông tin chia sẻ trên mạng xã hội là khổng lồ .Theo số liệu của The Social Skinny [14], Facebook đang là mạng xã hội lớn nhất trên thế giới: cứ mỗi 60 giây sẽ có 510.000 comment được đăng lên, 293.000 trạng thái mới được cập nhật và khoảng 136.000 bức ảnh được upload. Ngoài facebook còn có rất nhiều các mạng xã hội khác như Twitter, Weibo, Tumblr, cũng như nhiều hình thức khác cho phép người dùng đưa thông tin lên internet.
Nhận thấy rằng nếu có thể khai thác thông tin từ lượng dữ liệu khổng lồ này thì sẽ cho phép khai phá rất nhiều thông tin quan trọng giúp xác định và giải quyết nhiều vấn đề. Đơn cử như có thể dự đoán, định hướng xu thế của công nghệ, thời trang, tiêu dùng của xã hội. TIEU LUAN MOI download : skknchat@gmail.com 5 Thứ hai, sự đa dạng và kết quả có thể thấy rõ khi áp dụng nó vào một số lĩnh vực như phân tích tâm lý người dùng, nghiên cứu thị trường. Ví dụ như trong kinh doanh, việc phân tích và nắm được các ý kiến phản hồi của người sử dụng, khách hàng sẽ giúp tổ chức, cá nhân nhận ra những điểm hạn chế của sản phẩm, dịch vụ mình cung cấp.
Họ sẽ kịp thời có giải pháp khắc phục để đáp ứng được nhu cầu sử dụng của thị trường, nâng cao kết quả kinh doanh nhờ nắm bắt được thị hiếu và kênh chăm sóc khách hàng hiệu quả. Quan điểm được chia làm chủ yếu là hai loại là tích cực (positive) và tiêu cực (negative). Ngoài ra trong một số trường hợp xét tới cả loại thứ ba là trung lập (neural). TIEU LUAN MOI download : skknchat@gmail.3 Các hướng tiếp cận và giải quyết bài toán Trong những năm gần đây, có rất nhiều bài báo và các công trình nghiên cứu cải tiến các thuật toán trích xuất thông tin quan điểm [6] [7] [15].
Các kỹ thuật này được phân loại theo hướng dựa trên các hướng tiếp cận dựa trên học máy hoặc dựa trên từ điển và ngữ nghĩa. Trong đó, hướng tiếp cận dựa trên học máy đang phát triển rất mạnh. Xét trên kĩ thuật học máy có giám sát có thể kể đến những thuật toán kinh điển và hiệu quả như Decision Tree, Support Vector Machine (SVM). Các thuật toán được đánh giá cao về tính đơn giản và hiệu quả trong nhiều trường hợp so với các thuật dựa trên mô hình mạng neural.1 Các hướng tiếp cận giải quyết bài toán trích xuất thông tin quan điểm Tuy nhiên, cùng với sự phát triển của khả năng tính toán các thuật toán mang hướng học sâu ngày càng phát triển hơn.
Luận văn sẽ trình bày về một phương pháp dựa trên mạng neural có nhiều ưu điểm trong việc mô tả dữ liệu đầu vào, đó là mạng neural hồi quy RNN. Trước hết trong chương này sẽ đề cập tới một số thuật toán kinh điển hay sử dụng trong phân loại có thể áp dụng được đối với bài toán phân tích quan điểm. TIEU LUAN MOI download : skknchat@gmail.1 Mô hình Support Vector Machine Mô hình SVM là mô hình hết sức kinh điển trong bài toán phân loại. Tư tưởng của SVM [2] là định nghĩa ra một siêu mặt phẳng có thể phân tách các tập dữ liệu cần phân loại sao cho khoảng cách (margin) từ siêu mặt phẳng đến các tập cần phân loại là tương đương nhau và lớn nhất.
Thuật toán SVM ban đầu được thiết kế để giải quyết bài toán phân lớp nhị phân với ý tưởng chính như sau: Hình 1.2 Khoảng cách margin của 2 phân lớp là bằng nhau và lớn nhất Trong không gian hai chiều tôi đã biết khoảng cách từ một điểm có tọa độ (x0,y0) tới đường thẳng có phương trình w1x+w2y+b = 0 được tính bằng: | 𝑤1 𝑥0 + 𝑤2 𝑦0 + b | ℎ= √𝑤1 2 + 𝑤2 2 Trong không gian ba chiều khoảng cách từ một điểm có tọa độ (x0,y0,z0) tới một mặt phẳng có phương trình w1x + w2y + w3z +b = 0 được tính bằng: | 𝑤1 𝑥0 + 𝑤2 𝑦0 + 𝑤3 𝑧0 + b| ℎ= √𝑤1 2 + 𝑤2 2 + 𝑤3 2 Nhận thấy nếu bỏ dấu giá trị tuyệt đối của tử số thì có thể xác định được điểm đang xét nằm về phía nào của đường thẳng hay mặt phẳng. Không làm mất tính tổng quát thì những biểu thức trong dấu giá trị tuyệt đối nếu mang dấu dương thì nằm cùng một phía dương còn những điểm làm cho biểu thức trong dấu giá trị tuyệt đối mang dấu âm thì nằm về phía âm. Những điểm nằm trên đường thẳng/ mặt phẳng sẽ làm cho giá trị của tử số bằng 0 hay khoảng cách bằng 0. Tổng quát trên không gian nhiều chiều thì sẽ phức tạp hơn so với việc biểu diễn bởi không gian 2 chiều ( đường thẳng) hay không gian 3 chiều (mặt phẳng).
Khái niệm này được gọi là siêu mặt phẳng có công thức wTx + b = 0. Khoảng cách được tính bằng: TIEU LUAN MOI download : skknchat@gmail.com 8 | 𝑤 𝑇 𝑥0 + b| ℎ= √∑𝑑𝑖=1 𝑤𝑖 2 d là số chiều của không gian. Chất lượng của siêu phẳng được đánh giá bởi khoảng cách h giữa hai lớp, khoảng cách càng lớn thì siêu phẳng quyết định càng tốt và chất lượng phân lớp càng cao. Giả sử rằng các cặp dữ liệu của training set là (x1, y1), (x2, y2),…, (xn, yn) trong đó xi là vector đầu vào của một điểm dữ liệu và yi là nhãn của điểm dữ liệu đó.
Giả sử nhãn của điểm dữ liệu có 2 giá trị là 1 và -1.3 SVM nhị phân Khi đó khoảng cách từ điểm đến mặt phân chia 𝑤1 𝑥1 + 𝑤2 𝑥2 + b = 0 là 𝑦𝑛 ( 𝑤 𝑇 𝑥𝑛 + b) ℎ= √∑𝑑𝑖=1 𝑤𝑖 2 Margin được tính là khoảng cách gần nhất của 1 điểm tới mặt phân chia 𝑦𝑛 ( 𝑤 𝑇 𝑥𝑛 + b) 𝑚𝑎𝑟𝑔𝑖𝑛 = min 𝑛 √∑𝑑𝑖=1 𝑤𝑖 2 Bài toán tối ưu trong SVM là bài toán tìm w và b sao cho margin này đạt giá trị lớn nhất: 1 (𝑤, 𝑏) = argmax min 𝑦𝑛 ( 𝑤 𝑇 𝑥𝑛 + b) 𝑤,𝑏 𝑛 √∑𝑑𝑖=1 𝑤𝑖 2 { } TIEU LUAN MOI download : skknchat@gmail.com 9 Đối với bài toán phân lớp với số phân lớp d > 2 thì tôi sử dụng chiến lược one-vs- rest bằng cách chuyển về bài toán phân lớp nhị phân giữa 1 lớp và (d-1) lớp còn lại. Tức là tôi sẽ phải thực hiện bài toán SVM nhị phân d lần giữa phân lớp thứ i và (d-1) phân lớp còn lại.2 K-nearest neighbors Thuật toán K-Nearest neighbors (KNN) là thuật toán phân loại dựa trên ý tưởng “Hãy cho tôi biết bạn của bạn là ai, tôi sẽ cho biết bạn là người như thế nào”. Câu danh ngôn rất trùng hợp với cách thực hoạt động của thuật toán KNN. Bản chất KNN không học gì từ dữ liệu training, mọi tính toán được thực hiện khi nó cần dự đoán kết quả của dữ liệu mới.
Mọi điểm trong dữ liệu training được lưu trữ trong bộ nhớ nên đây cũng là điểm hạn chế của thuật toán khi làm việc với bộ dữ liệu training lớn. Các bước thực hiện của thuật toán như sau: thực hiện cấu hình tham số K – số điểm lân cận; đánh giá 1 điểm mới của tập test bằng cách xét K lân cận của nó; phân lớp cho điểm mới dựa trên nhãn của đa số mà K điểm trong tập train gần nhất của nó được gán. Khái niệm thế nào là lân cận của 1 điểm thường được tính toán bằng khoảng cách vector theo norm. Ngoài ra đối với K điểm lân cận, tôi có thể đánh trọng số lớn hơn cho các điểm gần điểm cần xét hơn.
Hay nói cách khác là tin cậy các điểm gần điểm cần xét hơn. Sử dụng KNN để phân loại thường để sử dụng khi bài toán còn đơn giản, thuật toán chủ yếu thực hiện tính toán ở khâu test. Đây cũng là một trong số những thuật toán phân loại được sử dụng phổ biến nhất. TIEU LUAN MOI download : skknchat@gmail.com 10 CHƯƠNG 2: MẠNG NEURAL VÀ RNN 2.1 Mạng neural nhân tạo ANN Mạng neural nhân tạo [1] là thuật toán mô phỏng lại cách thức hoạt động của hệ thống thần kinh của sinh vật trong việc học, nhận biết hay phân loại.
Thuật toán đã được sử dụng rộng rãi từ những năm 1980 cho đến nay vẫn được áp dụng rộng rãi trong nhiều ngành khoa học. Mạng neural mô phỏng quá trình xử lý thông tin, mô hình được học bởi kinh nghiệm, lưu những kinh nghiệm hiểu biết và sử dụng trong các tình huống phù hợp.1 Mạng nơ-ron sinh học Hệ thống thần kinh là tổ chức vật chất cao cấp và có cấu tạo vô cùng phức tạp. Hệ thần kinh được cấu tạo bởi nhiều yếu tố trong đó nơ-ron là khái niệm cơ bản nhất. Trong bộ não người có khoảng 1011 - 1012 tế bào thần kinh được gọi là các nơ-ron và mỗi nơ-ron lại liên kết với khoảng 104 nơ ron khác thông qua các khớp nối thần kinh synapse.