1. Trang chủ
  2. » Công Nghệ Thông Tin

Sử dụng mô hình LDA-NWF cho việc tự động dò tìm báo cáo lỗi trùng nhau

9 9 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 1,04 MB

Nội dung

Bài viết giới thiệu một phương pháp tự động dò tìm những báo cáo lỗi trùng nhau bằng cách sử dụng mô hình LDA-NWF (Latent Dirichlet Allocation-new weight feature). Mô hình này là sự kết hợp giữa mô hình LDA với đặc điểm trọng số mới.

Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XIII Nghiên cứu ứng dụng Công nghệ thông tin (FAIR), Nha Trang, ngày 8-9/10/2020 DOI: 10.15625/vap.2020.00210 SỬ DỤNG MƠ HÌNH LDA-NWF CHO VIỆC TỰ ĐỘNG DỊ TÌM BÁO CÁO LỖI TRÙNG NHAU Nhan Minh Phúc 1, Nguyễn Thừa Phát Tài1, Nguyễn Hoàng Duy Thiện1, Nguyễn Bá Nhiệm1 Khoa Kỹ thuật Công nghệ, Trường Đại học Trà Vinh nhanminhphuc@tvu.edu.vn, phattai@tvu.edu.vn, nhdthien@tvu.edu.vn TÓM TẮT: Những báo cáo lỗi gửi người dùng thường lưu trữ quản lý hệ thống quản lý lỗi dự án phần mềm mã nguồn mở Open Office, Mozilla Firefox, Eclipse Những lập trình viên dựa vào báo cáo lỗi để xử lý lỗi Tuy nhiên có nhiều báo cáo lỗi gửi đến hệ thống, có báo cáo lỗi trùng nhau, hay nói cách khác báo cáo lỗi trùng báo cáo lỗi người dùng gửi trước Do việc phải xác định báo cáo lỗi vừa gửi đến có bị trùng hay không làm nhiều thời gian công sức người phân công xử lý lỗi Vì việc tự động dị tìm báo cáo lỗi trùng gần nhận nhiều quan tâm nhà nghiên cứu Ngoài việc báo cáo lỗi thường tập tin văn bản, có trường hợp báo cáo lỗi bị trùng diễn tả từ ngữ khác người dùng khác nhau, điều thách thức cho nhà nghiên cứu Trong báo này, giới thiệu phương pháp tự động dị tìm báo cáo lỗi trùng cách sử dụng mơ hình LDA-NWF (Latent Dirichlet Allocation-new weight feature) Mơ hình kết hợp mơ hình LDA với đặc điểm trọng số Kết thực nghiệm ba hệ thống liệu thật Open Offie, Eclipse Mozilla cho thấy phương pháp giới thiệu đạt tỉ lệ xác cao phương pháp trước từ khoảng 4-9 % so sánh ba hệ thống Từ khóa: Báo cáo lỗi, mơ hình LDA, mơ hình trọng số, lỗi trùng nhau, kho báo cáo lỗi I GIỚI THIỆU Những dự án mã nguồn mở lớn Bugzilla thường dùng hệ thống quản lý lỗi để lưu trữ và quản lý báo cáo lỗi người dùng Những báo cáo lỗi gửi người dùng trình họ sử dụng phần mềm giúp việc bảo trì cải thiện tính hệ thống tốt [1] Theo nghiên cứu gần đây, với việc phát triển nhanh chóng hệ thống phần mềm, ngày có hàng trăm báo cáo lỗi gửi đến Những báo cáo lỗi trùng xảy có nhiều người dùng gửi báo cáo lỗi cho lỗi giống [2] Những báo cáo lỗi thường diễn đạt ngôn ngữ tự nhiên lỗi được diễn tả từ ngữ khác hay nhiều cách khác Bảng 1, bảng ví dụ hai báo cáo lỗi trùng hệ thống quản lý lỗi Open Office Chúng ta thấy hai báo cáo lỗi báo cáo lỗi nhiên lại sử dụng từ ngữ khác Với số lượng báo cáo lỗi lớn, việc dị tìm báo cáo lỗi trùng thủ công việc làm nhiều thời gian cơng sức Vì năm gần đây, nhiều phương pháp việc tự động dò tìm báo cáo lỗi trùng nghiên cứu để giải vấn đề Hiện có vài phương pháp giới thiệu Phương pháp thường sử dụng trước sử dụng kỹ thuật rút trích thơng tin (IR) với mơ hình khơng gian vector (Vector Space Model) [3, 4] Một phương pháp khác cải tiến sử dụng xử lý ngôn ngữ tự nhiên kết hợp với kỹ thuật rút trích thơng tin [5, 6] Ngồi cịn số phương pháp khác sử dụng mơ hình học máy [7], mơ hình phân loại nhị phân Bảng Báo cáo lỗi Open Office có mã lỗi: 9002 [8] Tuy nhiên, giới hạn Bug ID 9002 phương pháp Product Math kết thực Component Code nghiệm thấp việc Summary formatting of font attributes xác định báo cáo Description The attributes: hat, grave, tilde, check, bar, vector, and so on are too far removed from the font Seems to be a problem with the font definitions used lỗi trùng Gần đây, Workaround are widevec, widehat, widebar etc Unfortunatelly the „wide‟ version does not phương pháp cải tiến exist for all attributes kỹ thuật rút trích Also, „bold‟ in formulate is translated into some sort of arial font with poor spacing within thông tin nhóm tác characters It is unfortunate that this has changed from SVv4 which used the more conventional mathematical notation of Times bold for that, which incidentally has better giả Sun et al [9] giới thiệu character kerning cho thấy hiệu tốt việc tự động dò tìm Bảng Báo cáo lỗi Open Office có mã lỗi 4524 Bug ID 4524 báo cáo lỗi trùng Product Math Phương pháp Component UI sử dụng đặc điểm trọng số Summary Space between a vector and its arrow too large BM25F kết hợp với việc Description Hi, xem xét nhiều thuộc The space between a vector and its arrow is to large making the formula too high It doesn‟t matter much when the formula is a paragraph of its own but it looks clumsy when placed tính tập tin báo cáo among the text of a paragraph lỗi Phương pháp cho To make myself clear, copy this text in a sxw file then insert in the middle of the previous kết tốt dựa paragraph the formula “vec u” or the formula “widevec AB” Compare with what you‟d get vào tương đồng inserting the formula “overline AB” Thanks báo lỗi cao Tuy nhiên, thực tế nhiều báo SỬ DỤNG MƠ HÌNH LEA-NWF CHO VIỆC TỰ ĐỘNG DỊ TÌM BÁO CÁO LỖI TRÙNG NHAU 532 cáo lỗi khác sử dụng từ ngữ khác để mơ tả loại lỗi Khi báo cáo lỗi so sánh độ tương đồng cho kết khác Trong trường hợp phương pháp Sun et al không cho kết tốt Bài báo giới thiệu phương pháp LDA-NWF, mơ hình dị tìm tự động báo cáo lỗi trùng tận dụng ưu điểm khơng kỹ thuật rút trích thơng tin mà cịn dựa vào mơ hình đặc điểm chủ đề sử dụng LDA Mơ hình thiết kế để giải vấn đề hai báo cáo lỗi không tương đồng xem trùng báo cáo lỗi giống Trong mơ hình LDA-NWF, hai báo cáo lỗi phải có mơ tả chung chủ đề, thông tin báo cáo lỗi II NGHIÊN CỨU LIÊN QUAN Để dị tìm báo cáo lỗi trùng nhau, hầu hết nghiên cứu trước sử dụng phương pháp thống kê dựa kỹ thuật tìm kiếm thơng tin Năm 2005, J Anvik et al [10] xây dựng mơ hình thống kê sử dụng độ tương đồng cosine liệu Mozila Firefox, nhiên kết đạt chiếm 28 % Hiew et al [11] sử dụng mơ hình khơng gian vector (VSM) để dị tìm báo cáo lỗi trùng Dữ liệu sử dụng cho phương pháp lên đến 100,000 tập tin báo cáo lỗi phần mềm mã nguồn mở Eclipse Do liệu lớn với việc sử dụng mơ hình khơng gian vector làm tăng số chiều, độ nhiểu dẫn đến kết dị tìm hiệu Runeson P et al [12] sử dụng phương pháp xử lý ngôn ngữ tự nhiên với độ xác đạt 30 % Wang et al [6] cải tiến phương pháp Runeson P et al cách bổ sung thêm việc lấy thông tin báo cáo lỗi từ thông tin thực thi tập tin báo cáo lỗi người dùng Phương pháp cho kết đạt đến 67 %, nhiên thông tin thực thi báo cáo lỗi khó mơ tả chi tiết lỗi thơng tin khơng có nhiều giá trị báo lỗi thường gặp Ngoài phương pháp học máy giới thiệu gần đây, cụ thể Jallber Weimer [8] sử dụng phương pháp để phân loại báo cáo lỗi trùng Họ sử dụng việc phân cụm độ tương đồng báo cáo lỗi để dự đoán báo cáo lỗi trùng nhau, kết thực nghiệm cho thấy phương pháp cho kết chưa cao Tian et al [5] cải tiến phương pháp Jallber Weimer việc sử dụng mơ hình REP Tuy nhiên, kết thực nghiệm cho thấy phương pháp nhiều hạn chế Một số nghiên cứu khác việc dị tìm báo cáo lỗi trùng nhận nhiều quan tâm gần Alipour et al [13] đưa khảo sát để phân tích nguyên nhân gây báo cáo lỗi Trong [14], tác giả giới thiệu phương pháp dị tìm dựa vào ngữ cảnh việc sử dụng phần mềm người dùng Ngồi cịn số nghiên cứu dựa vào phương pháp theo dõi dấu vết lỗi thói quen viết báo cáo lỗi người dùng, hay phương pháp phân cụm báo cáo lỗi [15, 16, 17], nhiên, phương pháp cho kết dị tìm từ 48-70 % III PHƯƠNG PHÁP GIỚI THIỆU Phương pháp gồm hai phần Đầu tiên chúng tơi xây dựng mơ hình LDA tính độ tương đồng LDA Phần chúng tơi xây dựng mơ hình tính đặc điểm trọng số (NWF) Sau chúng tơi kết hợp hai mơ hình lại với gọi LDA-NWF Hình cho thấy phương pháp tổng thể mơ hình Kết hợp mơ hình Báo cáo lỗi Cấu trúc tiền xử lý Bc1:Trl-1.1,Trl-1.2,… Bc2:Trl-2.1,Trl-2.2,… … Bcn:Trl-n.1,Trl-n.2,… Xây dựng mơ hình LDA P(z|dnew) Danh sách top K Bc Bc … Bc K Xác định độ tương đồng LDA với Bc1, Bc2, sử dụng P(z|d) Tính tổng trọng lượng Xây dựng mơ hình NW Trọng số NW Xác định độ tương đồng NW với Bc1, Bc2, sử dụng TF Điều chỉnh tham số Hình Mơ hình tổng thể LDA-NW A Cấu trúc tiền xử lý báo cáo lỗi Tất báo cáo lỗi hệ thống quản lý lỗi tổ chức theo cấu trúc liệu kiểu danh sách Cấu trúc dạng kiểu liệu bảng băm Trong danh sách chứa báo cáo lỗi Bc (những báo cáo lỗi đầu tiên) Những báo cáo lỗi Bc xem khóa danh sách, tất báo cáo lỗi Trl trùng với báo cáo lỗi xem giá trị danh sách chứa loại lỗi với báo cáo Điều có nghĩa danh sách chứa lỗi khác tất báo cáo lỗi danh sách có loại Nhan Minh Phúc, Nguyễn Thừa Phát Tài, Nguyễn Hoàng Duy Thiện 533 lỗi Khi báo cáo lỗi gửi đến, kiểm tra có trùng với báo cáo lỗi gửi đến kho trước hay khơng Nếu báo cáo phát trùng, thêm vào danh sách tương ứng với danh sách báo cáo lỗi mà trùng, ngược lại danh sách tạo báo cáo lỗi trở thành báo cáo danh sách tạo Ngồi chúng tơi tiến hành bước tiền xử lý với báo cáo lỗi Do tập tin báo cáo lỗi thường chứa nhiều thơng tin Những thơng tin có vài thông tin khác phần mềm mã nguồn mở khác Nhưng nhìn chung họ giống Bảng Bảng ví dụ tập tin báo cáo lỗi Open Office Do tập tin báo cáo lỗi gốc thuộc dạng XML chứa nhiều thông tin dư thừa, sử dụng công cụ Java SAX để chuyển đổi rút trích lấy bốn thơng tin tập tin báo cáo lỗi bao gồm: thơng tin tóm tắt lỗi, mơ tả chi tiết lỗi, loại lỗi thông tin trùng lắp Thơng tin tóm tắt lỗi phần mơ tả chi tiết lỗi chứa thông tin văn tập tin báo cáo lỗi Thông tin loại lỗi chứa bốn phần gồm: loại lỗi, sản phẩm, thành phần phiên Thông tin trùng lắp sử dụng để đánh giá độ xác kết thực nghiệm.Tiền xử lý bước thực việc trích liệu bao gồm bước: làm liệu, tách từ, tìm từ gốc, tìm từ đồng nghĩa, loại bỏ từ khơng có nghĩa Bước làm liệu thường dùng phổ biến xử lý văn bản, tập tin báo cáo lỗi thường chứa thông tin gây nhiểu, dư thừa không cần thiết Ví dụ dấu ngoặc đơn, dấu ngoặc kép, dấu gạch nối Bước tách từ thực báo cáo lỗi cách tách để lấy từ tập tin báo cáo lỗi dịng, sau chuyển đến tìm từ gốc Do tập tin báo cáo lỗi tiếng anh, nên chuyển dạng biến thể từ đông từ, tính từ, từ gốc Tiếp đến tìm từ đồng nghĩa diễn tả khác nhau, ví dụ từ “Control+Tab” cách sử dụng phím tắt diễn tả người dùng khác với dạng Ctrl+Tab, Trl-Tab, CtrTab cuối loại bỏ từ thường xuất nhiều ngôn ngữ tự nhiên không mang nhiều ý nghĩa “a, is, about, but”, Ngồi chúng tơi chuyển tất nội dung tập tin báo cáo lỗi sang dạng chữ thường Với bước tiền xử lý trong báo sử dụng công cụ GATE [18] Lucene [19] để làm việc B Xây dựng mơ hình LDA Vấn đề mơ hình LDA làm để tạo chủ đề từ tập tin báo cáo lỗi phân tích Trong LDA, từ hay thuật ngữ tất tập tin báo cáo lỗi thu thập thành tập từ vựng, gọi V Một chủ đề tạo từ từ khác tập tập từ vựng Khi từ tập từ vựng V có tầng suất xuất khác việc tạo chủ đề k, chủ đề tạo thơng qua hay nhiều từ Để làm điều này, LDA sử dụng vector chọn từ gọi có kích thước V cho chủ đề k Mỗi thành phần vector dựa vào phân bố xác suất từ, tương ứng với vị trí thành phần tập từ vựng V dùng để tạo chủ đề k Mỗi thành phần có giá trị khoảng [0-1] Giả sử chủ đề 1, =[0,24; 0,23; 0,14; ] thấy Hình 2, điều có nghĩa việc phân bố tầng suất xuất từ tập từ vựng sử dụng để tạo chủ đề k chiếm 24 %, từ thứ hai chiếm 23 %, tương tự 14 % từ thứ ba, Một chủ đề tạo từ tập từ tùy vào phân bố xác suất chúng Khi có ma trận =K x V dùng để chọn từ dựa vào việc phân bố từ cho chủ đề Sử dụng LDA xử lý tập tin báo cáo lỗi Chúng rút trích tất thơng tin từ hai trường báo cáo lỗi: mơ tả (descriptions) tóm tắt (summaries) Khi tập tin báo cáo lỗi b chứa từ, để sử dụng LDA với báo cáo lỗi cần hai tham số Đầu tiên vector dùng để gán chủ đề Đối với vị trí báo cao lỗi b xem xét gán cho chủ đề Vector dùng để gán chủ đề cho báo báo cáo lỗi b có kích thước Mỗi thành phần vector mục cho chủ đề Tham số thứ hai , báo cáo lỗi b có nhiều chủ đề, thuật tốn LDA sử dụng tham số để xác định tỷ lệ xác suất cho chủ đề báo cáo lỗi b báo cáo lỗi b trình bày vector với K thành phần Mỗi thành phần giá trị nằm khoảng [0-1] để mơ hình hóa tỷ lệ chủ đề báo báo lỗi b Mỗi giá trị đề cập đến chủ đề tổng chúng 100 % Giá trị cao có nhiều từ thuộc chủ đề k có báo cáo lỗi b Ví dụ báo cáo lỗi hình 2, =[0.20, 0.24, 0.13, ], có nghĩa 20 % báo cáo b có chứa từ “editing”, 24 % chứa từ “versioning”, … Xử lý sinh LDA dạng học máy thường gọi mơ hình sinh (generative model) Từ khía cạnh sinh nó, báo cáo lỗi b xem đối tượng tạo ba tham số , Như Hình Ví dụ báo cáo lỗi b, mơ hình sinh vector để xác định chủ đề cho vị trí dựa vào xác suất tính tỉ lệ từ b Mỗi mục tương ứng với từ theo chủ đề gán việc phân bổ từ chủ đề tương ứng với chủ đề đó, q trình gọi tiến trình sinh mơ hình LDA Khi báo cáo lỗi gửi đến, mơ hình LDA thực việc gán chủ đề tỷ lệ chủ đề cho Chúng training mơ hình với liệu tồn kho quản lý lỗi bao gồm tập tin báo cáo lỗi thơng tin trùng lặp Những thông tin sử dụng để ước lượng cho vector dùng để gán chủ đề tất tập tin báo cáo lỗi tỷ lệ xác suất chủ đề mà chia sẻ có lỗi Để dự đốn lỗi, chúng tơi áp dụng mơ hình cho báo cáo lỗi vừa gửi đến Khi tham số huấn luyện để ước lượng tỷ lệ chủ đề Việc tính độ tương đồng dựa vào tỷ lệ chủ đề nhóm báo lỗi trùng lắp G tính sau: SỬ DỤNG MƠ HÌNH LEA-NWF CHO VIỆC TỰ ĐỘNG DỊ TÌM BÁO CÁO LỖI TRÙNG NHAU 534 ( ) ( ( )) Trong topicSim( ) độ tương đồng chủ đề hai báo cáo lỗi Điều có nghĩa độ tương đồng cao lấy báo cáo lỗi nhóm báo cáo lỗi trùng lắp G Chúng sử dụng kỹ thuật Jensen-Shannon divergence để làm việc Cuối tất nhóm báo cáo lỗi trùng Gj xếp lại nhóm có độ tương đồng cao theo xếp top-k xem ứng viên trùng với báo cáo lỗi C Mơ hình đặc điểm trọng số (NWF) Trọng số BM25 Phần giới thiệu việc tính trọng số Sau chuyển từ tập tin báo cáo lỗi sang mơ hình khơng gian vector với từ tương ứng chiều Giá trị trọng số phụ thuộc vào xác suất từ xuất báo cáo lỗi Việc tính độ tương đồng hai báo cáo lỗi dựa vào khoảng cách giá trị không gian vector Một phương pháp phổ biến sử dụng trọng số TF-IDF Trong TF (term frequency) dùng để ước lượng tần xuất xuất từ văn Tuy nhiên với văn có độ dài khác nhau, số lần xuất từ nhiều Vì số lần xuất từ chia độ dài văn (tổng số từ văn đó) IDF (Inverse Document Frequency) dùng để ước lượng mức độ quan trọng từ Khi tính tần số xuất TF từ coi quan trọng Tuy nhiên có số từ thường sử dụng nhiều không quan trọng để thể ý nghĩa đoạn văn, ví Topic editor 0.24 open 0.23 file 0.14 ……….… Topic repository 0.26 revision 0.18 remote 0.13 ……….… … Topic K 𝐾 navigator 0.24 browser 0.23 display 0.14 ……….… Hình Mơ hình liệu Hình Chủ đề cách chọn chủ đề dụ: and, but… Vì cần giảm mức độ quan trọng từ cách sử dụng IDF Tuy nhiên, phương pháp nhiều hạn chế [15] Gần vài nghiên cứu giới thiệu phương pháp tính trọng số gọi BM25 [20] Phương pháp cho thấy hiệu thơng qua kết thực nghiệm hệ thống báo cáo lỗi mã nguồn mở Mozila, Open Office BM25 hàm xếp hạng phát triển hệ thống truy xuất thông tin Okapi [20] Trong BM25, tài liệu xếp hạng dựa chức truy xuất từ thuật ngữ coi thuật ngữ truy vấn để tính tốn phụ thuộc vào xác suất thống kê thuật ngữ tất báo cáo lỗi Nói cách khác, BM25 tính tốn mối quan hệ nội cụm từ truy vấn báo cáo lỗi, thay liên quan đến mối quan hệ cụm từ truy vấn báo cáo lỗi Ngồi ra, BM25 biểu diễn cách sử dụng số hàm trọng số biến thể với thành phần khác để điều chỉnh cho ứng dụng truy xuất thông tin tương ứng Hàm trọng số BM25 chuỗi truy vấn q báo cáo lỗi d định nghĩa sau: ( )( ) ( ) ∑ ( ) (1) ( ) ( ) Trong công thức (3), tf (qi, d) tần số lặp lại từ qi xuất tài liệu d, | d | đại diện cho độ dài báo cáo lỗi d tính từ, dlavg đề cập đến độ dài báo cáo lỗi trung bình tất báo cáo lỗi liệu thực nghiệm Các tham số k1 b tham số heuristic để kiểm soát trọng số tần số xuất từ chiều dài báo cáo lỗi Chúng thường chọn 1,2 ≤ k1 ≤ 2,0 0,5 ≤ b ≤ 0,8 Cuối cùng, idf(qi) thể tần suất báo cáo lỗi nghịch đảo cụm từ truy vấn qi Nó tính phương trình sau: ( ( ) ( ) (2) ( ) N tổng số báo cáo lỗi liệu thực nghiệm df(qi) số lượng báo cáo lỗi chứa cụm từ truy vấn qi Giới thiệu đặc điểm trọng số (NWF) Mặc dù BM25 cho thấy hiệu việc tính đặc điểm trọng số Tuy nhiên, theo [9] BM25 hạn chế, cụ thể việc tính cosine ranking, BM25 cho kết tốt câu truy vấn ngắn Ngược lại câu truy vấn dài thuật tốn chưa cho thấy hiệu Điều gặp phải đô i với vài thuật tốn xếp hạng khơng cho BM25 Để khắc phục hạn chế này, sau quan sát đánh giá liệu từ tập tin báo cáo lỗi, nhận thấy BM25 không chứa giá trị âm điều liên quan đến thành phần IDF: Nhan Minh Phúc, Nguyễn Thừa Phát Tài, Nguyễn Hoàng Duy Thiện ∑ ( 535 ( ) (( ) ) ( ) ( )) Khi chúng tơi đề xuất lại IDF cách xếp lại để có: ∑ ( ) ( ) ( ) Trong ( ) Đối với công thức này, quan tâm đến ảnh hưởng thành phần C td, để khắc phục trường hợp câu truy vấn dài Giải pháp đưa bổ sung thêm số nguyên dương O, điều có tác dụng làm thay đổi chức ưu tiên số nhỏ (nghĩa mẫu số lớn, giá trị Ld lớn tài liệu dài) D Kết hợp LDA với đặc điểm trọng số Trong phần chúng tơi giới thiệu mơ hình kết hợp LDA với NWF để dị tìm báo cáo lỗi trùng Trong mơ hình chúng tơi, chúng tơi đưa hai kỹ thuật dự đốn p1 p2 Kỹ thuật p1 dựa vào mơ hình chủ đề (LDA) p2 dựa vào đặc điểm trọng số Hai kỹ thuật có ưu điểm khác mơ hình dự đốn báo cáo lỗi trùng Kỹ thuật NWF cho kết xác hai báo cáo lỗi có độ tương đồng thuật ngữ tập tin báo cáo lỗi Tuy nhiên, kỹ thuật cho kết thấp hai báo cáo lỗi mô tả lỗi (trùng nhau) lại mô tả thuật ngữ khác hai báo cáo lỗi Ngược lại kỹ thuật sử dụng mơ hình chủ đề LDA dị tìm hai báo cáo lỗi có trùng hay khơng dựa vào độ tương đồng chủ đề hai báo cáo lỗi, chí trường hợp hai báo cáo lỗi khơng có độ tương đồng thuật ngữ hai báo cáo lỗi Nghĩa hai báo cáo lỗi sử dụng từ ngữ khác mơ tả lỗi phát sinh, phương pháp cho kết dị tìm tốt phương pháp p1 Tuy nhiên phương pháp LDA dựa vào độ tương đồng chủ đề hai báo lỗi, chủ đề thường tóm tắt nội dung mơ tả lỗi kết tính độ tương đồng khơng hiệu việc so sánh thuật ngữ cách tính đặc điểm trọng số từ Với việc kết hợp hai kỹ thuật, tận dụng ưu điểm hai phương pháp để bổ trợ cho việc tính độ tương đồng hai báo cáo lỗi để xử lý việc dị tìm báo cáo lỗi trùng cho kết hiệu Để làm công việc sử dụng kỹ thuật học máy gọi Ensemble Average, mơ hình tuyến tính Việc kết hợp thực sau: p=⍺1 x p1 + ⍺2 x p2 Trong ⍺1 ⍺2 tham số việc ước lượng báo cáo lỗi trùng phải thỏa điều kiện ⍺1+⍺2=1 Điều có nghĩa ⍺1=1 ⍺2=0, áp dụng kỹ thuật nghĩa sử dụng mơ hình LAD Ngược lại ⍺1=0 ⍺2=1 phương pháp dị tìm sử dụng kỹ thuật tính độ tương đồng hai báo cáo lỗi dựa vào đặc điểm trọng số NW Việc chọn giá trị để tối ưu cho hai tham số thảo luận phần thực nghiệm training cho phương pháp giới thiệu IV THUẬT TỐN A Thuật tốn cho mơ hình LDA Mục đích thuật tốn để ước lượng tham số cho mơ hình LDA training kho báo cáo lỗi B tập hợp nhóm báo cáo lỗi trùng {Gj(b)} , , với liệu Chúng tơi sử dụng thuật tốn Gibbs sampling để làm điều Đầu tiên hai tham số gán cho giá trị ngẫu nhiên Khi vòng lặp thuật để ước lượng tham số dựa o việc tính phân bổ chủ đề từ giá trị có sẳn Vịng lặp kết thúc tổng khác phân bổ chủ đề ước lượng phân bổ chủ đề ước lượng trước nhỏ ngưỡng Ý tưởng thực tốn mơ tả sau: Ước lượng việc gán chủ đề cho báo cáo lỗi B Với báo cáo lỗi b B, mơ hình LDA ước lượng việc gán chủ đề cho vị trí i Cho chủ đề k K chủ đề, ước lượng dựa vào xác suất mà chủ đề k gán cho vị trí i báo cáo lỗi b Khi gán chủ đề dựa vào giá trị xác suất ks Có hai trường hợp xảy ra, trường hợp thứ báo cáo lỗi báo cáo lỗi trùng với nó, việc ước lượng gán chủ đề thực theo thuật tốn Gibbs sampling mơ hình LDA sau: 536 SỬ DỤNG MƠ HÌNH LEA-NWF CHO VIỆC TỰ ĐỘNG DỊ TÌM BÁO CÁO LỖI TRÙNG NHAU )( ) ( ) ( )( ) Trong số từ b (ngoại trừ vị trí thứ i) gán đến chủ đề k N b tổng số từ b ( số từ wi tất báo cáo lỗi B (ngoại trừ vị trí tại) gán đến chủ đề k tổng số từ B gán đến chủ đề k ( ) ( Trường hợp thứ 2: báo cáo lỗi b xác định trùng với nhóm báo cáo lỗi G j, nghĩa có chủ đề với nhóm Khi sử dụng công thức bên dưới: ( )( ) ( ) ( ) ( )( ) Trong ( số từ wi tất báo cáo lỗi B, ngồi trừ vị trí gán đến k, số từ S mô tả thông tin k So với công thức (4), báo cáo lỗi trùng có chủ đề với báo cáo lỗi nhóm Tỷ lệ chủ đề k mô tả báo cáo lỗi bao gồm tỷ lệ chủ đề 0b tỷ lệ chủ đề chia 0Fj nhóm báo cáo lỗi trùng Gj Từ có ( ) , số thuật ngữ b ngoại trừ cho vị trí mà gán chủ đề k Nb tổng số từ b tổng số vị trí gán cho chủ đề k tất báo cáo lỗi trùng nhóm Gj NGj tổng chiều dài báo cáo lỗi Công thức tác động đến việc chia chủ đề việc ước lượng ] làm phản ánh ước lượng thông qua tỉ lệ Ước lượng cho chủ đề dựa vào cho báo cáo lỗi b Sau việc gán chủ đề cho tất vị trí b ước lượng, tỷ lệ ước lượng chủ đề k b tính đơn giản tỷ lệ số từ mô tả chủ đề k chiều dài báo cáo lỗi Ước lượng việc phân bố từ Đây bước cuối dùng để ước lượng việc phân bố từ chủ đề Đối với từ wi V oc chủ đề k tính dựa vào tỷ lệ số lần mà từ từ vị trí thứ i Voc sử dụng để mơ tả chủ đề k tổng số lần mà thuật ngữ sử dụng để mô tả cho chủ đề k B Mơ hình LDA-NWF Mơ hình LDA-NWF kết hợp mơ hình LDA mơ hình đặc điểm trọng số Khi cần xác định ⍺1 ⍺2 để tính độ tương đồng báo cáo lỗi nhóm báo cáo lỗi trùng Đầu tiên training mô hình LDA NWF Những tham số mơ hình training dùng để ước lượng mức độ tương đồng hai báo cáo lỗi mức độ tương đồng chủ đề báo cáo lỗi với nhóm báo cáo lỗi trùng Những mức độ tương đồng kết hợp sử dụng sim(Btest, Gtest) thông qua đặc điểm trọng lượng khác ⍺1 Việc kết hợp giá trị tương đồng được dùng để xếp hạng báo cáo lỗi nhóm báo cáo lỗi trùng Danh sách xếp hạng Lpred sử dụng để đánh giá chức MAP(Gtest, Lpred) sử dụng để tìm giá trị tối ưu cho ⍺1 Giá trị ⍺1 nhận từ giá trị cao trả từ MAP(Gtest, Lpred) Hàm sử dụng để tính độ xác trung bình [24] định nghĩa sau: ( ) ∑ Trong Ltest liên kết đến báo cáo lỗi trùng thật tập liệu testing Lpred danh sách xếp liên kết đực dự đốn Indexi vị trí nhóm báo cáo lỗi trùng lấy từ truy vấn thứ i Do MAP sử dụng để đo lường độ xác thuật tốn xếp liên kết nên coi chức việc training cho mơ hình LDA-NWF Trọng lượng từ ⍺1 ⍺2 training dùng để tính việc kết hợp báo cáo lỗi độ tương đồng chủ đề tính sau: Sim=⍺1*sim1+⍺2*sim2 Trong sim1 sim2 tập tin báo cáo lỗi độ tương đồng chủ đề báo cáo lỗi bnew nhóm báo cáo lỗi trùng G Độ tương đồng kết hợp cao bnew xem trùng với báo cáo lỗi nhóm G V KẾT QUẢ ĐÁNH GIÁ A Tập liệu tham số K Để đánh giá phương pháp giới thiệu, sử dụng tập liệu báo cáo lỗi công bố [9], chi tiết tập liệu mô tả Bảng Hai thơng tin báo cáo lỗi trường tóm tắt (summary) phần mô tả (description) sau rút trích từ tập tin báo cáo lỗi lưu tập tin liệu Sau chúng tơi tiền xử lý với kỹ thuật tách từ, phục hồi từ gốc, bỏ từ khơng có nghĩa,… Nhan Minh Phúc, Nguyễn Thừa Phát Tài, Nguyễn Hồng Duy Thiện 537 Khi tất thuật ngữ lại đánh mục Sau giai đoạn báo cáo lỗi xem vector từ mục tương ứng Tất báo cáo lỗi xếp theo trình tự thời gian Chúng tơi chia tập liệu sang hai phần: phần dùng cho huấn luyện phần dùng cho kiểm tra Phần dùng để huấn luyện bao gồm M báo cáo lỗi đầu tiên, 200 báo cáo lỗi bị trùng Nó dùng để huấn luyện cho mơ hình LDA NWF Những báo cáo lại dùng cho việc kiểm tra đánh giá Sau thực nghiệm cho phần kiểm tra (testing) Nếu xác định báo cáo trùng b, trả danh sách top-k ứng viên nhóm báo cáo lỗi trùng Nếu báo cáo lỗi xác định trùng với nhóm lỗi G danh sách top-k, chúng tơi đếm có xác định Chúng tơi thêm báo cáo lỗi b đến nhóm để huấn luyện sau Độ xác top-k hay cịn gọi recall rate tính tỷ lệ số báo cáo xác định tổng số báo cáo lỗi xem xét Recal rate = Kho Bc lỗi Thời gian thu thập Số lượng Bc lỗi Số Bc trùng Số Bc dùng huấn luyện Số Bc kiểm tra Ngồi chúng tơi xem xét tác động liên quan đến việc chọn số chủ đề K Chúng OpenOffice 01/01/2008- 31,138 3,371 200 3,171 chạy thực nghiệm liệu Eclipse 21/12/2010 khoảng 20 đến 400 với khoảng cách 20 kết 01/01/201075, 6,925 200 6,725 lấy top-10 Kết Hình Từ Mozzilla 31/12/2010 653 việc quan sát kết thấy K nhỏ (K380, quan sát thấy độ xác bắt đầu giảm số chủ đề lớn dẫn đến chồng lắp ngữ nghĩa báo cáo lỗi có nhiều chủ đề với tỷ lệ tương đồng gần giống Điều ảnh hưởng đến độ xác việc dị tìm báo cáo lỗi trùng B So sánh với phương pháp khác Để đánh giá hiệu phương pháp, tiến hành thực nghiệm để so sánh với phương pháp công bố gần Cụ thể phương pháp [9], lý sử dụng tập liệu với phương pháp này, ngồi chúng tơi so sánh với mơ hình LDA NWF riêng biệt Kết thực nghiệm cho thấy phương pháp LDA-NWF cho kết tốt phương pháp C.Sun, LDA NWF 538 SỬ DỤNG MƠ HÌNH LEA-NWF CHO VIỆC TỰ ĐỘNG DỊ TÌM BÁO CÁO LỖI TRÙNG NHAU TÀI LIỆU THAM KHẢO [1] J L a M Mezini, "Finding duplicates of your yet unwritten bug report", in 17th European Conference on Software Maintenance and, 2013 [2] N S a I Ciordia, "Bugzilla, ITracker, and other bug," in In 2013 17th European Conference on Software Maintenance and Reengineering IEEE, pp 69-78, 2005 [3] M & B C.-P & H A E Rakha, "Revisiting the Performance Evaluation of Automated Approaches for the Retrieval of Duplicate Issue Reports," in IEEE Transactions on Software Engineering PP 10.1109/TSE.2017.2755005 , 2017 [4] S L D Chengnian, X Wang, J Jiang and S.-C Khoo, "A discriminative model approach for accurate duplicate bug report retrieval," in in Proceedings of the 32 nd ACM/IEEE International Conference on Software Engineering, ACM, pp 45-54, 2010 [5] Y C Tian, "Improved duplicate bug report identification," in In proceeding of the 16 th European Conference on Software Maintenance and Reengineering [6] L Z T X J A a J S X Wang, "An approach to detecting duplicate bug reports using natural language and execution information," in ACM/IEEE 30 th International Conference on Software Engineering, Leipzig, pp 461470, 2008 [7] "Enhancements for duplication detection in bug reports with manifold correlation features," Journal of Systems and Software, Elservier, Vol 121, No November, pp 223-233, 2016 [8] N J a W Weimer, "Automated duplicate detection for bug tracking systems," in IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN), Anchorage, AK, pp 52-61, doi: 10.1109/DSN.2008.4630070, 2008 [9] D L., K a J J C Sun, "Towards more accurate retrieval of duplicate bug reports," in 26 th IEEE/ACM International Conference on Automated Software Engineering (ASE 2016), pp 253-262, Lawrence, KS, 2017 [10] L H a G C M J Anvik, "Coping with an open bug repository," in in eclipse '05: Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange, pp 35-39, 2005 [11] L Hiew, "Assisted Detection of Duplicate Bug Reports", in Master's thesis, University of British Columbia, Canada, 2006., 2006 [12] M A a O N P Runeson, "Detection of Duplicate Defect Reports Using Natural Language Processing", in in proceedings of the International Conference on Software Engineering, 2017 [13] A H a E S A Alipour, "A contextual approach towards more accurate duplicate bug report detection", in 10th Working Conference on Mining Software Repositories (MSR), San Francisco, CA, pp 183-192, doi: 10.1109/MSR.2013.6624026., 2013 [14] F T T R A H Karan Aggarwal, "Detecting duplicate bug reports with software engineering domain knowledge," Journal of Software: Evolution and Process 29, 3, 2017 [15] W T Xia Tian, "An improvement to TF: Term Distribution based," in 2010 Second International Conference on Networks Security, Wireless Communications and Trusted Computing, 2010 [16] J M F U S a A M O Chaparro, "Reformulating Queries for Duplicate Bug Report Detection", in IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp 218-229, Hangzhou, China, 2019 [17] Z W J Z C G a Z Z Q Xie, "Detecting Duplicate Bug Reports with Convolutional Neural Networks," in 25th Asia-Pacific Software Engineering Conference (APSEC), pp 416-425, Nara, Japan, 2018 [18] D M K B H Cunningham, "GATE: an architecture for development of robust HLT applications", in Proceedings of the 40th annual meeting on association for computational linguistics, pp.168-175 [19] , M O Gospodnetic and E Hatcher, " Lucene," 2005 [20] J Whissell and C Clarke, "Improving document clustering using Okapi BM25 feature weighting", nformation Retrieval Journal, Vol 14, No Issue 5, pp 466-487, 2011 [21] C S a D L Yuan Tian, "Improved duplicate bug report identification", in 16th European Conference on Software Maintenance and Reengineering IEEE, pp 385-390, 2012 Nhan Minh Phúc, Nguyễn Thừa Phát Tài, Nguyễn Hoàng Duy Thiện 539 USING LDA-NWF MODEL FOR AUTOMATIC DUPLICATE BUG REPORT DETECTION Nhan Minh Phuc, Nguyen Thua Phat Tai, Nguyen Hoang Duy Thien, Nguyen Ba Nhiem ABSTRACT: Bug reports submitted by users are usually stored and managed by bug management systems in open source software projects such as Open Office, Mozilla Firefox, Eclipse, The developers will rely on these bug reports for handling However, there are too many bug reports sent to the system, these lead to duplicate bug reports In other words, the duplicate bug report is the report that sent by the user before Therefore, it is necessary to determine whether a new bug report is duplicate or not This will take a lot of time and effort of the person assigned to handle the bug Therefore, the automatic detection of duplicate bug reports has recently received a lot of attention from researchers Beside that a bug report file is usually text file, so there will be cases where the bug reports duplicate are expressed in different words by different users, this will be a challenge for for researchers In this paper, we introduce a method to automatically detect duplicate bug reports using the Latent Dirichlet Allocation-new weight feature (LDA-NWF) model This model is a combination of the LDA model with the new weighting feature Experimental results on the three real data systems Open Offie, Eclipse and Mozilla show that the introduced method achieves 4-9 % higher accuracy than the previous methods when compared across all three systems ...SỬ DỤNG MƠ HÌNH LEA-NWF CHO VIỆC TỰ ĐỘNG DỊ TÌM BÁO CÁO LỖI TRÙNG NHAU 532 cáo lỗi khác sử dụng từ ngữ khác để mơ tả loại lỗi Khi báo cáo lỗi so sánh độ tương đồng cho kết khác Trong... thứ báo cáo lỗi khơng có báo cáo lỗi trùng với nó, việc ước lượng gán chủ đề thực theo thuật tốn Gibbs sampling mơ hình LDA sau: 536 SỬ DỤNG MƠ HÌNH LEA-NWF CHO VIỆC TỰ ĐỘNG DỊ TÌM BÁO CÁO LỖI TRÙNG... đốn báo cáo lỗi trùng Kỹ thuật NWF cho kết xác hai báo cáo lỗi có độ tương đồng thuật ngữ tập tin báo cáo lỗi Tuy nhiên, kỹ thuật cho kết thấp hai báo cáo lỗi mô tả lỗi (trùng nhau) lại mô tả

Ngày đăng: 30/09/2021, 15:59

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

TÀI LIỆU LIÊN QUAN

w