1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xếp hạng câu trả lời trong hỏi đáp cộng đồng (tt)

24 17 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 24
Dung lượng 749,96 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Và nhưng câu hỏi câu trả lời tự nhiên thường được tạo ra trong quá trình giao tiếp của con người với con người thông qua phương tiện truyền thông xã hội internet, trong đó em đặc biệt qu

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

-

PHẠM MINH LUẬN

XẾP HẠNG CÂU TRẢ LỜI TRONG HỎI ĐÁP CỘNG ĐỒNG

CHUYÊN NGÀNH : KHOA HỌC MÁY TÍNH

Trang 2

Luận văn được hoàn thành tại:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: TS NGÔ XUÂN BÁCH

Phản biện 1: PGS.TS TRẦN ĐĂNG HƯNG

Phản biện 2: PGS.TS PHẠM VĂN CƯỜNG

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông

Vào lúc: 09 giờ 45 phút, ngày 14 tháng 07 năm 2018

Có thể tìm hiểu luận văn tại:

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

Trang 3

1

LỜI MỞ ĐẦU

Trong đời sống hiện nay, cuộc cách mạng cộng nghệ thông tin ngày càng bùng

nổ Công nghệ thông tin đã phát triển mạnh mẽ và tác động lớn đến sự phát triển của toàn thế giới Tuy nhiên trong mọi lĩnh vực của cuộc sống, người sử dụng ngày càng yêu cầu những ứng dụng thông minh, hỗ trợ nhiều trong công việc Mặc dù vậy vẫn tồn tại khoảng cách lớn giữa con người và máy tính, một trở ngại lớn nhất là vấn đề ngôn ngữ Ngôn ngữ tự nhiên của con người và ngôn ngữ của máy tính có nhiều khác biệt Chính sự khác nhau này đã cho ra đời lĩnh vực nghiên cứu và xử lý ngôn ngữ tự nhiên

Xử lý ngôn ngữ tự nhiên là lĩnh vực đạt được nhiều bước tiến quan trọng trong những năm gần đây Giúp máy tính hiểu được ngôn ngữ của con người qua đó hướng dẫn máy tính thực hiện và giúp đỡ con người trong những công việc có liên quan đến ngôn ngữ, phân tích dữ liệu văn bản, tìm kiếm thông tin, dịch thuật, v.v [5]

Vấn đề hỏi đáp đã thu hút nhiều sự chú ý trong những năm qua Đặc biệt là trong hỏi đáp cộng đồng có chứa một lượng lớn thông tin hỏi – đáp có giá trị sinh ra bởi những người sử dụng Người dùng có thể gửi các câu hỏi, trả lời các câu hỏi của người khác, và cung cấp thông tin phản hồi cho những câu hỏi/câu trả lời Tuy nhiên với lượng thông tin lớn từ dữ liệu hỏi đáp cộng đồng sẽ có rất nhiều thông tin chính xác và thông tin không chính xác Bài toàn đặt ra là, làm thế nào có thể tìm được những câu trả lời thích hợp nhất cho câu hỏi Và để làm được điều đó thì việc xếp hạng câu trả lời mà cộng đồng cung cấp theo độ liên quan đến câu hỏi là hết sức cần thiêt [1]

Tuy nhiên các nghiên cứu về hỏi – đáp trên thế giới chủ yếu tập trung vào việc tìm câu trả lời chính xác cho câu hỏi được đưa ra trong các tài liệu liên quan (câu hỏi factoid) Các đánh giá nổi tiếng nhất về nhiệm vụ hỏi – đáp factoid là hội nghị truy hồi văn bản (Text REtrieval Conference - TREC) Các câu hỏi và câu trả lời được phát hành bởi TREC đã trở thành nguồn dữ liệu cho các nhà nghiên cứu xây dựng các

hệ thống hỏi đáp tự động Nhưng khi phải đối mặt với các câu hỏi như các câu hỏi về

Trang 4

2

lý do tại sao, như thế nào, hoặc những gì về (câu hỏi non-factoid) hầu như không có

hệ thống hỏi đáp tự động nào làm việc tốt [1]

