SINH câu MIÊU tả CHO HÌNH ẢNH sử DỤNG mô HÌNH NGÔN NGỮ

73 437 0
SINH câu MIÊU tả CHO HÌNH ẢNH sử DỤNG mô HÌNH NGÔN NGỮ

Đ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Ệ -* - ĐÀO BẢO LINH SINH CÂU MIÊU TẢ CHO HÌNH ẢNH SỬ DỤNG MƠ HÌNH NGÔN NGỮ LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ -* - ĐÀO BẢO LINH SINH CÂU MIÊU TẢ CHO HÌNH ẢNH SỬ DỤNG MƠ HÌNH NGƠN NGỮ Ngành: Cơng Nghệ Thơng Tin Chuyên ngành: Kỹ Thuật Phần Mềm Mã số: 60.48.01.03 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 Hà Nội - 2015 NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… LỜI CẢM ƠN Trước tiên, xin gửi lời cảm ơn tới thầy giáo hướng dẫn, PGS TS Lê Anh Cường (University of Enginerring and Technology) người trực tiếp hướng dẫn tạo điều kiện tốt để tơi hồn thành luận văn Tơi xin gửi lời cảm ơn tới PGS.TS Yusuke Miyao (National Institute of Informatics), người hướng dẫn tạo điều kiện cho tơi q trình nghiên cứu đề tài Nhật Bản Tôi xin gửi lời cảm ơn chân thành tới thầy cô giáo trường Đại học Công Nghệ, người trực tiếp giảng dạy, hướng dẫn tạo điều kiện cho tơi q trình học tập thực hành trường Cuối cùng, xin gửi lời cảm ơn tới tất bạn học gia đình ủng hộ, giúp đỡ tơi suốt q trình tơi thực luận văn Hà Nội, ngày tháng năm 2015 Học viên Đào Bảo Linh LỜI CAM ĐOAN Tôi xin cam đoan luận văn với đề tài “Sinh câu miêu tả cho hình ảnh sử dụng mơ hình ngơn ngữ” cơng trình nghiên cứu riêng tơi Các số liệu, kết trình bày luận văn hồn tồn trung thực chưa công bố cơng trình khác Tơi trích dẫn đầy đủ tài liệu tham khảo, cơng trình nghiên cứu liên quan nước quốc tế Trong nội dung trình bày luận văn, tơi thể rõ ràng xác tơi đóng góp Luận văn hồn thành thời gian làm Học viên Khoa Công Nghệ Thông tin, Trường Đại Học Công Nghệ, Đại Học Quốc Gia Hà Nội Học viên Đào Bảo Linh MỤC LỤC Danh mục từ viết tắt Ký hiệu viết tắt Viết đầy đủ Ý nghĩa SVM support vector machine Máy hỗ trợ vector NLP Natural Language Processing Xử lý ngôn ngữ tự nhiên CNN Convolutional Neural Network-CNN Mạng nơ-ron nhân chập OWs Other words Các từ khác BFS Best-first search Tìm kiếm theo lựa chọn tối ưu Thuật ngữ sử dụng Tiếng Anh Tiếng Việt Breadth-first search Tìm kiếm theo chiều rộng Depth-first search Tìm kiếm theo chiều sâu Graph-based segmentation Phân đoạn ảnh dựa đồ thị Bag-of-words Tập từ rời rạc Dataset Tập liệu Computer vision Thị giác máy Text Description Văn miêu tả Corpus Tập văn Annotation Chú thích Perplexity Độ hỗn loạn thông tin Danh mục bảng biểu Bảng 2.2-1 Ước lượng xác suất từ xuất sau cụm từ tương ứng tập văn Danh sách hình vẽ 10 break if lastWord == "": print "Finished!" break if flag == 0: for i in range(len(nextWord)): string = w1 + " " + nextWord[i][0] value = nextWord[i][1] oNode.append((string, value)) tmp.append(nextWord[i][0]) oNode.pop(0) flag = lastWord = oNode[0][0].rsplit(None, 1)[-1] elif flag == 1: for i in range(len(nextWord)): tmp.append(nextWord[i][0]) del tmp[:] if bagOfWord[k] in oNode[0][0]: print "Found word:", bagOfWord[k] lastWord = bagOfWord[k] 59 k=k+1 cNode.append(oNode[0]) del oNode[:] oNode.append(cNode[-1]) eob = bagOfWord[-1] else: del tmp[:] for item in nextWord: tmp.append(item[0]) if bagOfWord[k] in tmp: for item in nextWord: if (item[0] == bagOfWord[k]): string = oNode[0][0] + " " + item[0] value = oNode[0][1] + item[1] oNode.append((string, value)) else: for item in nextWord: if item[0] not in oNode[0][0]: string = oNode[0][0] + " " + item[0] value = oNode[0][1] + item[1] oNode.append((string, value)) 60 oNode.pop(0) oNode.sort(key=itemgetter(1), reverse=True) lastWord = oNode[0][0].rsplit(None, 1)[-1] while lastWord == "": if eob in oNode[0]: string = oNode[0][0] + " " + lastWord value = oNode[0][1] oNode.append((string, value)) sentence=oNode[0] print "Finished!" break else: oNode.pop(0) lastWord = oNode[0][0].rsplit(None, 1)[-1] nextWord = biGram[lastWord] del tmp[:] while k > (len(bagOfWord) - 1): for item in nextWord: if item[0] not in oNode[0][0]: 61 string = oNode[0][0] + " " + item[0] value = oNode[0][1] + item[1] oNode.append((string, value)) oNode.pop(0) oNode.sort(key=itemgetter(1), reverse=True) lastWord = oNode[0][0].rsplit(None, 1)[-1] if lastWord == "": sentence=oNode[0] break nextWord = biGram[lastWord] if t == timer: print "Timeout:", oNode break t=t+1 del oNode[:] del cNode[:] return sentence @classmethod #choosing a word has highest probability with Begin of Sentence 62 #output: [(' The cat', -3.117223), (' a dog', -3.1544452), (' The girl', -3.3955659999999996), (' An apple', -3.692948)] def getFirstWord(self, bagOfWord, startBiGram, biGram,timer): start_bi_list = startBiGram.keys() cNode = [] tmp = [] lst = [] k=0 eob="" for item in bagOfWord: w1 = start_bi_list[0] nextWord = startBiGram[w1] lastWord = "" oNode = [(w1,0)] flag = t=0 while 1: if not bagOfWord: break nextWord.sort(key=itemgetter(1), reverse=True) oNode.sort(key=itemgetter(1), reverse=True) 63 if not oNode: print "Failure" break if lastWord == "": print "Finished!" break if flag == 0: for i in range(len(nextWord)): string = w1 + " " + nextWord[i][0] value = nextWord[i][1] oNode.append((string, value)) tmp.append(nextWord[i][0]) oNode.pop(0) flag = lastWord = oNode[0][0].rsplit(None, 1)[-1] elif flag == 1: for i in range(len(nextWord)): tmp.append(nextWord[i][0]) del tmp[:] if bagOfWord[k] in oNode[0][0]: 64 print "Found word:", bagOfWord[k] lastWord = bagOfWord[k] k=k+1 lst.append((oNode[0][0],oNode[0][1])) del oNode[:] del cNode[:] break else: del tmp[:] for item in nextWord: tmp.append(item[0]) if bagOfWord[k] in tmp: for item in nextWord: if (item[0] == bagOfWord[k]): string = oNode[0][0] + " " + item[0] value = oNode[0][1] + item[1] oNode.append((string, value)) else: for item in nextWord: if item[0] not in oNode[0][0]: string = oNode[0][0] + " " + item[0] 65 value = oNode[0][1] + item[1] oNode.append((string, value)) oNode.pop(0) oNode.sort(key=itemgetter(1), reverse=True) lastWord = oNode[0][0].rsplit(None, 1)[-1] while lastWord == "": if eob in oNode[0]: string = oNode[0][0] + " " + lastWord value = oNode[0][1] oNode.append((string, value)) sentence = oNode[0][0] print "Finished!" break else: oNode.pop(0) lastWord = oNode[0][0].rsplit(None, 1)[-1] nextWord = biGram[lastWord] del tmp[:] while k > (len(bagOfWord) - 1): 66 for item in nextWord: if item[0] not in oNode[0][0]: string = oNode[0][0] + " " + item[0] value = oNode[0][1] + item[1] oNode.append((string, value)) oNode.pop(0) oNode.sort(key=itemgetter(1), reverse=True) lastWord = oNode[0][0].rsplit(None, 1)[-1] if lastWord == "": sentence = oNode[0][0] break nextWord = biGram[lastWord] if t == timer: break t=t+1 del oNode[:] del cNode[:] lst.sort(key=itemgetter(1), reverse=True) return lst 67 @classmethod #Input: bag of word and list include output of getFirstWord function #output: [('cat', 'girl'), ('cat', 'dog'), ('cat', 'apple')] def splitInToGroups(self,bagOfWords,lst): wGroup=[] bestWord= lst[0][0].split()[len(lst[0][0].split())-1] if bestWord in bagOfWords: bagOfWords.remove(bestWord) for item in bagOfWords: wGroup.append((bestWord,item)) return wGroup 68 ... sinh câu miêu tả cho hình ảnh mở ý tưởng hệ thống cho phép tìm kiếm hình ảnh thơng qua miêu tả có hiệu cao hơn, hình ảnh có tên mơ tả mặc định khơng với nội dung hình ảnh, giúp cho người sử dụng. .. động sinh câu miêu tả ảnh đề xuất [7], quy trình sinh câu miêu tả thực thông qua bước: Với đầu vào ảnh hệ thống phát đối tượng hành động, sinh câu xếp hạng cho câu, đầu câu miêu tả tốt cho ảnh. .. cứu phương pháp sinh câu miêu tả cho hình ảnh, sử dụng mơ hình ngơn ngữ tự nhiên 1.3 Phạm vi nghiên cứu luận văn Ý tưởng chủ đạo luận văn nghiên cứu sinh câu miêu tả cho hình ảnh, để có kết phải

