Tính cấp thiết của đề tài
Trong kỹ nguyên của thời đại công nghệ số thì việc khai phá thông tin có ích tiềm ẩn trong cơ sở dữ liệu là điều không thể thiếu
Hiện nay, phần lớn thông tin được lưu trữ trong các hệ quản trị cơ sở dữ liệu có cấu trúc, nhưng vẫn còn nhiều kiến thức quan trọng chưa được khai thác trên World Wide Web Các dữ liệu tiềm năng này thường ở dạng văn bản, thuộc loại dữ liệu phi cấu trúc hoặc bán cấu trúc Một trong những kiến thức quan trọng là khám phá cảm xúc và độ quan tâm của người dùng đối với sản phẩm, thể hiện qua các bình luận trên các trang thương mại điện tử Việc này giúp doanh nghiệp điều chỉnh chiến lược kinh doanh một cách hợp lý.
Websites thương mại điện tử thường chứa nhiều lời bình
Hiện nay việc thống kê dữ liệu đánh giá độ quan tâm của khách hàng tới sản phẩm thường được tiến hành thủ công
Để thu thập và phân loại dữ liệu cảm xúc một cách tự động từ lời bình của người dùng về thiết bị và sản phẩm, cần áp dụng các phương pháp phân tích dữ liệu hiệu quả Việc này giúp trích xuất thông tin hữu ích, phục vụ cho nhu cầu phân tích và lập kế hoạch kinh doanh.
Dựa trên lý do đó, tôi quyết định chọn đề tài “Khai phá lời bình trên các trang thương mại điện tử để xác định cảm xúc của khách hàng” cho luận văn thạc sỹ của mình.
Mục đích nghiên cứu
Tìm hiểu cảm xúc của khách hàng thông qua lời bình trên các trang thương mại điện tử.
Phương pháp nghiên cứu
Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến đề tài
Nghiên cứu lý thuyết về khám phá cảm xúc, nhận dạng cảm xúc văn bản, đặc tính của văn bản, các thuật toán phân loại b Phương pháp thực nghiệm
Xây dựng tập dữ liệu lời bình
Xây dựng mô hình nhận dạng cảm xúc từ lời bình
Kiểm tra, thử nghiệm và đánh giá kết quả
Bố cục đề tài
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Chương này trình bày khái quát về khai phá lời bình, các phương pháp phân loại cảm xúc lời bình đối với tiếng Anh
CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG
Chương này trình bày khai phá lời bình để xác định cảm xúc lời bình tiếng
Anh sử dụng phương pháp Naive bayes
CHƯƠNG 3: THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG
Sử dụng ngôn ngữ lập trình Python để viết chương trình demo việc phân loại cảm xúc lời bình bằng tiếng Anh.
CƠ SỞ LÝ THUYẾT
Khái niệm lời bình
Lời bình là lời nói hoặc viết nhằm xem xét, phân tích, đánh giá ưu điểm và khuyết điểm của sự vật hoặc sự việc.
Khái niệm về cảm xúc
Cảm xúc là trải nghiệm cơ bản của con người, phản ánh thái độ của chúng ta đối với thế giới xung quanh, với người khác và chính bản thân mình Việc hình thành cảm xúc đóng vai trò quan trọng trong sự phát triển nhân cách của mỗi người.
Cảm xúc hay thái độ tiêu cực là những cảm xúc, thái độ thụ động, tránh đấu tranh, gồm:
Tức giận, kích động, quá khích
Cảm xúc hay thái độ tích cực là những cảm xúc, thái độ khẳng định, dấn thân, gồm:
Tổng quan về xử lý ngôn ngữ tiếng Anh
1.3.1 Đặc điểm của tiếng Anh
Trong tiếng Anh có những đặc điểm cơ bản sau:
- Từ là đơn vị cơ bản của tiếng Anh
- Từ là một nhóm các ký tự có nghĩa được tách biệt với nhau bởi khoảng trắng hoặc dấu câu
- Trong hoạt động ngôn ngữ, từ có biến đổi hình thái Ví dụ: see, saw, seen
- Ý nghĩa ngữ pháp nằm trong từ Ví dụ: I see him và he sees me
- Phương pháp ngữ pháp chủ yếu là phụ tố Ví dụ: learning và learned
- Nhiều từ được cấu tạo bằng cách ghép thêm phụ tố vào từ gốc
1.3.2 Nhận xét về tiếng Anh
- Là loại hình ngôn ngữ có biến đổi hình thái nên việc phân biệt loại từ và ý nghĩa từ đơn giản
- Đơn vị cơ bản là từ, ranh giới từ được phân biệt bằng khoảng trắng hoặc dấu câu nên tách từ trong tiếng Anh rất đơn giản
Ý nghĩa ngữ pháp của từ có thể được hiểu thông qua tần suất xuất hiện của chúng trong văn bản, giúp rút trích các đặc trưng quan trọng của nội dung.
Các phương pháp tách từ tiếng Anh
1.4.1 Phương pháp So khớp từ dài nhất (Longest Matching)
- Định nghĩa bài toán: Cho hai xâu S độ dài m và xâu T độ dài n, tìm xâu có độ dài lớn nhất là xâu con của cả hai xâu S và T
- Tổng quát hóa bài toán này là bài toán tìm xâu con k-chung (k-common substring problem):
Cho một tập xâu S = {S1, , Sk} với |Si| = ni và tổng độ dài ∑ni = N Đối với mỗi giá trị k trong khoảng 2 ≤ k ≤ K, mục tiêu là tìm các xâu con chung dài nhất của ít nhất k xâu Bài toán này thường được giải quyết bằng phương pháp quy hoạch động.
Trong lĩnh vực khoa học máy tính, quy hoạch động là một kỹ thuật quan trọng giúp tối ưu hóa thời gian chạy của các thuật toán Phương pháp này tận dụng các đặc điểm của các bài toán con chồng chéo và cấu trúc con tối ưu để đạt được hiệu quả cao hơn.
Quy hoạch động là một kỹ thuật thiết kế thuật toán hiệu quả, trong đó bài toán lớn được chia thành các bài toán con nhỏ hơn Thay vì sử dụng đệ quy để tìm lời giải cho từng bài toán con, quy hoạch động tính toán trước lời giải và lưu trữ chúng vào bộ nhớ, thường là một mảng Sau đó, các lời giải đã được tính toán sẽ được sử dụng để giải quyết bài toán lớn, giúp tối ưu hóa quá trình và giảm thiểu thời gian tính toán.
Tóm lại, quy hoạch động sử dụng:
Các bài toán con gối nhau
Cấu trúc con tối ưu
Quy hoạch động thường dùng một trong hai cách tiếp cận:
Phương pháp top-down (từ trên xuống) là cách tiếp cận trong đó bài toán lớn được phân chia thành các bài toán con Những bài toán con này sẽ được giải quyết và các lời giải sẽ được lưu trữ để sử dụng lại khi cần thiết.
Phương pháp bottom-up (từ dưới lên) giải quyết các bài toán con trước, sau đó sử dụng kết quả để xây dựng giải pháp cho các bài toán lớn hơn Cách tiếp cận này giúp tối ưu hóa không gian bộ nhớ cho ngăn xếp và giảm thiểu số lần gọi hàm, mang lại hiệu quả cao hơn trong việc xử lý dữ liệu.
1.4.2 Phương pháp Học cải tiến (Transformation-based Learning - TBL)
Transformation-based Learning được Eric Brill giới thiệu lần đầu vào năm
Vào năm 1992, TBL đề xuất một phương pháp tiếp cận đơn giản để giải quyết vấn đề tách từ bằng cách áp dụng các phép biến đổi có lợi nhất cho từng bước Thuật toán sẽ dừng lại khi không còn phép biến đổi nào có thể cải thiện dữ liệu Đầu tiên, văn bản chưa tách từ T1 được phân tích qua chương trình P1, tạo ra văn bản T2 đã được tách từ Văn bản T2 sau đó được so sánh với văn bản chuẩn T3 đã được tách từ chính xác Chương trình P2 sẽ học các phép biến đổi để cải thiện sự tương đồng giữa T2 và T3 Quá trình này được lặp lại cho đến khi không còn phép biến đổi nào có thể nâng cao chất lượng T2, và kết quả cuối cùng là bộ luật R dùng cho việc tách từ.
Phương pháp TBL gặp phải nhược điểm là tiêu tốn nhiều thời gian học tập và yêu cầu một lượng lớn bộ nhớ, vì cần tạo ra các luật trung gian trong quá trình học.
Việc xây dựng một bộ luật đầy đủ cho việc tách từ gặp nhiều khó khăn do TBL cần thời gian chạy lâu và tiêu tốn nhiều bộ nhớ Điều này dẫn đến sự nhập nhằng khi áp dụng phương pháp này.
Sau khi bộ luật được ban hành, TBL đã nhanh chóng tiến hành việc tách từ Ý tưởng của phương pháp này là rút ra quy luật từ ngôn ngữ và liên tục điều chỉnh luật thông qua quá trình lặp, điều này rất phù hợp với bài toán xử lý ngôn ngữ tự nhiên.
1.4.3 Phương pháp So khớp cực đại (Maximum Matching)
Phương pháp khớp tối đa, hay còn gọi là phương pháp này, tập trung vào việc duyệt câu từ trái qua phải Mục tiêu là chọn từ có nhiều tiếng nhất có mặt trong từ điển.
Thuật toán có 2 dạng sau:
Giả sử có một chuỗi các tiếng trong câu là t1, t2, tN
Thuật toán kiểm tra sự hiện diện của t1 trong từ điển, sau đó xác minh xem t1-t2 có tồn tại trong từ điển hay không Quá trình này tiếp tục cho đến khi tìm thấy kết quả.
Trong từ điển, có 6 từ có nhiều tiếng nhất, và chúng ta cần đánh dấu những từ này Sau đó, tiếp tục thực hiện quy trình tương tự với tất cả các từ còn lại trong câu và trong toàn bộ văn bản.
Dạng này giúp tránh những nhầm lẫn thường gặp ở dạng đơn giản Thuật toán đầu tiên kiểm tra sự xuất hiện của t1 trong từ điển, sau đó tiếp tục xác minh xem t1 - t2 có nằm trong từ điển hay không Nếu cả t1 và t1 - t2 đều có mặt, thuật toán sẽ áp dụng chiến thuật chọn 3 từ tốt nhất.
Tiêu chuẩn 3 - từ tốt nhất được Chen & Liu đưa ra như sau:
- Độ dài trung bình của 3 từ là lớn nhất
Phương pháp tách từ này có ưu điểm nổi bật là đơn giản, dễ hiểu và nhanh chóng, với sự chênh lệch độ dài của ba từ là tối thiểu Chúng ta chỉ cần một từ điển đầy đủ để thực hiện tách từ cho các văn bản mà không cần trải qua quá trình huấn luyện phức tạp.
Các thuật toán phân loại
1.5.1 K láng giềng gần nhất K-Nearest Neighbors (k-NN) k-NN được sử dụng rất phổ biến trong lĩnh vực Data Mining, là phương pháp để phân lớp các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng cần xếp lớp (Query point) và tất cả các đối tượng trong Training Data
Một đối tượng được phân lớp dựa vào k láng giềng gần nhất, với k là số nguyên dương được xác định trước khi thực hiện thuật toán Khoảng cách giữa các đối tượng thường được tính bằng khoảng cách Euclidean.
Thuật toán k-NN được mô tả như sau:
Xác định giá trị tham số k (số láng giềng gần nhất)
Tính khoảng cách giữa đối tượng cần phân lớp (Query Point) với tất cả các đối tượng trong training data (thường sử dụng khoảng các Euclidean)
Sắp xếp khoảng cách theo thứ tự tăng dần và xác định k láng giềng gần nhất với Query Point
Lấy tất cả các lớp của k láng giềng gần nhất đã xác định
Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho Query Point
Trong hình dưới đây, dữ liệu huấn luyện được biểu diễn bằng dấu (+) và dấu (-), trong khi đối tượng cần xác định lớp là hình tròn đỏ Nhiệm vụ của chúng ta là dự đoán lớp của đối tượng này dựa vào việc lựa chọn số láng giềng gần nhất Mục tiêu là xác định xem đối tượng hình tròn đỏ sẽ được phân vào lớp (+) hay lớp (-).
Khi sử dụng phương pháp láng giềng gần nhất, nếu Query Point được xếp vào lớp dấu +, kết quả sẽ là lớp + Tuy nhiên, trong trường hợp có hai láng giềng gần nhất, một thuộc lớp + và một thuộc lớp –, không thể xác định lớp cho Query Point do số lượng đối tượng trong hai lớp này là ngang nhau.
Trong phương pháp 5-láng giềng gần nhất, kết quả cho thấy Query Point được phân loại vào lớp dấu "-" do có 3 trong số 5 láng giềng gần nhất thuộc lớp này, trong khi lớp "+" chỉ có 2 đối tượng.
Thuật toán phân loại văn bản k Nearest Neighbor:
Giả sử có các loại văn bản huấn luyện C1, C2, …, Cj với tổng số mẫu huấn luyện là N Sau khi thực hiện tiền xử lý, tất cả các văn bản này được chuyển đổi thành vector đặc trưng có chiều m.
Xử lý văn bản X để chuyển đổi thành dạng vector đặc trưng tương tự như các mẫu huấn luyện Để tính toán sự tương đồng giữa văn bản X và các mẫu huấn luyện, ta lấy văn bản thứ i làm mẫu di (di1, di2, …, dim) Sự giống nhau 𝑆𝐼𝑀(𝑋, 𝑑 𝑖 ) được xác định theo công thức đã được quy định.
Chọn k mẫu lớn hơn từ N mẫu tương đồng của SIM(X, di) (i = 1, 2, …, N) và coi chúng như một bộ k láng giềng gần nhất của X Tiếp theo, tính xác suất của X thuộc về mỗi loại theo công thức đã cho.
Trong đó 𝑦(𝑑 𝑖 , 𝐶 𝑗 ) nhận một trong 2 giá trị 0 hoặc 1:
0, 𝑑 𝑖 ∉ 𝐶 𝑗 Khi y = 1 thì văn bản X thuộc loại Cj, khi y = 0 thì văn b không thuộc loại
Cuối cùng, văn bản X được xác định thuộc loại có giá trị P(X,Cj) cao nhất Để tìm ra tham số k tối ưu cho phân loại, thuật toán cần được thử nghiệm với nhiều giá trị k khác nhau; giá trị k lớn hơn sẽ mang lại sự ổn định cao hơn và tỷ lệ sai sót thấp hơn.
LLSF, một phương pháp ánh xạ được phát triển bởi Yang và Chute vào năm 1992, ban đầu được thử nghiệm trong lĩnh vực xác định từ đồng nghĩa Đến năm 1994, LLSF đã được áp dụng trong phân loại Các nghiên cứu của Yang chứng minh rằng hiệu suất phân loại của LLSF có thể so sánh với phương pháp k-NN truyền thống.
LLSF áp dụng phương pháp hồi quy để học từ tập huấn luyện và các chủ đề hiện có Tập huấn luyện được thể hiện dưới dạng cặp vector đầu vào và đầu ra.
Vector đầu vào một văn bản bao gồm các từ và trọng số
Vector đầu ra gồm các chủ đề cùng với trọng số nhị phân của văn bản ứng với vector đầu vào
Solving the equation for input-output vector pairs yields the matrix of word-category regression coefficients.
𝐹 𝐿𝑆 = 𝑎𝑟𝑔𝑚𝑖𝑛 𝐹 = ‖𝐹𝐴 − 𝐵‖ 2 Trong đó A, B là ma trận đại diện tập dữ liệu huấn luyện (các cột trong ma trận tương ứng là các vector đầu vào và đầu ra)
FLS là ma trận kết quả chỉ ra một ánh xạ từ một văn bản bất kỳ vào vector của chủ đề đã gán trọng số
Bằng cách sắp xếp trọng số cho các chủ đề, chúng ta có thể tạo ra một danh sách chủ đề phù hợp để phân loại văn bản Việc thiết lập ngưỡng cho trọng số các chủ đề giúp xác định chủ đề thích hợp cho văn bản đầu vào Hệ thống tự động học các ngưỡng tối ưu cho từng chủ đề, tương tự như phương pháp k-NN Mặc dù LLSF và k-NN khác nhau về mặt thống kê, cả hai phương pháp đều có điểm chung trong việc học ngưỡng tối ưu.
Phương pháp phân loại này đơn giản, dễ cài đặt và có tốc độ nhanh với độ phức tạp tuyến tính O(n) Mỗi lớp trong dữ liệu huấn luyện được biểu diễn bằng một vector trọng tâm Để xác định lớp của một văn bản, ta tìm vector trọng tâm gần nhất với vector biểu diễn của văn bản đó Lớp của văn bản tương ứng với lớp mà vector trọng tâm đại diện, và khoảng cách giữa chúng được đo bằng độ đo Cosine.
Chúng ta có công thức tính vector trọng tâm của lớp i: Độ đo khoảng cácg giữa vector x và vector Ci:
- x là vector văn bản cần phân loại
- {i} là tập hợp các văn bản thuộc chủ đề Ci
Chủ đề của vector x là Cx thỏa mãn cos(x, Cx)= arg max (cos(x,Ci))
Cây quyết định (Decision Tree) là một cấu trúc phân cấp được sử dụng để phân loại các đối tượng dựa trên chuỗi quy tắc Các thuộc tính của đối tượng, ngoại trừ thuộc tính phân lớp, có thể thuộc nhiều kiểu dữ liệu khác nhau như Binary, Nominal, Ordinal và giá trị định lượng, trong khi thuộc tính phân lớp phải có kiểu dữ liệu Binary hoặc Ordinal.
PHÂN TÍCH HỆ THỐNG
Phân tích yêu cầu đề tài
Đề tài: “Khai phá lời bình trên các trang thương mại điện tử để xác định cảm xúc của khách hàng”
Từ lý thuyết tổng quan chương 1 có được:
Quy về bản chất lời bình trên các trang thương mại là ngôn ngữ tự nhiên dưới dạng văn bản chữ viết
Cảm xúc được chia thành hai lớp cơ bản là cảm xúc tích cực và cảm xúc tiêu cực Ký hiệu là pos và neg
Vậy có thể phát biểu đề tài dưới dạng bài toán:
Hệ thống tự động quét và phân loại các lời bình trên các trang thương mại điện tử thành hai nhóm chính: tích cực và tiêu cực.
Phân rã bài toán thấy được hai phần chính của đề tài:
Phần 1: tự động tìm kiếm lời bình trên các trang thương mại điện tử Quy về bài toán thu thập và bóc tách dữ liệu tự động từ trang web
Phần 2: phân loại lời bình (ngôn ngữ tự nhiên dưới dạng văn bản) vào hai nhóm nhãn tích cực và tiêu cực
Từ những phân tích trên tôi đề nghị mô hình giải pháp sau:
Mô hình đề xuất phân loại cảm xúc từ lời bình
Hình 2.1 Mô hình tự động lấy lời bình
Thu thập dữ liệu (Crawler)
2.3.1 Nguyên lí thu thập dữ liệu
Bộ thu thập dữ liệu Web còn được biết đến với các tên như: Web Spider, Web
Robot, hay còn gọi là crawler, là chương trình tự động duyệt qua các URL theo yêu cầu nhất định, quá trình này được gọi là Web crawling hoặc Web spidering Crawler thường được sử dụng để thu thập dữ liệu từ toàn bộ trang web, đồng nhất dữ liệu trực tuyến và ngoại tuyến, cập nhật liên kết và kiểm tra liên kết hỏng định kỳ Các máy tìm kiếm cũng áp dụng crawler để cập nhật cơ sở dữ liệu phục vụ cho việc tìm kiếm, và kết quả trả về là một chỉ mục của các trang đã đăng ký, được sử dụng khi người dùng thực hiện tìm kiếm Hệ thống xây dựng cũng cần crawler để thu thập và cập nhật thông tin tự động.
(1) Cung cấp cho crawler vài thông tin về nơi có nguồn dữ liệu
(2) Crawler sẽ tự động tìm kiếm toàn bộ nguồn dữ liệu này và cập nhật về CSDL của chương trình
Một crawler bắt đầu từ một địa chỉ URL và sử dụng giao thức HTTP để giao tiếp với máy chủ Web nhằm lấy dữ liệu và gửi yêu cầu xử lý Sau khi nhận được kết quả là một trang Web, crawler sẽ phân tích nội dung trang và tìm kiếm các siêu liên kết Tiếp theo, crawler tiếp tục thao tác với các liên kết này theo cách tương tự.
Hình 2.2 Mô hình tự động bóc tách dữ liệu từ trang web
2.3.2 Thu thập dữ liệu từ các trang web động
Web động là các trang web hiển thị dữ liệu tự động thông qua JavaScript và AJAX Do đó, việc thu thập và bóc tách thông tin theo cách thông thường chỉ mang lại mã HTML và JavaScript mà không có giá trị thực tiễn.
Hình 2.3 Mô hình bóc tách dữ liệu từ trang web động
Selenium là công cụ kiểm thử phần mềm tự động mã nguồn mở mạnh mẽ nhất hiện nay, chuyên dành cho việc kiểm thử ứng dụng Web Nó hỗ trợ các tác vụ thao tác tự động trên nền web và trả về mã HTML được sinh ra sau các tác vụ, cho phép kết hợp Selenium để tự động lấy mã nguồn HTML từ JavaScript và AJAX Để sử dụng Selenium, cần có một trình duyệt web tương thích.
Phantom là một trình duyệt web hoạt động ngầm trong hệ thống mà không cần giao diện tương tác, giúp tiết kiệm tài nguyên Khi kết hợp với Selenium, Phantom cho phép thực hiện các tác vụ tự động một cách hiệu quả.
Bóc tách dữ liệu (Extractor)
2.4.1 Các vấn đề liên quan đến phân tích HTML a) HTML
HTML là chuẩn để hiển thị thông tin trên Web, được cấu trúc dưới dạng tệp văn bản với các thẻ định dạng Các trình duyệt Web sử dụng các thẻ này để trình bày thông tin theo định dạng quy ước.
Các thẻ HTML được xác định theo tiêu chuẩn W3C, bao gồm một thẻ mở và một thẻ đóng để bao quanh một vùng nội dung.
HTML Element là một phân tử được tạo thành từ 24 nội dung muốn định dạng, trong đó một số thẻ đi kèm với các tham số gọi là thuộc tính của thẻ HTML DOM là cấu trúc cho phép tương tác với các phần tử HTML này.
HTML DOM là mô hình mô tả tài liệu HTML dưới dạng đối tượng, cho phép lập trình viên dễ dàng truy xuất và thao tác với tài liệu Giao diện này hỗ trợ nhiều nền tảng và tuân thủ nguyên tắc chung, giúp tối ưu hóa quá trình phát triển web.
Trong mô hình DOM, tài liệu HTML được thể hiện dưới dạng cấu trúc cây, trong đó mọi thao tác truy xuất đều diễn ra trên các nút của cây Các nút này tương ứng với các phần tử HTML hoặc các vùng nội dung tự do.
Hình 2.4 Hình minh họa cấu trúc cây HTML DOM
Trong mô hình cây DOM, mọi nút (trừ nút gốc) đều có nút cha và các nút con, phản ánh cấu trúc lồng nhau của các phần tử HTML Các nút văn bản không có nút con, do đó, chúng luôn nằm ở vị trí các nút lá Nút gốc của cây DOM thường là Document node, tương ứng với một tài liệu HTML.
Các đối tượng của mô hình DOM thường được sử dụng trong các ứng dụng phân tích tài liệu HTML như:
Document là đối tượng bao bọc tài liệu HTML, đóng vai trò là nút gốc trong mô hình DOM của các tài liệu này.
Document có các nút là các Element, nút văn bản hay các loại nút khác tương ứng với các yếu tố khác nhau trong chuẩn HTML
Các nút Element trong cây DOM thường không phải là các nút lá, mà là những nút chứa các nút con như nút văn bản Mỗi nút Element bao bọc một phần tử HTML bên trong, tạo thành cấu trúc cho trang web.
Từ một đối tượng Element chúng ta có thể xác định được kiểu nút tương ứng như hình ảnh, liên kết và các thuộc tính của nút
Các phần nội dung văn bản hiển thị trên Web thường bao gồm các nút, và các nút này cần phải nằm dưới ít nhất một nút element Việc phân tích mã HTML có thể gặp phải một số vấn đề nhất định.
Việc phát hiện thẻ và siêu liên kết dựa vào mẫu nhận dạng có thể gặp hạn chế khi sử dụng các kỹ thuật phân tích xâu ký tự, đặc biệt là với biểu thức chính quy, vì chúng không thể hiện mối quan hệ giữa các nút cha và con Để xác định vị trí thông tin trên các trang web có cấu trúc, cần phải xác định rõ nút chứa thông tin theo quy tắc truy vết từ nút trên cùng đến nút chứa thông tin đó.
Thông tin trên Web được sắp xếp theo cấu trúc, do đó, để phân tích cú pháp HTML, các bộ phân tích thường chuyển đổi chúng thành dạng cây theo mô hình DOM Mỗi phần tử trong tài liệu HTML được xác định kiểu và các thuộc tính như InnerHtml, InnerText, tạo thành các nút Bộ phân tích HTML cũng cung cấp các phương thức quan trọng cho phép thêm, sửa, xóa nút và thao tác toàn diện trên cây.
Bộ phân tích HTML không chỉ giúp sửa lỗi các tài liệu HTML mà còn khắc phục những vấn đề thường gặp như thiếu thẻ đóng hoặc sử dụng thẻ không theo chuẩn Những lỗi này có thể dẫn đến việc các thao tác không thực hiện được, ví dụ như khi một thẻ đóng không tương ứng với thẻ mở cuối cùng Để giải quyết vấn đề này, bộ phân tích áp dụng cơ chế tự động đóng thẻ, cho phép thẻ mở cuối cùng tự động đóng và sau đó so sánh với các thẻ mở cho đến khi tìm thấy thẻ tương ứng.
Khi làm việc với bài toán Machine Learning, chúng ta thường chỉ có dữ liệu thô chưa qua xử lý Cần thực hiện các phép biến đổi để loại bỏ dữ liệu nhiễu và chuẩn hóa dữ liệu về cùng một định dạng, như vector hoặc ma trận Dữ liệu chuẩn mới phải giữ lại các thông tin đặc trưng của dữ liệu gốc Tùy thuộc vào từng bài toán, cần thiết kế các phép biến đổi để tạo ra các đặc trưng phù hợp Quá trình này được gọi là Feature Extraction hay Feature Engineering, và trong một số tài liệu tiếng Việt, nó được gọi là trích chọn đặc trưng Đối với bài toán phân loại lời bình, các bước cơ bản cần được phát triển.
Chuyển đổi tất cả lời bình về dạng chữ thường (lower case) trước khi phân loại
Xóa các tập tin lời bình bị trùng lắp
Xóa lời bình không có nội dung
Xóa lời bình gây nhiễu, ví dụ như lời bình chỉ có dấu ‘.’, … nhằm mục đích spam hoặc đánh dấu
Xóa bỏ các khoảng cách thừa trong câu
Đề xuất mô hình phân loại lời bình
Bài toán phân loại liên quan đến việc xác định nhãn chính xác cho dữ liệu đầu vào Trong quá trình phân loại cơ bản, mỗi dữ liệu đầu vào được xem xét trong một không gian riêng biệt, kết hợp với tập hợp các nhãn đã được xác định trước.
Tải bản FULL (72trang): https://bit.ly/3zGA3Lg
Dự phòng: fb.com/TaiHo123doc.net
Hình 2.5 Mô hình nhận diện cảm xúc
Phân tích cảm xúc
Công thức xác định cảm xúc:
Holder: Đối tượng bình luận
Target: Đối tượng nhận ảnh hưởng
Holder: người dùng hoặc là người đánh giá
Xác định nguồn của các ý kiến với điều kiện là các trường ngẫu nhiên và các bộ bóc tách mẫu
Nhận dạng nguồn được xem như một nhiệm vụ khai thác thông tin và giải quyết vấn đề, trong đó áp dụng việc gắn thẻ theo chuỗi cùng với các kỹ thuật kết hợp mẫu đồng thời.
Tải bản FULL (72trang): https://bit.ly/3zGA3Lg
Dự phòng: fb.com/TaiHo123doc.net
International officers said US officials want the EU to prevail
Dựa trên lý thuyết về gán nhãn và phân loại từ loại, có thể xác định Holder: International officers thông qua ngữ nghĩa và từ loại.
- Bắt đầu bằng chữ cái viết hoa
- Liền sau nó là một động từ ở thì quá khứ
2.6.2 Xác định Target Đánh giá đặc trưng trong nhận xét của khách hàng
The pictures are very clear
Để xác định target, cần đưa vào tên và các đánh giá của sản phẩm, từ đó tìm ra các đặc trưng được chỉ ra rõ ràng dưới dạng danh từ hoặc cụm danh từ trong các đánh giá đó.
Phát hiện các đặc trưng thường xuyên là quá trình tìm ra những đặc trưng xuất hiện với ba từ hoặc ít hơn, có mặt trong hơn 1% các câu đánh giá, đây là ngưỡng hỗ trợ tối thiểu cần đạt.
Phát hiện các đặc trưng không thường xuyên là một yếu tố quan trọng trong việc phân tích dữ liệu đánh giá Con người thường sử dụng một số ít tính từ để mô tả nhiều đối tượng khác nhau Để xác định từ là ý kiến, cần xem xét từng câu trong dữ liệu đánh giá; nếu câu đó chứa đặc trưng không thường xuyên nhưng không có từ ý kiến nào, hãy tìm danh từ hoặc cụm danh từ gần nhất với từ ý kiến để xác định đặc trưng không thường xuyên.
2.6.3 Phân loại Polarity Ý tưởng cơ bản:
Sử dụng miền định hướng của các từ ý kiến trong một câu để xác định miền của câu đó
Nếu từ ý kiến là tích cực hoặc tiêu cực chiếm ưu thế thì xem như câu đó có ý kiến tương ứng tích cực hoặc tiêu cực
Máy học trong bài toán phân loại lời bình
Ngôn ngữ lập trình Python ứng dụng trong lập trình hệ thống phân loại cảm xúc lời bình b Phạm vi nghiên cứu
Trong luận văn này, tôi tiến hành nghiên cứu các đánh giá về điện thoại thông minh trên trang thương mại điện tử Lazada Singapore và phát triển một mô hình tự động để thống kê và phân loại các bình luận thành hai loại cảm xúc: tích cực và tiêu cực.
4 Phương pháp nghiên cứu a Phương pháp lý thuyết
Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến đề tài
Nghiên cứu lý thuyết về khám phá cảm xúc, nhận dạng cảm xúc văn bản, đặc tính của văn bản, các thuật toán phân loại b Phương pháp thực nghiệm
Xây dựng tập dữ liệu lời bình
Xây dựng mô hình nhận dạng cảm xúc từ lời bình
Kiểm tra, thử nghiệm và đánh giá kết quả
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Chương này trình bày khái quát về khai phá lời bình, các phương pháp phân loại cảm xúc lời bình đối với tiếng Anh
CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG
Chương này trình bày khai phá lời bình để xác định cảm xúc lời bình tiếng
Anh sử dụng phương pháp Naive bayes.