Các câu hỏi câu trả lời do người dùng tạo ra chắc chắn sẽ rất quan trọng để giải quyết vấn đề trả lời câu hỏi non-factoid Và nhưng câu hỏi câu trả lời tự nhiên thường được tạo ra trong quá trình giao tiếp của con người với con người thông qua phương tiện truyền thông xã hội internet, trong đó em đặc biệt quan tâm đến những dữ liệu hỏi đáp cộng đồng Dữ liệu mà cộng đồng cung cấp là dữ liệu quan trọng để phục vụ cho những nghiên cứu sau này

Vì vậy dưới sự hướng dẫn của TS Ngô Xuân Bách em quyết định chọn đề tài

“Xếp hạng câu trả lời trong hỏi đáp cộng đồng” Mục đích sẽ giúp người dùng có thể được câu trả lời tốt, có liên quan đến câu hỏi và dữ liệu đó cũng sẽ là ngồn dữ liệu hết sức hữu ích để phát triển hệ thống hỏi đáp tự động tốt hơn

Để xây dựng hệ thống xếp hạng câu trả lời trong hỏi đáp cộng đồng, em sẽ sử dụng tập dữ liệu cung cấp bởi SemEval 2016 trong thực nghiệm [3] Em sẽ tiến hành đánh giá thực nghiệm rộng rãi để chứng minh tính hiệu quả của phương pháp tiếp cận của em

Input: Một câu hỏi và nhiều câu trả lời

Output: Danh sách câu trả lời được sắp xếp giảm dần theo mức độ liên quan so

với câu hỏi

Câu trả lời 2: “What do you use for bait?” (Bạn dùng gì để làm mồi)

Câu trả lời 3: “Around sofitel hotel” (Xung quanh khách sạn sofitel)

Output: Là danh sách câu trả lời được sắp xếp theo thứ tự: Câu trả lời 3, Câu trả lời 1, Câu trả lời 2

Luận văn sẽ làm rõ và giải quyết các vấn đề dưới đây:

Trang 5

- Tìm ra phương pháp trính chọn phù hợp qua thực nghiệm

- Tiến hành thực nghiệm và phất tích kết quả

- Nghiên cứu với nguồn dữ liệu tiếng anh

Để xây dựng chương trình xếp hạng câu trả lời, luận văn đưa ra các phương pháp xếp hạng đã có trước đây như thuật toán SVM_Rank và thực hiện thêm hai thuật toán ListNet, ListMLE để cài thiện kế quả thu được

Nội dung luận văn chia làm 4 phần:

Chương 1: Luận văn giới thiệu về lĩnh vực xử lý ngôn ngữ tự nhiên, giới thiệu

về hỏi đáp cộng đồng, phát biểu về bài toán xếp hạng câu trả lời trong hỏi đáp cộng đồng, trình bày các phương pháp nghiên cứu liên quan

Chương 2: Luận văn trình bày về các phương pháp học máy và các đặc trưng

cho bài toán xếp hạng câu trả lời trong hỏi đáp cộng đồng Trình bày thuật toán xếp hạng bao gồm: Ranking SVMs, ListNet, ListMLE

Chương 3: Luận văn trình bày kết quả thực nghiệm thuật toán để cuối cùng đưa

ra kết quả so sánh, phân tích, đánh giá kết quả thu được và đưa ra kết luận

Phần kết luận: Tổng kết thành quả nghiên cứu và phương hướng mở rộng

Trang 6

4

Chương 1 TỔNG QUAN VỀ XẾP HẠNG CÂU TRẢ LỜI

Chương này của luận văn trình bày ba nội dung chính là: Trình bày về lĩnh vực

xử lý ngôn ngữ tự nhiên, giới thiệu về hỏi đáp tự động, giới thiệu về hỏi đáp cộng đồng, tổng quan về xếp hạng và học máy, trình bày về bài toán xếp hạng trong hỏi đáp cộng đồng

1.1 Giới thiệu về xử lý ngôn ngữ tự nhiên

Xử lý ngôn ngữ tự nhiên (Natural language processing - NPL) là một nhánh của trí tuệ nhân tạo tập trung vào các ứng dụng trên ngôn ngữ của con người Trong trí tuệ nhân tạo thì xử lý ngôn ngữ tự nhiên là một trong những phần khó nhất vì nó liên quan đến việc phải hiểu ý nghĩa ngôn ngữ, là công cụ hoàn hảo nhất của tư duy và giao tiếp [4]

NPL là một lĩnh vực liên ngành nghiên cứu sự tương tác giữa người và máy qua ngôn ngữ tự nhiên của con người Mục tiêu là làm cho máy tính thực hiện hiệu quả những nhiệm vụ liên quan đến ngôn ngữ của con người như giao tiếp giữa người và máyhoặc đơn giản là nâng cao hiệu quả xử lý văn bản và lời nói

