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

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 LUẬN văn THẠC sĩ KHOA học máy TÍNH copy

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

Thông tin cơ bản

Tiêu đề 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ác giả Hồng Tiến Sơn
Người hướng dẫn TS. Trương Ngọc Châu
Trường học Đại Học Đà Nẵng
Chuyên ngành Khoa Học Máy Tính
Thể loại luận văn
Năm xuất bản 2017
Thành phố Đà Nẵng
Định dạng
Số trang 37
Dung lượng 2,73 MB

Cấu trúc

  • 1. Tính cấp thiết của đề tài (10)
  • 2. Mục đích nghiên cứu (10)
  • 3. Đối tượng và phạm vi nghiên cứu (10)
  • 4. Phương pháp nghiên cứu (11)
  • 5. Bố cục đề tài (11)
  • 6. Tổng quan tài liệu tham khảo (11)
  • Chương 1 CƠ SỞ LÝ THUYẾT (12)
    • 1.1. Khái niệm lời bình (12)
    • 1.2. Khái niệm về cảm xúc (12)
    • 1.3. Tổng quan về xử lý ngôn ngữ tiếng Anh (12)
      • 1.3.1. Đặc điểm của tiếng Anh (12)
      • 1.3.2. Nhận xét về tiếng Anh (13)
    • 1.4. Các phương pháp tách từ tiếng Anh (13)
      • 1.4.1. Phương pháp So khớp từ dài nhất (Longest Matching) (13)
      • 1.4.2. Phương pháp Học cải tiến (Transformation-based Learning - TBL) (14)
      • 1.4.3. Phương pháp So khớp cực đại (Maximum Matching) (14)
    • 1.5. Các thuật toán phân loại (15)
      • 1.5.1. K láng giềng gần nhất K-Nearest Neighbors (k-NN) (15)
      • 1.5.2. Linear Least Square Fit (17)
      • 1.5.3. Centroid – based vector (18)
      • 1.5.4. Cây quyết định (18)
      • 1.5.5. C4.5 (21)
      • 1.5.6. Máy vector hỗ trợ Support Vector Machine (23)
      • 1.5.7. Thuật tốn phân lớp Nạve Bayes (25)
    • 1.6. Gán thẻ và phân loại văn bản (27)
      • 1.6.1. Gán thẻ từ (27)
      • 1.6.2. Phân loại từ (28)
  • Chương 2 PHÂN TÍCH HỆ THỐNG (11)
    • 2.1. Phân tích yêu cầu đề tài (30)
    • 2.2. Mô hình đề xuất phân loại cảm xúc từ lời bình (30)
    • 2.3. Thu thập dữ liệu (Crawler) (31)
      • 2.3.1. Nguyên lí thu thập dữ liệu (31)
      • 2.3.2. Thu thập dữ liệu từ các trang web động (32)
    • 2.4. Bóc tách dữ liệu (Extractor) (32)
      • 2.4.1. Các vấn đề liên quan đến phân tích HTML (32)
      • 2.4.2. Chuẩn hóa dữ liệu (35)
    • 2.5. Đề xuất mô hình phân loại lời bình (35)
    • 2.6. Phân tích cảm xúc (36)
      • 2.6.1. Xác định Holder (36)
      • 2.6.2. Xác định Target (37)
      • 2.6.3. Phân loại Polarity (37)
    • 2.7. Tại sao lựa chọn giải thuật Nạve Bayer để phân lớp (37)
      • 2.7.1. Bài toán tổng quan (37)
      • 2.7.2. Bài toán cụ thể (0)
      • 2.7.3. Ưu điểm (0)
      • 2.7.4. Nhược điểm (0)
      • 2.7.5. Đo lường hiệu năng của giải thuật (0)
    • 2.8. Máy học trong bài toán phân loại lời bình (0)
      • 2.8.1. Các tập dữ liệu cần thiết và ý nghĩa trong phân lớp với máy học (0)
      • 2.8.2. Phân rã thông tin từ văn bản (0)
  • Chương 3 THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG (11)
    • 3.1. Xây dựng chương trình mô phỏng (0)
      • 3.1.1. Phần cứng (0)
      • 3.1.2. Phần mềm (0)
    • 3.2. Môi trường phát triển (0)
    • 3.3. Phân tích thiết kế hệ thống (0)
      • 3.3.1. Hoạt động của hệ thống (0)
      • 3.3.2. Mô hình thiết kế hệ thống (0)
      • 3.3.3. Thiết kế (0)
    • 3.4. Kết quả đạt được (0)
    • 3.5. Đánh giá kết quả (0)
    • 1. Kết luận (0)
    • 2. Kết quả đạt được (0)
    • 3. Hướng phát triển ............................................................................................. 50 TÀI LIỆU THAM KHẢO (0)
  • PHỤ LỤC (0)

Nội dung

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.

THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG

Ngày đăng: 09/09/2021, 14:35

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w