Ngày đăng: 29/01/2016, 20:46

Từ khóa liên quan

Mục lục

  • 1.1. Bài toán và Ý nghĩa

  • 1.2. Các nghiên cứu liên quan

  • 1.3. Phạm vi nghiên cứu của luận văn

  • 2.1. Tập văn bản

    • 2.1.1. Các loại tập văn bản

    • 2.1.2. Cấu trúc của tập văn bản

    • 2.1.3. Chú thích (annotation)

    • 2.1.4. Sử dụng tập văn bản

    • 2.2. Mô hình ngôn ngữ

      • 2.2.1. Khái quát

      • 2.2.2. Tầm quan trọng của mô hình ngôn ngữ N-gram.

      • 2.2.3. Mô hình ngôn ngữ N-gram

      • 2.2.4. Xích Markov

      • 2.2.5. Ước lượng xác suất

      • 2.2.6. Đánh giá mô hình xác suất qua độ hỗn loạn thông tin

      • 2.3. Thuật toán tìm kiếm

        • 2.3.1. Thuật toán tìm kiếm theo chiều rộng

        • 2.3.2. Thuật toán tìm kiếm theo chiều sâu

        • 2.3.3. Thuật toán tìm kiếm theo lựa chọn tốt nhất(Best-first search)

        • 3.1. Tổng quan mô hình

        • 3.2. Phát hiện đối tượng

          • 3.2.1. Đề cử vùng

          • Tìm kiếm toàn diện

          • Phân đoạn ảnh

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

Tài liệu liên quan