1.2 Giới thiệu về hỏi đáp tự động

Hệ thống hỏi đáp tự động là một hệ thống thông minh được xây dựng với mục đích tìm kiếm câu trả lời cho câu hỏi của người dùng từ các tập dữ liệu một các chính xác và nhanh gọn Ba lĩnh vực lớn liên quan đến hỏi đáp tự động là xử lý ngôn ngữ tự nhiên, tìm kiếm thông tin, truy xuất thông tin Đầu vào của một hệ thống hỏi đáp tự động là một câu hỏi dưới dạng ngôn ngữ tự nhiên và đâu ra là đoạn văn bản trả lời cho câu hỏi đó

Các phương pháp xây dựng hệ thống hỏi đạp tự động có thể được chia thành hai loại chính là: truy xuất thông tin và dựa trên tri thức

1.3 Giới thiệu về hỏi đáp cộng đồng

Hỏi đáp cộng đồng là một việc thành viên đưa ra câu hỏi và cộng đồng mạng tham gia và việc trả lời câu hỏi đó thông qua hiểu biết của người trả lời, chứ không phải do các quy tắc rõ ràng thành văn bản Đây là điểm khác biệt lớn nhất giữa hỏi

Trang 7

5

đáp cộng đồng và hỏi đáp tự động Hỏi đáp tự động trước đây chỉ giải quyết được bài toán với những câu trả lời theo luật, có logic và theo những quy tắc trong tài liệu văn bản Còn hỏi đáp cộng đồng với lượng câu trả lời vô cùng lớn từ cộng đồng mạng sẽ giải quyết được hầu hết các vấn đề về hỏi đáp đặc biệt về những câu hỏi tại sao Đây cũng sẽ là một ngồn dữ liệu vô cùng bổ ích để cải thiện tốt cho hệ thống hỏi đáp tự động sau này

Hình 1.4: Yahoo website hỏi đáp cộng đồng

Các bài toàn trong hỏi đáp cộng đồng

- Sự giống nhau giữa câu hỏi và bình luận (Question – Comment Similarity): Đầu vào là một câu hỏi và các câu bình luận của câu hỏi đó Nhiệm vụ là phải sắp xếp các câu bình luận đó Sao cho những câu bình luận liên quan đến câu hỏi sẽ đứng trên những câu không liên quan đến câu hỏi thì ở phía dưới

- Sự giống nhau giữa câu hỏi và câu hỏi (Question – Question Similariy): Đầu vào là một câu hỏi mới (hay còn gọi là câu hỏi gốc) và tập hợp các câu hỏi

Trang 8

6

liên quan đến câu hỏi gốc (được tìm kiếm bởi công cụ tìm kiếm) Nhiệm vụ

là sắp xếp những câu hỏi sao cho những câu hỏi liên quan đến câu hỏi gốc thì

ở bên trên và những câu hỏi không liên quan đến câu hỏi gốc thì nằm phía dưới

- Sự giống nhau giữa câu hỏi và bên ngoài bình luận (Question – External Comment Similarity): Đầu vào là một câu hỏi mới (hay còn gọi là câu hỏi gốc) và tập hợp các câu hỏi liên quan đến câu hỏi gốc (được tìm kiếm bởi công cụ tìm kiếm), mỗi câu được liên kết với các chú thích đầu tiên xuất hiện trong tập của nó

Luận văn sẽ tập trung nghiên cứu và giải quyết bài toán Question – Comment Similarity So sánh các bình luận (hay các câu trả lời) và sắp xếp chúng so với độ liên quan đối với câu hỏi

1.4 Giới thiệu về bài toán xếp hạng

Xếp hạng nói chung được hiểu là sự sắp xếp Nhiều ứng dụng, phần mềm có sự sắp xếp, đơn giản như MS Excel, MS Dos, sự sắp xếp theo chiều tang hay giảm theo

“khóa” nào đó của dữ liệu Hay phức tạp hơn, trong các máy tìm kiếm, sắp xếp các kết quả trả về sao cho phù hợp [2]

