Trích chọn và xếp hạng đặc trưng sản phẩm trong phân tích quan điểm 01

46 17 0
Trích chọn và xếp hạng đặc trưng sản phẩm trong phân tích quan điểm  01

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ BÍCH NHẬT TRÍCH CHỌN VÀ XẾP HẠNG ĐẶC TRƯNG SẢN PHẨM TRONG PHÂN TÍCH QUAN ĐIỂM LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội, năm 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ NGUYỄN THỊ BÍCH NHẬT TRÍCH CHỌN VÀ XẾP HẠNG ĐẶC TRƯNG SẢN PHẨM TRONG PHÂN TÍCH QUAN ĐIỂM Chuyên ngành: Khoa học máy tính Mã số:60480101 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Người hướng dẫn khoa học: PGS TS Lê Anh Cường XÁC NHẬN CỦA CTHĐ XÁC NHẬN CỦA GVHD PGS TS Phạm Bảo Sơn PGS TS Lê Anh Cường Hà Nội, năm 2015 LỜI CAM ĐOAN Tôi xin cam đoan: (i) Luận văn sản phẩm nghiên cứu tôi, (ii) Số liệu luận văn điều tra trung thực, (iii) Tôi xin chịu trách nhiệm nghiên cứu Học viên Nguyễn Thị Bích Nhật LỜI CẢM ƠN Tơi xin bày tỏ lòng biết ơn sâu sắc đến thầy hướng dẫn tơi, Phó giáo sư - Tiến sĩ Lê Anh Cường Thầy cho hội quý giá để theo đuổi nghiên cứu lĩnh vực u thích Trong suốt q trình thực luận văn, thầy hướng dẫn tận tình cho tơi, đồng thời thầy cung cấp kiến thức, tài liệu cần thiết để tơi hồn thành luận văn Đó vinh dự cho tơi nhận Thạc sỹ Tôi xin chân thành cảm ơn thầy cô giáo Khoa Công nghệ Thông tin, Đại học Công nghệ - Đại học Quốc gia Hà Nội truyền đạt cho kiến thức kinh nghiệm vơ q báu q trình học tập nghiên cứu Tơi muốn cảm ơn bạn lớp đồng nghiệp cho tơi lời động viên, góp ý hỗ trợ chuyên môn vô quý báu Cuối cùng, tơi xin cảm ơn gia đình, bạn bè, người bên cạnh động viên ủng hộ MỤC LỤC DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH VẼ CÁC KÍ HIỆU VÀ CỤM TỪ VIẾT TẮT TÓM TẮT CHƯƠNG 1: GIỚI THIỆU 1.1.Các khái niệm khai phá quan điểm 1.3.Bài tốn trích chọn thuộc tính 1.4.Mục tiêu luận văn CHƯƠNG 2: TRÍCH CHỌN THUỘC TÍNH 2.1.Mơ hình chung cho tốn phân tích quan điểm 2.2.Dữ liệu 2.3.Phương pháp trích chọn thuộc tính 2.3.1 Phương pháp lan truyền kép 2.3.2 Phương pháp trích chọn dựa vào quan hệ phận - toàn bộ, mẫu “No”…20 2.4.Trích chọn đặc trưng văn đánh giá Ti CHƯƠNG 3: THUẬT TOÁN HITS SẮP XẾP THUỘC TÍNH 3.1.Đồ thị hai phía thuật toán HITS 3.2.Phân loại thuộc tính 3.3.Sắp xếp thuộc tính CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ 4.1.Môi trường thực nghiệm 4.2.Xây dựng tập liệu 4.3.Các bước thực 4.4.Kết thực nghiệm KẾT LUẬN PHỤ LỤC DANH MỤC TÀI LIỆU THAM KHẢO DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH VẼ Hình Mơ hình chung cho tốn phân tích quan điểm ……………………… 17 Hình 2.Quan hệ trực tiếp quan hệ gián tiếp …………………………………….19 Hình Các luật để trích từ quan điểm thuộc tính …………………………… 20 Hình Thuật tốn lan truyền kép …………………………………………………22 Hình Mối quan hệ số thuộc tính thuộc tính …………………………39 Hình Thuật tốn HITS ……………………… ………………………………….31 Hình Các bước thực nghiệm ……………………… ……………………………33 Bảng Danh sách xếp hạng 10 thuộc tính ……………………… ……………… 34 Bảng Bộ 10 thuộc tính ……………………… ……………………… ……… 35 Bảng Bộ 20 thuộc tính ……………………… ……………………… ……… 35 Bảng Bộ 30 thuộc tính……………………… ……………………… ……… 35 CÁC KÍ HIỆU VÀ CỤM TỪ VIẾT TẮT STT TĨM TẮT Với phát triển nhanh chóng phong phú Web, nhiều hình thức kết nối, chia sẻ, trao đổi thông tin xuất diễn đàn, nhóm thảo luận trang mạng xã hội blog, facebook … Web thay đổi đáng kể cách thức người dùng bày tỏ quan điểm internet Chúng ta dễ dàng bắt gặp ý kiến, cảm nghĩ, nhận xét, đánh giá người dùng sản phẩm mà họ sử dụng Tất gọi chung nội dung người dùng tạo Xu hướng tạo lượng khổng lồ nguồn thơng tin hữu ích đo lường có nhiều ứng dụng thực tế Ví dụ người muốn mua sản phẩm, họ khơng bị giới hạn góp ý bạn bè gia đình có nhiều đánh giá sản phẩm trang web Còn công ty, họ không thiết phải tốn nhiều chi phí để mở thăm dị khảo sát thuê tư vấn bên để thu thập ý kiến khách hàng liệu người dùng tạo cung cấp cho họ đầy đủ thông tin Trong nhiều năm trở lại đây, lĩnh vực khai phá thông tin tri thức phát triển toán nghiên cứu khai phá phân tích quan điểm Bài tốn có ý nghĩa quan trọng thương mại điện tử, kinh tế, trị, xã hội hóa Bài toán khai phá quan điểm nhà khoa học nghiên cứu với chủ đề khác Mối quan tâm nhiều tập trung vào chủ đề tìm lọc viết giả (spam) nhằm làm hỏng danh tiếng sản phẩm, dịch vụ…hoặc với mục đích quảng cáo để bán sản phẩm, dịch vụ Sau đó, viết phân loại câu chủ quan, câu khách quan nhằm tìm ý kiến người dùng sản phẩm tích cực hay tiêu cực, thích hay khơng thích Ngồi ra, khai phá quan điểm cịn giải tốn xác định tên, xác định thuộc tính, xác định câu đánh giá quan trọng… Sản phẩm phong phú, đa dạng Ứng với sản phẩm lại có tính thuộc tính khác chúng ln thay đổi theo hướng ngày đại đa dạng Việc xác định thuộc tính theo phương pháp truyền thống ngày trở nên khó khăn Vì việc nghiên cứu phát triển hệ thống tự động phát thuộc tính sản phẩm mơi trường internet cần thiết Trích chọn đặc trưng sản phẩm toán quan trọng khai phá phân tích quan điểm Một câu nhận xét có nhiều đặc trưng, giới hạn luận văn tập trung vào việc trích chọn thuộc tính sản phẩm xếp hạng theo mức độ quan trọng thuộc tính Chúng ta xét ví dụ sau : “I bought a Sony camera yesterday, and its picture quality is great” Hệ thống phân tích quan điểm tự động xác định quan điểm thuộc tính chất lượng hình ảnh Ở đây, Sony camera thực thể picture quality thuộc tính thực thể Sony camera Trong luận văn này, tơi sâu vào nghiên cứu tốn trích chọn xếp thuộc tính sản phẩm Điều có ý nghĩa quan trọng với liệu không xác định trước miền Bằng việc nghiên cứu, phân tích phương pháp áp dụng trước đó, tơi lựa chọn trích chọn thuộc tính phương pháp lan truyền kép, quan hệ toàn - phận, mẫu “No” sử dụng thuật toán HITS để xếp hạng thuộc tính sau trích chọn CHƯƠNG 1: GIỚI THIỆU 1.1 Các khái niệm khai phá quan điểm Quan điểm sản phẩm, dịch vụ, cá nhân, tổ chức, kiện, chủ đề thể người tổ chức Thuật ngữ thực thể để đối tượng mục tiêu cần đánh giá Một thực thể bao gồm tập thành phần tập thuộc tính Mỗi thành phần lại có thành phần thuộc tính Do đó, BingLiu [5] định nghĩa thực thể sau: Thực thể (entity): Một thực thể sản phẩm, dịch vụ, người, kiện, tổ chức chủ đề Nó mơ tả cặp e: (T, W), với T hệ phân cấp thành phần, thành phần v.v… W tập thuộc tính e Một thương hiệu tiếng điện thoại di động coi thực thể ví dụ Iphone Nó bao gồm thành phần: hình, pin, vỏ … tập thuộc tính chất lượng âm thanh, kích thước, trọng lượng…Thành phần pin có thuộc tính riêng nó: tuổi thọ pin, kích thước pin… Dựa khái niệm thực thể thể dạng phân cấp Trong đó, gốc thực thể, nút gốc thành phần thành phần Mỗi liên kết phần mối quan hệ Mỗi nút liên kết với tập hợp thuộc tính Một ý kiến thể nút thuộc tính nút Ví dụ việc đưa ý kiến điện thoại di động như: “Tôi không thích Iphone” thuộc tính “Chất lượng âm Iphone thật tệ hại” Chất lượng âm thuộc tính loa, loa thuộc tính điện thoại, thể thực thể Iphone “Khơng thích” “tệ hại” quan điểm người dùng Tương tự vậy, người ta đưa ý kiến thành phần thực thể thuộc tính thành phần Trong thực tế, việc sử dụng hữu dụng nhằm đơn giản hóa định nghĩa hai lý Thứ nhất, việc học xử lý ngôn ngữ tự nhiên văn cách chi tiết mô tả khó Thứ hai, người sử dụng thường thấy phức tạp để sử dụng phân cấp Do đó, để đơn giản hóa san cịn hai cấp việc sử dụng thuộc tính (aspect) để biểu thị hai (thành phần thuộc tính) Cây lúc có nút gốc thực thể nó, nút mức hai thuộc tính khác thực thể Thuộc tính (aspect): Các thuộc tính thực thể e thành phần thuộc tính e Một thể thuộc tính từ cụm từ xuất 29 for each p in G //G tập thuộc tính trích chọn p.auth = // p.auth điểm authority p.hub = // p.hub điểm hub function HubsAndAuthorities(G) for step from to k norm = for each p in G p.auth = for each q in p.incomingNeighbors // p.incomingNeighbors tập thuộc tính trích chọn dựa vào thuộc tính p 10 p.auth += q.hub 11 norm += square(p.auth) 12 norm = sqrt(norm) 13 for each page p in G 14 p.auth = p.auth / norm 15 norm = 16 for each page p in G 17 p.hub = 18 for each page r in p.outgoingNeighbors // p.outgoingNeighbors tập thuộc tính liên quan đến p 19 p.hub += r.auth 20 norm += square(p.hub) 21 norm = sqrt(norm) 22 for each page p in G 23 p.hub = p.hub / norm Hình Thuật tốn HITS[10] Bước 2: Tính điểm cuối cho thuộc tính S = S (f) log (freq (f)) Trong đó, freq(f) đếm tần suất thuộc tính f, S(f) số điểm authority ứng cử viên thuộc tính f Ý tưởng đẩy vào thuộc tính ứng cử viên thường xuyên cách nhân với logarit tần suất Giá trị logarit sử dụng để giảm ảnh hưởng số đếm tần suất lớn 30 CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ Dựa vào sở lý thuyết đề xuất chương 3, khóa luận tiến hành thực nghiệm trích chọn thuộc tính sản phẩm từ tài liệu đánh giá trực tuyến Áp dụng thuật toán HIT để xếp hạng thuộc tính nhằm đưa thuộc tính quan trọng giúp cho việc đánh giá sản phẩm tập trung đưa kết tốt Đầu vào hệ thống: Tập văn chứa câu đánh giá sản phẩm Đầu hệ thống: Các thuộc tính trích chọn xếp hạng theo thứ tự mức độ quan trọng 4.1 Môi trường thực nghiệm Chip: Intel(R) Core I3(R) @ 2.53GHz Ram: 2.00 GB OS: Microsoft Windows Programming Tool: Eclipse SDK Language: Python 4.2 Xây dựng tập liệu Luận văn sử dụng tập liệu cung cấp người dùng đánh giá sản phẩm Mỗi liệu chọn lọc số câu chứa nhận xét sản phẩm trích từ trang web trực tuyến Chúng ta chia nhỏ nhận xét/bài viết thành câu câu gán nhãn từ loại cách sử dụng Pos tagger, liệu Tiếng Việt sử dụng Viettagger Các câu gán nhãn đầu vào cho hệ thống Luận văn sử dụng 2000 câu ô tô, 1500 câu điện thoại với liệu Tiếng Anh 1533 câu điện thoại liệu Tiếng Việt Loại bỏ từ dừng (stopword) Từ dừng (stop-words) dùng để từ mà xuất nhiều văn tồn tập kết quả, thường khơng giúp ích việc phân biệt nội dung tài liệu Ví dụ, từ “web”, “site”, “link”, “www”, v.v…thường xuất hầu hết văn gọi stop-words Ngồi ra, dấu chấm câu, ví dụ “.”, “!”, “?”, “-“, v.v… thường loại mà khơng có ảnh hưởng đến nội dung tài liệu Vì đặc điểm từ dừng nên chúng loại bỏ mà không ảnh hưởng đến công việc biểu diễn văn 31 4.3 Các bước thực Tập hợp câu gán nhãn Mẫu No Hình Các bước thực nghiệm Bao gồm bước sau: -Bước 1: Gán nhãn từ loại cho câu sử dụng phần mềm Postagger standford -Bước 2: Trích chọn thuộc tính ba phương pháp: lan truyền kép, mẫu “No”, quan hệ toàn - -Bước 3: Dùng thuật toán Hits để xếp hạng thuộc tính - Luận văn thực trích chọn thuộc tính dựa từ vựng khơng giám sát: Thứ nhất, tập thuộc tính tính từ trích chọn dựa luật ngôn ngữ tự nhiên sau gán nhãn từ loại Những tính từ thuộc tính tiền đề để trích chọn tính từ thuộc tính khác dựa vào phương pháp lan truyền kép Thuộc tính tổng hợp lại xếp hạng thuật toán Hits 4.4 Kết thực nghiệm Để đánh giá kết thực nghiệm, dựa vào phương pháp Liu đưa [14] dựa vào ma trận precision@N Kết phương pháp tính tỉ lệ phần trăm N thuộc tính xếp hạng theo mức độ quan trọng danhh sách thuộc tính sau trích chọn xếp hạng Bảng xếp hạng N thuộc tính quan trọng gồm hai yếu tố độ hồi tưởng (recall) độ xác (precision) Recall thuộc tính thứ i danh sách tính dựa vào vị trí s i thuộc tính thứ i danh sách |D| thứ tự thuộc tính danh sách tính theo công thức sau: r i= 32 Precicion thuộc tính vị trí thứ i tính theo cơng thức sau: pi= Bảng danh sách 10 thuộc tính xếp hạng với recall precision với liệu điện thoại: Thứ tự 10 Bảng 1: Danh sách xếp hạng 10 thuộc tính Độ xác: Để so sánh với thuật tốn khác, ta sử dụng độ xácđược tính trung bình precision thuộc tính theo công thức sau: P = avg Theo bảng trên, ta tính độ xác trung bình là: r i= Khi thực nghiệm liệu, tơi chia nhóm N thuộc tính gồm 10, 20, 30 thuộc tính quan trọng để đánh giá so sánh với phương pháp lan truyền kép Ta xếp thuộc tính phương pháp lan truyền kép theo số lần xuất thuộc tính sau trích xuất 33 Cars Phone DP DP 73% 76% HITS HITS 77% 79% Bảng Bộ 10 thuộc tính Bảng Bộ 30 thuộc tính Thuộc tính sau trích chọn phương pháp lan truyền kép tính số lần xuất viết đánh giá Dựa vào tần số để xếp hạng thuộc tính phương pháp Với 10 thuộc tính xếp theo mức độ quan trọng nhất, phương pháp lan truyền kép (86% với liệu car, 88% với liệu phone) tốt phương pháp sử dụng thuật toán Hits để xếp (82% với liệu car, 87 % với liệu phone) Khi tăng số thuộc tính top đầu lên 20, 30 tỉ lệ phần trăm phương pháp lan truyền kép thấp so với phương pháp sử dụng thuật toán HITS 34 KẾT LUẬN Trích chọn thuộc tính nhiệm vụ quan trọng khai phá quan điểm Mục đích là xác định thuộc tính quan trọng sản phẩm để đánh giá hỗ trợ người sử dụng đưa định đắn, hợp lý Công việc khai phá ý kiến không phục vụ cá nhân, mà cịn có ích công ty, tổ chức muốn nắm bắt phản hồi khách hàng sản phẩm Và ngày trở nên quan trọng có ngày nhiều người biểu ý kiến tình cảm sản phẩm, dịch vụ diễn đàn, mạng xã hội Luận văn trình bày nghiên cứu áp dụng vào thực nghiệm số phương pháp trích chọn thuộc tính: phương pháp lan truyền kép, quan hệ toàn - phận, mẫu “No” Sau xếp hạng thuộc tính, tìm thuộc tính quan trọng áp dụng với đối tượng thuộc nhiều chủ đề khác thông qua nhận xét mạng Ở đây, thuật toán xếp hạng trang Web HITS áp dụng để tính điểm cho thuộc tính Sau thực nghiệm với liệu lấy từ mạng, so sánh phương pháp xếp hạng thuật toán HITS thấy kết tốt phương pháp lan truyền kép Hiện tại, luận văn thực việc xếp thuộc tính quan theo mức độ quan tâm sản phẩm Do vậy, tương lai muốn xây dựng từ vựng đầy đủ mang nhiều quan điểm chủ quan tìm hiểu kỹ thuật trích chọn thuộc tính cách hiệu 35 PHỤ LỤC Mã nguồn phương thức luận văn: def ProcessDocument(input,output): f1=open(input+input,'r') listSentence=[] for i in f1: listSentence.append(i) l=len(listSentence) f1.close() f2=open(input+output,'w') for w in listSentence: w=w.replace(' ','.') w=w.replace('!_.','._.') w=w.replace('.\n','._.') w=w.replace('._ ','._.\n') w=w.replace('_',' ') f2.write(w) def CountNounAdj(input,output): prepareData(input+input,input + fileReplace.txt") f1=open(input+"fileReplace.txt",'r') listSentence=[] listPhrase=[] listOpinion=[] for i in f1: listSentence.append(i) l=len(listSentence) f1.close() f2=open(input+output,'w') #List danh tu va list tu chi quan diem listWW = ['(',')', ',',';',':','.','JJ','JJR','JJS','RB','RBR','RBS','VB','VBG','VBN','VBP','VBZ','VBD','IN','TO', 'DT','CC','NP','ADJP',"ADVP","VP",'WHVP','PRPS','NN','NNS','CD','PRP$','WHAD VP', 'WRB','WHNP','MD','WDT', 'POS','-LRB','SENTENCE_SKIPPED_OR_UNPARSABLE', '-LRB-', 'NNP', '-RRB-','WP', 'FW','PRP','-RRB-','EX',"PP","the",'a','an','i','those','this',"SBAR","S","PRN", "","CONJP",'PRT','RP','PDT','-LCB-','-RCB-',')','S','VP','NP','is','are','re',"'s"] for w in listSentence: listW=w.split() i=0 while i2 and (listW[i]=="NN" or listW[i]=="NNP" or listW[i]=="NNS"): j=i-1 listPhrase.append(listW[j].lower()) if (listW[i]=="JJ"): 36 k=i-1 listOpinion.append(listW[k].lower()) list=[] for i in listPhrase: if i not in list: f2.write(i+' '+str(listPhrase.count(i))+'\n') list.append(i) def ExtractNoun(input,output): prepareData(input+input,input + "fileReplace.txt") f1=open(input+"fileReplace.txt",'r') listSentence=[] for i in f1: listSentence.append(i) l=len(listSentence) f1.close() f2=open(input+output,'w') for w in listSentence: listW=w.split() i=0 while i

Ngày đăng: 11/11/2020, 22:26

Tài liệu cùng người dùng

Tài liệu liên quan