Sự phát triển bùng nổ thông tin của thế giới Website dẫn đến tràn ngập thông tin trên internet Số lượng tài liệu đang tăng lên ngày một nhanh chóng Việc trao đổi giữa con người với con người do vấn đề rào cản địa lý đã bị xóa bỏ Nhưng cũng chính vì lượng thông tin quá lớn như vậy dẫn đến một người dùng thông thường khó

có thể tìm kiếm được thông tin mà họ mong muốn một cách nhanh và chính xác Vì vậy việc tìm và trích xuất thông tin đã trở nên quan trọng, và công cụ tìm kiếm đã dần trở thành công cụ thiết yếu của mọi người dùng internet

Có rất nhiều mô hình xếp hạng nhưng ta có thể chia thành 2 mô hình chính là xếp hạng dựa trên độ liên quan và xếp hạng dựa trên độ quan trọng

Trang 9

Độ đo liên quan là mô hình không gian vector Tài liệu và truy vấn được định nghĩa như là các vector trong một không gian Euclid, trong đó tích của 2 vector được

sử dụng để do độ liên quan giữa truy vấn và tài liệu Để tạo ra vector có kết quả tốt nhát thì mỗi term trong không gian vector sẽ có một trọng số

Xếp hạng dựa trên độ quan trọng

1.4.2

Có rất nhiều mô hình xếp hạng dựa trên độ quan trọng Mộ mô hình nổi tiếng đó

là PageRank, mô hình này được áp dụng phổ biến trên Website bởi vì nó sử dụng cấu trúc siêu liên kết để xếp hạng

Hình 1.6: Minh họa thuật toán PageRank [26]

1.5 Giới thiệu bài toán

Việc xếp hạng câu trả lời cho câu hỏi trong hỏi đáp cộng đồng là nhằm tìm ra những câu trả lời có ý nghĩa cho câu hỏi tương ứng trong một tập lớn các luồng hỏi

và đáp Vì vậy trong luận văn này em coi việc xếp hạng câu hỏi câu trả lời như là vấn

đề phân loại các cặp câu hỏi và câu trả lời được phát biểu như sau:

Cho một tập Q các câu hỏi, ở đó mỗi câu hỏi có một tập các câu trả lời { , ,…, } (n = 1, 2,…) Việc xếp hạng câu trả lời cho câu hỏi chính là gán nhãn cho các câu trả lời { , ,…, } các nhãn tương ứng là { , ,…, }

Trang 10

8

trong đó = “Good” nếu là câu trả lời hợp lý, có liên quan đến câu hỏi , =

“PotentiallyUseful” nếu là câu trả lời có độ liên quan đến câu hỏi thấp hơn, chưa chắc là câu trả lời đúng cho câu hỏi nhưng cũng có chứa thông tin trả lời câu hỏi , = “Bad” nếu là câu trả lời không liên quan đến câu hỏi

Đến nay có rất nhiều thuật toán xếp hạng như: Ranking SVMs, LisNet, ListMLE, RankRLS, SoftRank, CRR,… Trong luận văn này, em áp dụng thuật toán Ranking SVMs, ListNet, ListMLE cho bài toán xếp hạng câu trả lời trong hỏi đáp cộng đồng

1.6 Tổng quan về học máy xếp hạng

Nền tảng của học máy

1.6.1

Học máy bao gồm 4 thánh phần chính:

Không gian đầu vào: Chứa các đối tượng cần nghiên cứu, thường được biểu

diễn bằng các vector đặc trưng được trích xuất từ dữ liệu ban đầu

Không gian đầu ra: Chứa các mô hình dữ liệu được tính toán từ dữ liệu đầu

vào

Không gian theo giả thuyết: định nghĩa hàm chuyển đổi giữa đầu vào và

đầu ra Hoạt động dựa vào những vector đặc trưng của không gian đầu vào

và dự đoán của không gian đầu ra

Bộ huấn luyện: chưa các nhãn thực sự của nó Cho dữ liệu đầu vào và kết

quả của quá trình học máy từ dữ liệu đầu vào

Nền tảng của học máy xếp hạng

1.6.2

Sử dụng phương pháp học xếp hạng để xây dựng mô hình tính hạng, cần xây dựng tập dữ liệu huấn luyện là đầu vào của quá trình học Có ba hướng tiếp cận cho

mô hình học máy đó là hướng tiếp cận pairwise, pairwise và pointwise

1.7 Các nghiên cứu liên quan

Các nghiên cứu gần đây trong việc đánh giá câu trả lời được cung cấp bởi cộng đồng thường thông qua các đặc trưng biểu diễn văn bản của câu hỏi và câu trả lời như

Trang 11

9

độ dài của câu hỏi, tỷ lệ độ dài giữa câu hỏi và câu trả lời, có độ đo tương tự giữa câu hỏi và câu trả lời [19, 20, 21] Sử dụng độ đo phổ biến và tương tác xác hội [22] chẳng hạn như số lượng câu trả lời của người trả lời Kết hợp sự biểu diễn cho câu hỏi và câu trả lời qua đặc trưng văn bản và phi văn bản như là đầu vào của mô hình [23] Đề xuất xếp hạng các câu trả lời lấy từ trang web hỏi đáp cộng đồng Yahoo! Answers và chọn câu trả lời có thứ hạng cao và xem câu trả lời đó là tốt nhất cho câu hỏi [24] Trước đây cũng đã có một số nghiên cứu về chủ đề xếp hạng như xếp hạng dòng cập nhật trên mạng xã hội Twitter [16]

1.8 Kết chương

Trong chương 1, luận văn giới thiệu khái quát về lĩnh vực xử lý ngôn ngữ tự nhiên, trình bày tổng quan về hỏi đáp cộng đồng, giới thiệu tổng quan về bài toán xếp hạng, tổng quan về học máy Giới thiệu bài toán xếp hạng câu trả lời trong hỏi đáp cộng đồng và các phương pháp sẽ áp dụng

Chương tiếp theo, em trình bày cụ thể hơn về phương pháp học máy, các đặc trưng cho bài toán xếp hạng câu trả lời trong hỏi đáp cộng đồng Trình bày chi tiết hơn về các thuật toán sẽ sử dụng

Trang 12

10

Chương 2 XẾP HẠNG CÂU TRẢ LỜI DỰA TRÊN HỌC MÁY

Chương này đi vào trình bày về bài toán và giải pháp tổng thể, các phương pháp học máy và các đặc trưng cho bài toán xếp hạng câu trả lời trong hỏi đáp cộng đồng

2.1 Bài toán và giải pháp tổng thể

Bài toán dựa vào bộ dữ liệu huấn luyện và bộ dữ liệu kiểm tra được lấy từ bộ dữ liệu trên website [3]: http://alt.qcri.org/semeval2016/task3

Hình 2.1: Giải pháp tổng thể của bài toán

Trang 13

11

2.2 Các đặc trưng trong xếp hạng câu trả lời

Đặc trưng N-gram

2.2.1

Đặc trưng N-gram cũng có thể biết đến như là một mô hình ngôn ngữ N-gram

Nó cho biết xác xuất cho một chuỗi m phần tử (thường là từ) tức là cho phép dự đoán khả năng một chuỗi từ xuất hiện trong ngôn ngữ đó

Để trích rút các đặc trưng n-gram, bất kỳ n từ liên tiếp nào trong một cặp câu hỏi

và câu trả lời đề được coi là một đặc trưng

Đặc trưng chồng chéo n-gram từ giữa câu hỏi và câu trả lời

2.2.2

Khi trả lời một câu hỏi nào đó, người trả lời thường có xu hướng sử dụng lại một

số từ ở câu hỏi trong câu trả lời Vì vậy nếu trong câu trả lời có chứa từ hoặc cụm từ của câu hỏi thì câu trả lời đó có khả năng là một câu trả lời liên quan đến câu hỏi Để tính toán sự chồng chéo giữa câu hỏi và câu trả lời, em thực hiện loại bỏ các stopword trong mỗi câu hỏi, câu trả lời sau đó mới tính toán sự chồng chéo từ sử dụng n-gram từ (n = 1, 2, 3)

Đặc trưng dựa trên thông tin người trả lời

2.2.3

Số lượng câu trả lời của người trả lời chính là thông tin về tổng số câu trả lời của người trả lời trong toàn tập dữ liệu Em nhận thấy những người thường xuyên trả lời các câu hỏi của người khác thì câu trả lời của họ cũng thường mang độ chính xác cao hơn so với những người ít trả lời Chính vì vậy em cũng dựa vào đặc trưng này để phân loại các cặp câu hỏi và câu trả lời Đây cũng sẽ là một đặc trưng trong vector đặc trưng giúp em xếp hạng câu trả lời trong hỏi đáp cộng đồng được tốt hơn

Ngày đăng: 19/03/2021, 18:04

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w