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

Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN

63 771 2

Đ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 63
Dung lượng 2,98 MB

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

Nội dung

Theo xu hướng phát triển của xã hội ngày nay, sự phát triển của công nghệ thông tin là vô cùng mạnh mẽ và nhanh chóng. Tuy nhiên vấn đề đặt ra là làm thế nào để máy tính có thể “hiểu” và xử lý một cách tự động. Các thiết bị thông minh ngày càng phát triển, đặc biệt là điện thoại cá nhân được tích hợp nhiều tiện ích và chức năng, dần thay thế các thế các thiết bị khác và trở thành một thiết bị quan trọng trong cuộc sống thường ngày. Kéo theo là nhu cầu sử dụng của con người ngày một tăng, các yêu cầu về tiện ích ngày càng lớn, điện thoại thông minh ra đời. Hàng loạt các ứng dụng, tiện ích được tạo ra nhằm phục vụ cho đời sống, công việc, giải trí...Việc trao đổi thông tin qua tin nhắn điện thoại và trích lọc thông tin từ những tin nhắn đó vẫn hoàn toàn thủ công. Với mong muốn tăng cường tiện ích, tạo ra các ứng dụng thông minh, có thể thay thế các thao tác thủ công của con người mà vẫn đảm bảo độ chính xác cao và hiệu quả, em quyết định thực hiện đề tài “Xây dựng ứng dụng trích rút thời gian, địa điểm từ dữ liệu tin nhắn”. Bởi đề tài rất thực tế, phù hợp với nhu cầu hiện nay. Mục đích của đề tài là nghiên cứu về lĩnh vực trích rút thông tin và áp dụng kiến thức để xây dựng một ứng dụng có thể “đọc hiểu” tin nhắn của người dùng, trích rút thông tin về thời gian và địa điểm một cách chính xác và hiệu quả. Đồ án có cấu trúc gồm 4 chương với nội dung như sau: Chương 1: Tổng quát về trích rút thông tin Chương này cung cấp cho người đọc những hiểu biết cơ bản về bài toán trích rút thông tin nói chung, các hướng tiếp cận, phương pháp trích rút, những nguồn dữ liệu, thư viện hỗ trợ, những khó khăn thường gặp và một số ứng dụng của trích rút thông tin. Chương 2: Một số phương pháp sử dụng trong bài toán trích rút thông tin Giới thiệu về bài toán trích rút thông tin thời gian, địa điểm từ dữ liệu tin nhắn, các kỹ thuật để giải quyết. Ngoài ra chương này có đề cập tới Trường ngẫu nhiên có điều kiện CRF, máy vectơ hỗ trợ SVM. Cách sử dụng các công cụ CRF++, LibSVM... Chương 3: Xây dựng hệ thống và thực nghiệm Chương này nói về quá trình thu thập, xây dựng dữ liệu huấn luyện, các thao tác kiểm nghiệm, kết quả và đánh giá khả năng trích rút thông qua độ tin cậy (R

Trang 1

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

KHOA CÔNG NGHỆ THÔNG TIN 1

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Đề tài:

XÂY DỰNG ỨNG DỤNG TRÍCH RÚT THỜI GIAN, ĐỊA

ĐIỂM TỪ DỮ LIỆU TIN NHẮN

Giảng viên hướng dẫn : PGS.TS TỪ MINH PHƯƠNG Sinh viên thực hiện : PHẠM VIỆT ANH

Hà Nội, tháng 11/2015

Trang 2

LỜI CẢM ƠN

Để có thể hoàn thành được đồ án này, em xin chân thành cảm ơn các thầy côtrong khoa Công nghệ thông tin – Học viện Công nghệ Bưu chính Viễn thông đã âncần dạy dỗ em trong suốt bốn năm học vừa qua

Em xin gửi lời cảm ơn chân thành nhất tới thầy Từ Minh Phương, người đã trựctiếp hướng dẫn và chỉ bảo tận tình em trong quá trình làm đồ án này

Cuối cùng, em xin cảm ơn gia đình em, bạn bè em, những người đã luôn ở bêncạnh, quan tâm, giúp đỡ, động viên em để em có thể hoàn thành được đồ án này

Em xin chân thành cảm ơn!

Sinh viên Phạm Việt Anh

Trang 3

MỤC LỤC

LỜI CẢM ƠN i

DANH MỤC CÁC HÌNH VẼ iv

DANH MỤC CÁC BẢNG v

KÝ HIỆU VÀ CÁC CỤM TỪ VIẾT TẮT vi

LỜI MỞ ĐẦU 1

CHƯƠNG 1: BÀI TOÁN TRÍCH RÚT THỜI GIAN, ĐỊA ĐIỂM TỪ DỮ LIỆU TIN NHẮN VÀ TỔNG QUÁT VỀ TRÍCH RÚT THÔNG TIN 3

1.1 Bài toán trích rút thời gian, địa điểm từ dữ liệu tin nhắn 3

1.2 Giới thiệu về trích rút thông tin 5

1.3 Hướng tiếp cận 7

1.4 Phương pháp trích rút thông tin 8

1.5 Các phương pháp học máy 8

1.5.1 Học có giám sát (supervised learning) 8

1.5.2 Học không giám sát (unsupervised learning) 9

1.5.3 Học bán giám sát 9

1.6 Một số dữ liệu, thư viện hỗ trợ 9

1.7 Khó khăn của bài toán trích rút thông tin 11

1.7.1 Tính đúng đắn 11

1.7.2 Một số vấn đề hệ thống 11

1.8 Một vài ứng dụng của bài toán trích rút thông tin 12

Chương 2: CÁC VẤN ĐỀ GẶP PHẢI VÀ HƯỚNG GIẢI QUYẾT 16

2.1 Mô tả bài toán và các vấn đề cần giải quyết 16

2.1.1 Bài toán 16

2.1.2 Giới hạn phạm vi 19

2.1.3 Khó khăn đối với xử lý ngôn ngữ Tiếng Việt 19

2.1.4 Các vấn đề liên quan và đề xuất giải pháp 20

2.2 Bài toán trích rút thời gian, địa điểm 20

2.2.1 Đặc trưng dữ liệu được sử dụng và các nhãn phân loại 20

2.2.2 Conditional Random Fields (CRFs) 22

2.3 Bài toán nhận dạng hội thoại 24

Trang 4

2.3.1 Bài toán phân lớp 25

2.3.2 Mô hình vector biểu diễn văn bản 25

2.3.3 Máy vectơ hỗ trợ (SVM) 27

2.4 Cây Trie 30

2.4.1 Cấu trúc 30

2.4.2 Ưu điểm cây tiền tố so với cây tìm kiếm nhị phân 31

3 CHƯƠNG 3: THỰC NGHIỆM VÀ KẾT QUẢ 32

3.1 Thu thập dữ liệu 32

3.1.1 Dữ liệu tin nhắn 32

3.1.2 Danh sách địa danh, địa điểm 32

3.2 Công cụ huấn luyện và kiểm thử 33

3.2.1 Công cụ CRF++ 33

3.2.2 LibSVM 37

3.3 Quá trình huấn luyện 37

3.3.1 Môi trường phần cứng huấn luyện: 37

3.3.2 Huấn luyện CRF 37

3.3.3 Huấn luyện SVM 40

3.4 Xây dựng hệ thống 44

3.5 Thực nghiệm và đánh giá 47

3.5.1 Phương pháp đánh giá 47

3.5.2 Kết quả thực nghiệm 48

3.6 Giao diện chương trình 53

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 56

TÀI LIỆU THAM KHẢO 58

Trang 5

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Người dùng touch vào dòng “lúc 18h10” 3

Hình 1.3 Biểu đồ mô tả hệ thống trích rút thời gian, địa điểm từ dữ liệu tin nhắn 4

Hình 1.4 So sánh thông số sản phẩm (Comparison Shopping) 12

Hình 1.5 Nhận dạng thông tin trên điện thoại 13

Hình 1.6 Tìm việc dựa trên search engine (Nguồn tài liệu tham khảo [4]) 14

Hình 1.7 Hỏi đáp dựa trên các kết quả từ search engine 15

Hình 2.1 Sơ đồ hoạt động của hệ thống 18

Hình 2.2 Ví dụ sử dụng nhãn phân loại 21

Hình 2.3 Đồ thị vô hướng mô tả CRFs 23

Hình 2.4 Biểu diễn tin nhắn dưới dạng vectơ trọng số 26

Hình 2.5 Hình minh họa siêu phẳng phân lớp 27

Hình 2.6 Minh họa SVM biên mềm với tham số C 29

Hình 2.7 Ví dụ về cây tiền tố Trie tree 30

Hình 3.1 Mô hình hoạt động của CRF++ 34

Hình 3.2 Kết quả tiền xử lý CRF 39

Hình 3.3.Dữ liệu nguyên thủy 40

Hình 3.4.Không gian đặc trưng 41

Hình 3.5 Bộ dữ liệu huấn luyện SVM 42

Hình 3.6 Mô hình model được tạo ra từ bộ dữ liệu huấn luyện 42

Hình 3.7 File output chứa kết quả gán nhãn 43

Hình 3.8 File processedMsg.txt sau khi được gán nhãn 45

Hình 3.9 Form thêm mới lịch nhắc nhở 46

Hình 3.10 Thêm nhắc nhở thành công 46

Hình 3.11 Hình minh họa với 3 fold 48

Hình 3.12 Giao diện mô phỏng hoạt động của Server 53

Hình 3.13 Giao diện Server thực hiện trích rút 53

Hình 3.14 Giao diện kết quả trích rút 54

Trang 6

DANH MỤC CÁC BẢN

Bảng 3.1 Kết quả thử nghiệm CRF với 2 đặc trưng 49Bảng 3.2 Kết quả thử nghiệm CRF với 3 đặc trưng 49Bảng 3.3 Kết quả thử nghiệm CRF với 4 đặc trưng 50Y

Biểu đồ 3.1 Kết quả thử nghiệm trích rút thời gian 50Biểu đồ 3.2 Kết quả thử nghiệm trích rút địa điểm 51

Trang 7

KÝ HIỆU VÀ CÁC CỤM TỪ VIẾT TẮT

Trang 8

Với mong muốn tăng cường tiện ích, tạo ra các ứng dụng thông minh, có thểthay thế các thao tác thủ công của con người mà vẫn đảm bảo độ chính xác cao và hiệu

quả, em quyết định thực hiện đề tài “Xây dựng ứng dụng trích rút thời gian, địa điểm

từ dữ liệu tin nhắn” Bởi đề tài rất thực tế, phù hợp với nhu cầu hiện nay.

Mục đích của đề tài là nghiên cứu về lĩnh vực trích rút thông tin và áp dụngkiến thức để xây dựng một ứng dụng có thể “đọc hiểu” tin nhắn của người dùng, tríchrút thông tin về thời gian và địa điểm một cách chính xác và hiệu quả

Đồ án có cấu trúc gồm 4 chương với nội dung như sau:

Chương 1: Tổng quát về trích rút thông tin

Chương này cung cấp cho người đọc những hiểu biết cơ bản về bài toán tríchrút thông tin nói chung, các hướng tiếp cận, phương pháp trích rút, những nguồn dữliệu, thư viện hỗ trợ, những khó khăn thường gặp và một số ứng dụng của trích rútthông tin

Chương 2: Một số phương pháp sử dụng trong bài toán trích rút thông tin

Giới thiệu về bài toán trích rút thông tin thời gian, địa điểm từ dữ liệu tin nhắn,các kỹ thuật để giải quyết Ngoài ra chương này có đề cập tới Trường ngẫu nhiên cóđiều kiện CRF, máy vectơ hỗ trợ SVM Cách sử dụng các công cụ CRF++, LibSVM

Trang 9

Chương 3: Xây dựng hệ thống và thực nghiệm

Chương này nói về quá trình thu thập, xây dựng dữ liệu huấn luyện, các thaotác kiểm nghiệm, kết quả và đánh giá khả năng trích rút thông qua độ tin cậy (R -Recall), độ chính xác (P - Precision), độ đo F-measure và ứng dụng áp dụng kết quảtrích rút

Chương 4: Kết luận và hướng phát triển

Tổng kết bài toán, kết quả đạt được và còn chưa đạt được Từ đó đề xuất mụctiêu hướng tới và hướng phát triển trong tương lai

Trang 10

CHƯƠNG 1: BÀI TOÁN TRÍCH RÚT THỜI GIAN, ĐỊA ĐIỂM TỪ DỮ LIỆU TIN NHẮN VÀ TỔNG QUÁT VỀ

TRÍCH RÚT THÔNG TIN

Chương này sẽ giới thiệu một cách tổng quan về bài toán trích rút thông tin, baogồm các định nghĩa, hướng tiếp cận, một vài khó khăn thường gặp của bài toán Đồngthời cũng trình bày sơ lược về một vài thư viện, ứng dụng đã được phát triển cho bàitoán trích rút thời gian, địa điểm

1.1 Bài toán trích rút thời gian, địa điểm từ dữ liệu tin nhắn

Ngày nay, ta có thể bắt gặp vô số những ứng dụng, tính năng thông minh, tiệních và hữu dụng trên những sản phẩm công nghệ cao, tiêu biểu là những dòng điệnthoại di động thông minh, trong đó, những sản phẩm và ứng dụng của Apple luônđược biết đến và nhận được sự tín nhiệm cao từ phần lớn người dùng vì những tiện ích

và trải nghiệm tuyệt vời mà nó mang lại Trong đó, tính năng nhận diện thông tin trongvăn bản là một trong những điểm cộng nhận được nhiều phản hồi tích cực từ phíangười dùng:

Hình 1.1 Người dùng touch vào dòng “lúc

18h10”

Hình 1.2 Người dùng touch vào

“19001886”

Trang 11

Tính năng nhận diện thông tin trên iPhone dựa vào những định dạng phổ biến của thời gian (hình 1.1) và số điện thoại (hình 1.2) để nhận dạng và đưa ra gợi ý hành động đối với từng loại thông tin mà thiết bị nhận dạng được.

Dựa trên ý tưởng và tính ứng dụng cao của tính năng trên, qua cân nhắc, em đãlựa chọn thực hiện đề tài “Trích rút thời gian, địa điểm từ dữ liệu tin nhắn” Mục đíchcủa đề tài là thông qua việc trích rút thời gian và địa điểm, xây dựng một ứng dụngthông minh, có thể “đọc hiểu” tin nhắn người dùng và tự động đặt lịch hẹn trên thiết bịmột cách chính xác và hiệu quả

Hệ thống được xây dựng dựa trên dữ liệu tin nhắn và thông tin trích rút được,

do đó, hệ thống gồm 2 phần xử lý chính:

 Nhận dạng hội thoại: nhận dạng hội thoại gần nhất trong toàn bộ lịch sử tin nhắngiữa 2 người

- Đầu vào: Lịch sử tin nhắn giữa 2 người

- Đầu ra: Hội thoại gần nhất giữa 2 người

 Trích rút thời gian, địa điểm: trích rút thông tin thời gian, địa điểm trong hội thoạigần nhất

- Đầu vào: Hội thoại gần nhất giữa 2 người

- Đầu ra: Thời gian, địa điểm trích rút được

Hình 1.3 Biểu đồ mô tả hệ thống trích rút thời gian, địa điểm từ dữ liệu tin nhắn

Bài toán trích rút thời gian, địa điểm là một trong những trường hợp riêng của bài toán trích rút thông tin thông thường và ta sẽ làm rõ bài toán ở chương 2 Trước

tiên, ta cần nắm được những kiến thức cơ bản của trích rút thông tin nói chung, cáckhái niệm, các phương pháp trích rút phổ biến, cũng như những ứng dụng thực tiễn màbài toán trích rút thông tin đã được nghiên cứu và đưa vào sử dụng hiện nay

1.2 Giới thiệu về trích rút thông tin

Nhận dạng, tìm kiếm thông tin từ những văn bản phi cấu trúc là một công việckhó, đã thách thức giới nghiên cứu từ hơn 20 năm nay Bắt nguồn từ vấn đề Xử lýngôn ngữ tự nhiên (NLP), ngày nay vấn đề này đã được phát triển theo nhiều nhánhkhác nhau như học máy, trích rút thông tin, cơ sở dữ liệu, web và phân tích tài liệu

Trang 12

Một vài định nghĩa về trích rút thông tin được sử dụng phổ biến trên internet:

 Theo Line Eikvil [1]: IE là lĩnh vực nghiên cứu hẹp của xử lý ngôn ngữ

tự nhiên và xuất phát từ việc xác định những thông tin cụ thể từ một tàiliệu ngôn ngữ tự nhiên Mục đích chính của trích rút thông tin là chuyểnvăn bản tự nhiên về dạng văn bản có cấu trúc Thông tin được trích rút từnhững nguồn tài liệu khác nhau và được biểu diễn dưới một hình thứcthông nhất Những hệ thống trích rút thông tin văn bản không nhằm đểhiểu văn bản đưa vào, mà để tìm kiếm các thông tin cần thiết liên quan

mà chúng ta mong muốn được tìm thấy

 Cũng theo Line Eikvil [1], thành phần cốt lõi của các hệ thống trích rútthông tin là tập hợp các luật, các mẫu dùng để xác định đặc điểm củathông tin cần trích rút

 Theo Jim Cowie và Yorick Wilks [2]: IE là tên được đặt cho quá trìnhcấu trúc và kết hợp một cách có chọn lọc dữ liệu được tìm thấy, đượcphát biểu rõ ràng trong một hay nhiều tài liệu văn bản

 Theo Tiến sĩ Alexander Yates ở trường đại học Washington [3], trích rútthông tin là quá trình truy vấn những thông tin cấu trúc từ những văn bảnphi cấu trúc

 Theo những chuyên gia làm việc tại GATE1 thì những hệ thống trích rútthông tin sẽ tiến hành phân tích văn bản nhằm trích ra những thông tincần thiết theo các mẫu đã được định nghĩa trước, như những sự kiện, cácthực thể, các mối quan hệ

Tóm lại, trích rút thông tin (Information Extraction) là một kỹ thuật, lĩnh vựcnghiên cứu có liên quan đến truy vấn thông tin (Information Retrieval), khai thác dữliệu (Data mining), cũng như xử lý ngôn ngữ tự nhiên (Natural Language Processing).Mục tiêu chính của trích rút thông tin là tìm ra những thông tin cấu trúc từ văn bản phicấu trúc hoăc bán cấu trúc (các thực thể, mỗi quan hệ giữa các thực thể và các thuộctính mô tả thực thể) Trích rút thông tin sẽ tìm cách chuyển thông tin trong văn bảnkhông hay bán cấu trúc về dạng có cấu trúc và có thể biểu diễn hay thể hiện chúng mộtcách hình thức dưới dạng một tập tin cấu trúc XML hay một bảng cấu trúc (như bảngtrong cơ sở dữ liệu)

Một khi dữ liệu, thông tin từ các nguồn khác nhau, từ internet có thể biểu diễnmột cách hình thức, có cấu trúc, chúng ta có thể sử dụng các kỹ thuật phân tích, khaithác dữ liệu (data mining) để khám phá ra các mẫu thông tin hữu ích

1 http://gate.ac.uk/ie/

Trang 13

 Chẳng hạn như việc cấu trúc lại các mẫu tin quảng cáo, mẫu tin bán hàngtrên internet có thể giúp hỗ trợ tư vấn, định hướng người dùng khi muasắm

 Trích rút và cấu trúc lại các mẫu tin tìm người, tìm việc sẽ giúp cho quátrình phân tích thông tin nghề nghiệp, xu hướng công việc, … hỗ trợ chocác người tìm việc, cũng như nhà tuyển dụng

 Hay như việc làm sạch dữ liệu (Data cleaning), khi một khách hàng điềnđịa chỉ trên mỗi một hóa đơn là khác nhau, hệ thống phải trích rút thôngtin về địa chỉ khách hàng, đồng nhất chúng và loại bỏ những thông tin dưthừa

Hỗ trợ so sánh khi mua sắm (Comparison Shopping) trên các website

thương mại điện tử, hệ thống tạo ra sự tiện dụng cho khách hàng khicung cấp cho họ công cụ để có thể so sánh sản phẩm tại nhiều địa điểmgiao dịch khác nhau, hoặc giữa các sản phẩm, dựa trên các trường dữliệu như tên sản phẩm, giá bán, phản hồi khách hàng, thông số kỹthuật

Từ những ngày đầu, trích rút thông tin chỉ tập trung vào nhận biết các thực thể

có tên (chẳng hạn như tên người, tên các công ty, địa danh, địa điểm ) và mối quan hệgiữa chúng bên trong những văn bản sử dụng ngôn ngữ tự nhiên

Về sau, các kỹ thuật nhận dạng mới dựa trên các quy luật (rule-based) được tìm

ra Từ các luật ngôn ngữ thông dụng, họ đưa ra giải thuật học luật tự động từ nhữngmẫu đã được phát triển sẵn Tuy nhiên, mục tiêu của IE là các nguồn thông tin phi cấutrúc, do đó, các luật là chưa đủ và còn quá cứng nhắc

Phương pháp học dựa trên thống kê được đưa ra và trong đó có 2 kỹ thuật đượcphát triển song song: Mô hình sinh ngẫu nhiên (Generative models) dựa trên mô hìnhMarkov ẩn và mô hình điều kiện (Conditional model) dựa trên entropy Cả hai đượcgọi với tên phổ biến là Lĩnh vực ngẫu nhiên có điều kiện (CRFs - Conditional RandomFields) Khi phạm vi của trích rút dữ liệu được mở rộng, nó được chú trọng hơn tớiviệc phân tích về cấu trúc và ngữ pháp

Các nghiên cứu hiện nay liên quan đến rút trích thông tin văn bản tập trung vào:

Rút trích các thực thể có tên (Named Entity Recognition): Nhận dạng các

đối tượng thông tin về địa danh, địa điểm, tên riêng, Đây là bài toán khá phổbiến và được dùng nhiều trong các ứng dụng tìm kiếm

Ví dụ: Tìm kiếm từ khóa “Lê Thái Tổ”, Google sẽ phải tìm kiếm những văn bản

có chứa từ khóa và trích rút nó để đưa ra kết quả cho người dùng

Trang 14

Rút trích quan hệ (Relationship Extraction): là bài toán tìm kiếm và xác

định mối quan hệ giữa các thực thể trong văn bản Ví dụ như mối quan hệ giữangười và người, mối quan hệ giữa tổ chức - công ty, mối quan hệ giữa địa danh

- sự kiện

Ví dụ: Trong câu “Ngày 10/10, Đà Nẵng tổ chức Lễ hội pháo hoa quốc tế”.

Mối quan hệ giữa “Đà Nẵng” và “Lễ hội pháo hoa quốc tế” là “tổ chức”.

Càng ngày, bài toán trích rút thông tin càng chứng minh được tầm quan trọng

và tính thiết thực của nó Do đó, các kỹ thuật trích rút ngày càng được phát triển, vàkhông ngừng cho đến ngày nay

Tóm lại, trích rút thông tin là một lĩnh vực lớn, có rất nhiều khía cạnh và có thể

áp dụng cho nhiều đối tượng thông tin khác nhau Song đồ án này chỉ tập trung vào 2

đối tượng thông tin chính là: thời gian và địa điểm với nguồn thông tin từ dữ liệu tin nhắn điện thoại.

1.3 Hướng tiếp cận

Theo [1][5] thì các phương pháp trích rút hiện nay chia thành hai cách tiếp cậnchính: tiếp cận công nghê tri thức (Knowledge Engineering) và tiếp cận học máy tựđộng (Automatic Training)

 Dựa trên luật, mẫu được xây dựng thủ

công

 Được phát triển bởi những chuyên gia

ngôn ngữ, chuyên gia lĩnh vực có kinh

nghiệm

 Dựa vào trực giác, quan sát Hiệu quả

đạt được tốt hơn Việc phát triển có thể

sẽ tốn nhiều thời gian

 Khó điều chỉnh khi có sự thay đổi

 Dựa trên học máy thông kê

 Người phát triển không cần thành thạongôn ngữ, lĩnh vực

 Cần một lượng lớn dữ liệu học đượcgán nhãn tốt

 Khi có sự thay đổi  có thể cần phảigán nhãn lại cho cả tập dữ liệu học

1.4 Phương pháp trích rút thông tin

Các phương pháp sử dụng trong lĩnh vực trích rút thông tin được phân chia làm

2 loại: Thủ công hoặc dựa trên học tri thức, và dựa trên các luật hoặc thống kê [7]

 Thủ công (Hand-coded) hoặc dựa trên học tri thức (Learning-based): Hệthống thủ công cần con người đưa ra các định nghĩa các luật (rule), các biểuthức chính quy (regular expression), hoặc những chương trình mẫu để biểudiễn các trường hợp trích rút Những người này thường là các chuyên gia

Trang 15

ngôn ngữ học, lập trình viên để có thể đưa ra và phát triển các luật trích rút.Mặt khác, đối với hệ thống học tri thức, các mẫu phi cấu trúc đã được đánhnhãn sẵn sẽ được sử dụng để huấn luyện bộ học máy của chương trình (cácphương pháp học máy sẽ được đề cập tới trong phần sau).

 Dựa trên các luật (Rule-based) hoặc thống kê (Statistical): Phương pháptrích rút dựa trên luật phụ thuộc vào các dấu hiệu xuất hiện của các từ Cònphương pháp thống kê thì đưa ra sự lựa chọn dựa trên việc đánh giá cácthông số Phương pháp dựa trên luật thì dễ hiểu và dễ cài đặt hơn Cònphương pháp dựa trên thống kê lại cứng nhắc hơn (robust to noise) Do đó,các hệ thống dựa trên luật thường hữu dụng hơn trong các miền đóng(closed domain)

1.5 Các phương pháp học máy

1.5.1 Học có giám sát (supervised learning)

Học có giám sát là một kĩ thuật để xây dựng một hàm/ mô hình (function/

model) từ dữ liệu huấn luyện Dữ liệu huấn luyện bao gồm các cặp gồm đối tượng đầu

vào và đầu ra mong muốn Đầu ra có thể là một giá trị liên tục, hay có thể là một nhãnphân loại cho một đối tượng đầu vào Nhiệm vụ của chương trình học có giám sát là

dự đoán giá trị của hàm cho một đối tượng bất kì là đầu vào hợp lệ, sau khi đã xem xétmột số ví dụ huấn luyện (các cặp đầu vào và đầu ra cho trước) Để đạt được điều này,chương trình học phải tổng quát hóa từ các dữ liệu sẵn có để dự đoán được những tìnhhuống chưa gặp phải theo một cách "hợp lí" nhất

Hiện nay phần lớn các công trình giải quyết bài toán trích rút NER thường sửdụng kỹ thuật học máy có giám sát như mô hình Markov ẩn, cây quyết định, mô hìnhMaximum entropy, máy vectơ hỗ trợ (SVM) Nhược điểm của học có giám sát là đòihỏi tập dữ liệu huấn luyện gán nhãn bằng tay cực lớn

1.5.2 Học không giám sát (unsupervised learning)

Học không có giám sát là một phương pháp nhằm tìm ra một mô hình mà phùhợp với các quan sát Nó khác biệt với học có giám sát ở chỗ là đầu ra cho mỗi đầuvào là không biết trước.Trong học không có giám sát, dữ liệu huấn luyện ban đầu hoàntoàn chưa được gán nhãn được thu thập Nó coi các đối tượng đầu vào như là một tậpcác biến ngẫu nhiên Sau đó, một mô hình xác suất sẽ được xây dựng cho tập dữ liệuđó

Các thuật toán thường sử dụng học không giám sát như: K-Means,

HAC (Hierarchical Agglomerative Clustering), SOM (Self-Organizing Map),

DBSCAN, FCM, Các hệ thống học máy này không đòi hỏi phải gán nhãn dữ liệu

Trang 16

huấn luyện Nhưng với phương pháp này, khả năng phát hiện thực thể và độ chính xáckhông cao.

1.5.3 Học bán giám sát

Học bán giám sát sử dụng cả dữ liệu đã gán nhãn và không gán nhãn để huấnluyện - điển hình là một lượng nhỏ dữ liệu có gán nhãn cùng với lượng lớn dữ liệuchưa gán nhãn Học bán giám sát đứng giữa học không giám sát (không có bất kì dữliệu có nhãn nào) và có giám sát (toàn bộ dữ liệu đều được gán nhãn) Nhiều nhànghiên cứu nhận thấy dữ liệu không gán nhãn khi được sử dụng kết hợp với một chút

dữ liệu có gán nhãn, có thể cải thiện đáng kể độ chính xác Để gán nhãn dữ liệu chomột bài toán học máy thường đòi hỏi một chuyên viên có kĩ năng để phân loại bằngtay dữ liệu huấn luyện và chi phí cho quy trình này không hề nhỏ, trong khi dữ liệukhông gán nhãn thường có sẵn và tương đối rẻ Trong tình huống đó, học bán giám sát

có giá trị thực tiễn lớn

Một số thuật toán thường được sử dụng gồm có: thuật toán Cực đại kỳ vọng(EM - Expectation Maximization), SVM truyền dẫn (TSVM - Transductive SupportVector Machine), Self-training, Co-training và các phương pháp dựa trên đồ thị(graph-based)

1.6 Một số dữ liệu, thư viện hỗ trợ

Sau thời gian dài ra đời và phát triển, cộng đồng nghiên cứu đã xây dựng vàphát triển được khá nhiều các kho dữ liệu cấu trúc và phi cấu trúc cho văn bản, cáccông cụ, thư viện và ứng dụng phục vụ trích rút thông tin, phân tích và khai thác thôngtin

Dưới đây là một vài dữ liệu đầu vào, thư viện đã được phát triển sẵn hỗ trợ tiền

xử lý các dữ liệu phi cấu trích cho bài toán trích rút dữ liệu: các cơ sở dữ liệu có cấutrúc (Structured Databases), các văn bản phi cấu trúc đã được đánh nhãn (LabeledUnstructured Text), các thư viện có sẵn cho văn bản phi cấu trúc (Libraries)

 Natural Language Text: Các thư viện xử lý ngôn ngữ tự nhiên

o Sentence analyzer and tokenizer: nhận dạng phạm vi của câu trong văn

bản và phân tích từng câu thành các token Các token được tách bởi các ký

tự phân cách như ký tự trắng, dấu phẩy, dấu chấm Một ví dụ tiêu biểu vềToken như là 1 từ, 1 số hay dấu hết câu

o POS tagger (Part of speech tagger): gán cho mỗi từ một nhãn là loại từ

trong ngữ pháp Các nhãn này bao gồm: danh từ, động từ, tính từ, phó từ

o Paser: chia các từ vào cụm: cụm danh từ, cụm động từ, cụm giới từ Kết

quả thu được là 1 mô hình cây được phân chia rõ ràng các cụm từ

Trang 17

o Dependency analyzer: nhận dạng các từ trong câu và các tham số liên

quan của từ đó Kết quả thu được là 1 biểu đồ gồm các node (các từ) vàcác đường kẻ liên kết, diễn tả mối liên hệ giữa các từ Thư viện này rất cólợi đối với trích rút mối quan hệ (relationship extraction)

 Formatted Text: Đối với những văn bản có sẵn định dạng như pdf hay cáctrang web, ta cần phải tìm hiểu nắm được cấu trúc của chúng trước khi tiếnhành nhận dạng entity Hai bước chính cần làm đối với những văn bản kiểunày: trích rút các thành phần (item) trong danh sách (list) và tạo ra mô hìnhphân cấp các vùng, tương ứng với các đơn vị nội dung

 Một vài phần mềm, thư viện khác:

o General Architecture for Text Engineering (GATE): thư viện trên nền Java,được phát triển bởi trường đại học Sheffield ở Anh GATE cung cấp mộtmôi trường hỗ trợ cho người dùng phát triển, viết các phần mềm xử lý ngônngữ tự nhiên, khai phá dữ liệu

o Apache OpenNLP: thư viện này giúp xử lý ngôn ngữ tự nhiên dựa trênphương pháp học máy Nó cung cấp các hàm để thực hiện những công việc

cơ bản của xử lý NNTN (tokenization, sentence segmentation, POStagging )

o OpenCalais: là một web service trích xuất thông tin một cách tự động

o Machine Learning for Language Toolkit (Mallet): một package ngôn ngữtrên nền Java, hỗ trợ trích xuất thông tin

o DBpedia Spotlight: là một công cụ mã mở viết bằng ngôn ngữ Java hoặcScala, thường dùng để nhận dạng các thực thể có tên Ngoài ra, nó là mộtsản phẩm của dự án DBpedia - dự án được xây dựng hướng tới trích xuấtcác nội dung có cấu trúc, từ những dữ liệu được tạo bởi Wikipedia DBpediacho phép người dùng truy vấn được mối quan hệ, các thuộc tính liên quantới tài nguyên của Wikipedia, bao gồm cả những đường dẫn tới các bộ dữliệu khác

o Natural Language Toolkit: một bộ thư viện và các chương trình hỗ trợ xử lýNNTN, viết bằng ngôn ngữ lập trình Python

o Conditional Random Field (CRF): Thư viện này được sử dụng trong đồ án

và sẽ được nói rõ ở phần sau

Trang 18

1.7 Khó khăn của bài toán trích rút thông tin

1.7.1 Tính đúng đắn

Mặc dù đã hơn 2 thập kỷ nghiên cứu trong lĩnh vực này, thách thức hơn cả đốivới cộng đồng nghiên cứu IE là tạo ra những mô hình đạt tính đúng đắn cao Dưới đây

là một vài yếu tố gây ảnh hưởng tới độ chính xác trong bài toán trích rút

Sự đa dạng của các chi tiết gợi ý: Việc nhận dạng trở nên vô cùng phức tạp bởi

nó là sự kết hợp của rất nhiều các chi tiết gợi ý - những chi tiết vô cùng nhỏ, khôngmấy hữu ích khi đứng độc lập Thậm chí, ngay cả việc nhận dạng các thực thể có tên(NER) là đơn giản và phổ thông nhất cũng phụ thuộc vào rất nhiều những chi tiết nhỏ,như việc viết đúng chính tả của từng từ, loại từ, sự tương đồng với cơ sở dữ liệu nhữngthực thể có sẵn hay các ký hiệu đánh dấu trong văn bản

Khó khăn của việc xác định trích rút sai: Tính đúng đắn của bài toán trích rút

được đánh giá qua 2 thành phần Một là độ chính xác, là tỉ lệ phần trăm của nhữngthực thể trích rút chính xác trên những thực thể được trích rút Hai là độ tin cậy, là tỉ lệphần trăm số thực thể được trích rút đúng trên tổng số thực thể Trong nhiều trườnghợp, ta thu được độ chính xác khá cao, bởi rất dễ tìm ra các lỗi sai, và cứ tìm cho tớikhi tìm được hoàn toàn các lỗi Đạt được độ tin cậy cao là khá khó, bởi nếu không cónhững dữ liệu đã được đánh nhãn sẵn, thì khó có thể xác định được đâu là lỗi sai giữahàng tá dữ liệu phi cấu trúc như vậy

Độ phức tạp về cấu trúc: Càng ngày, yêu cầu về việc trích rút thông tin phức

tạp ngày càng cao Trong nhiều trường hợp, phạm vi của các thực thể không rõ ràng vàhoàn toàn không thể xác định Do đó, ta phải tham khảo cả các nguồn thông tin khácnhắc tới thực thể cần tìm Và vấn đề này không hề đơn giản

1.7.2 Một số vấn đề hệ thống

Sự thay đổi của các nguồn dữ liệu động: Những mô hình trích rút mất thời gian

khá lâu để xây dựng và điều chỉnh các nguồn dữ liệu phi cấu trúc Khi các nguồn dữliệu có sự thay đổi, kéo theo các hệ thống phải xác định và tìm ra sự thay đổi đó là gì,

từ đó tinh chỉnh lại các mô hình một cách tự động

Sự tích hợp dữ liệu: Các nguồn dữ liệu cho bài toán trích rút thông tin thường

được xây dựng dựa trên sự tích hợp cả những bộ dữ liệu có sẵn với thông tin đã đượctrích rút Nhiều nhà nghiên cứu đã cố gắng cùng nhau giải quyết vấn đề khai thác vàtích hợp với hy vọng sẽ nâng cao được đọ chính xác hơn so với thực hiện trực tiếp mỗibước

Các lỗi trong trích rút: Chúng ta đều biết rằng trong thực tế không thể có một

hệ thống nào có thể đạt độ chính xác tuyệt đối, ngay cả là những hệ thống mới nhấthiện nay Các vấn đề ngày càng trở nên phức tạp Khi nguồn thông tin ngày càng lớn,

Trang 19

các vấn đề cũng ngày càng mở rộng và trở nên phức tạp hơn Do đó, không thể nào cómột hệ thống chính xác tuyệt đối Có một phương pháp phần nào giải quyết được vấn

đề này, đó là các lỗi trong trích rút thực thể sẽ được đi kèm theo độ tin cậy, từ đó tìmđược đáp án có độ tin cậy lớn nhất với khả năng chính xác cao nhất

1.8 Một vài ứng dụng của bài toán trích rút thông tin

 Hệ thống so sánh thông số sản phẩm

Trên các trang web thương mai điện tử, người dùng chỉ việc chọn 2 sản phẩmđiện thoại cần so sánh, hệ thống sẽ truy xuất cơ sở dữ liệu, lấy ra thông tin từng sảnphẩm Nhờ việc trích rút tên các loại thông số, hệ thống tìm ra các thông số tương ứnggiữa 2 sản phẩm và xây dựng bảng, cung cấp cho người dùng một cái nhìn trực quanhơn, tiết kiệm thời gian, thay vì phải xem thông tin từng loại

Hình 1.4 So sánh thông số sản phẩm (Comparison Shopping)

 Nhận dạng thông tin trong tin nhắn điện thoại

Hệ thống nhận và kiểm tra nội dung tin nhắn, tìm kiếm những thông tin hữu ích

và tự động highlight đoạn text tương ứng Như trong ví dụ dưới, đường dẫn trang web

được nhận dạng bởi đoạn text “http://” xuất hiện ở đầu và kết thúc bởi dấu chấm và ký

tự trắng ” ”

Tương tự với việc nhận dạng dãy số là số điện thoại Khi người dùng ấn vàovùng text được highlight, hệ thống tùy thuộc đoạn text đó thuộc phân loại gì và thựchiện thao tác tương ứng Ví dụ, nếu là đường dẫn trang web, hệ thống sẽ mở trìnhduyệt và truy cập trang web đó Nếu là số điện thoại, hệ thống mở bàn phím cuộc gọi

Trang 20

Hình 1.5 Nhận dạng thông tin trên điện thoại

 Hỏi đáp (Question Answering) dựa trên Google Search Engine

Một ứng dụng khác là trích rút và lọc ra những thông tin liên quan để tối ưu vấn

đề tìm kiếm thông tin [4] Ví dụ trong hình 1.6, khi người dùng có nhu cầu tìm kiếmcác công việc liên quan đến nghề làm bánh mì (baker), thì người ta nhập vào Goolgechuỗi “baker job opening” Kết quả trả về của Google có rất nhiều thông tin không liênquan: chẳng hạn thông tin đăng tuyển dụng của trường học MtBaker và công ty BakerHostetler, v.v Những thông tin này không liên quan đến công việc cần tìm là nghề làmbánh mì (Baker) Đúng ra hệ thống phải trả về các liên kết đến các trang hay các công

ty tuyển dụng nghề “Baker” Như vậy trong trường hợp này IE có nhiệm vụ trích racác liên kết liên quan đến nhu cầu tìm kiếm của người dùng

Trang 21

Hình 1.6 Tìm việc dựa trên search engine (Nguồn tài liệu tham khảo [4])

IE ứng dụng tìm kiếm câu trả lời cho các hệ thống hỏi đáp QA (QuestionAnswering) dựa vào kết quả trả về của search engine Gần đây xuất hiện một cách tiếpcận nghiên cứu phát triển hệ thống QA dựa vào việc phân tích kết quả tìm kiếm trả về

từ các search engine nhằm tìm ra câu trả lời chính xác cho câu hỏi đưa vào Ví dụngười dùng cần hỏi “Thành phố nào là thủ đô của nước Việt Nam”, thì kết quả trả về

từ các search engine thì rất nhiều và hệ thống phải tìm cách trích ra câu trả lời màngười dùng mong chờ, đó là “Hà Nội” hay “Thành phố Hà Nội” Đây là một dạng ứngdụng kỹ thuật rút trích thông tin IE trong QA (hình 1.7)

Genomics job

Mt Baker, the school district

Baker Hostetler, the company

Baker, a job opening

Trang 22

Hình 1.7 Hỏi đáp dựa trên các kết quả từ search engine

Trang 23

Chương 2: CÁC VẤN ĐỀ GẶP PHẢI VÀ HƯỚNG GIẢI QUYẾT

Chương này sẽ nói về bài toán trích rút thông tin thời gian, địa điểm, kèm theo

là trình bày một cách chi tiết về các phương pháp, các thư viện, công cụ sẽ được ápdụng để giải quyết bài toán trong đồ án

2.1 Mô tả bài toán và các vấn đề cần giải quyết

2.1.1 Bài toán

Nhiệm vụ của hệ thống là trích rút được thông tin về thời gian và địa điểm từ dữliệu tin nhắn Tuy nhiên, số lượng dữ liệu tin nhắn đầu vào giữa 2 người dùng là rấtlớn và không phải tin nhắn nào cũng liên quan tới nhau Do đó, công việc của ta khôngchỉ dừng lại ở trích rút thông tin thời gian, địa điểm, mà còn cả tìm kiếm và phân loạinhằm xác định chuỗi tin nhắn cần thao tác Vậy nên, hướng thực hiện đồ án được chiathành 3 phần chính như sau:

- Nhận dạng hội thoại: Thực hiện các công việc phân loại và xác định chuỗitin nhắn đang được trao đổi giữa 2 người dùng, làm đầu vào cho phần tríchrút thông tin thời gian, địa điểm Bởi trong lịch sử tin nhắn có rất nhiều hộithoại cũ không cần xét tới

P2: Chiều đi mua đồ với tôi nhé

P1: Ừ, cũng đang rảnh

P1: Tối mai đi uống cafe ở quán Cộng nhé! → “Tối mai”, “quán Cộng”

P2: OK, tầm 8h tôi qua → “8h”

P1: Muộn thế, 7 rưỡi đi → “7 rưỡi”

P2: Cũng được

→ Hai hội thoại được lưu liên tiếp nhau trong lịch sử nhắn tin nhưng nội dungkhông liên quan tới nhau

Do đó, SVM sẽ được sử dụng để gán nhãn các câu trong hội thoại, từ đó tìm

ra hội thoại mà ta quan tâm

- Trích rút thông tin thời gian, địa điểm: Sử dụng các đối tượng thu được ởphần xác định hội thoại, áp dụng trích rút và đưa ra đối tượng thời gian vàđịa điểm cuối cùng Công cụ CRF++ sẽ được sử dụng để hỗ trợ gán nhãnthời gian, địa điểm

 Đối với tin nhắn đơn, ta cần trích rút được đối tượng thời gian và địađiểm được đề cập tới trong tin nhắn

Tối mai đi uống cafe ở quán Cộng nhé! → “Tối mai”, “quán Cộng”

Trang 24

 Đối với hội thoại, các đối tượng thời gian, địa điểm có thể không nằmtrên cùng 1 câu, mà mỗi đối tượng có thể được 1 người đề cập tới.Mặt khác, vì hội thoại mang tính chất trao đổi nên các mốc thời gian,địa điểm có thể bị thay đổi, dẫn tới việc nhập nhằng và không thốngnhất như với tin nhắn đơn.

P1: Tối mai đi uống cafe ở quán Cộng nhé! → “Tối mai”, “quán Cộng”

P2: OK, tầm 8h tôi qua → “8h”

P1: Muộn thế, 7 rưỡi đi → “7 rưỡi”

P2: Cũng được

→ Kết quả cần thu được: “7 rưỡi tối mai” và “quán Cộng”

- Xây dựng ứng dụng: Dựa vào kết quả trích rút thời gian, địa điểm, áp dụng

để xây dựng một ứng dụng thực tế

Với ba phần rõ ràng cùng các kiến thức cơ bản về kiểu cấu trúc dữ liệu, giảithuật đã được trình bày ở chương 2, toàn bộ hoạt động của hệ thống có thể được mô tảbởi các sơ đồ sau:

Trang 25

Hình 2.1 Sơ đồ hoạt động của hệ thống

Tóm lại, đồ án sẽ tập trung vào giải quyết 2 bài toán xử lý chính:

- Nhận dạng hội thoại: sử dụng SVM

- Trích rút thông tin thời gian, địa điểm: sử dụng CRF

2.1.2 Giới hạn phạm vi

 Giới hạn về vị trí địa lý:

Trang 26

Kết quả trích rút sẽ tốt nhất đối với các đối tượng địa điểm trên địa bàn thànhphố Hà Nội.

 Giới hạn định dạng đầu vào:

Đối với người Việt Nam, lịch dương được sử dụng chính trong công việc vàcuộc sống thường ngày, nhưng do phong tục và truyền thống của người Á Đông, âmlịch vẫn được sử dụng song song với dương lịch Nhiều sự kiện, ngày lễ vẫn được tínhtheo lịch này Hiện tại, đề tài có xử lý một vài trường hợp, ngày lễ tiêu biểu (chẳng hạnnhư “tháng Giêng”, “mùng 2 Tết”, ) song chưa hoàn toàn và đầy đủ

Mặt khác, do trong thời gian thực hiện ngắn, lượng dữ liệu thu thập được cònchưa nhiều (hơn 500 tin nhắn dữ liệu mẫu, hơn 200 câu hội thoại) nên hiện tại đề tàicòn tập trung vào các trường hợp phổ thông và thường xuyên xuất hiện, chưa thể xử

lý hết các trường hợp khó Các trường hợp này sẽ dần được cải thiện trong những bộ

dữ liệu tiếp theo

Để đạt độ chính xác cao, dữ liệu tin nhắn đầu vào cung cấp cho chương trìnhcần là dữ liệu “sạch”

- Sử dụng đúng bộ chữ trong bảng chữ cái Tiếng Việt, không sử dụng các ký tự

đặc biệt để thay thế cho chữ cái

- Câu đúng ngữ pháp, chính tả.

- Không viết tắt, gây mập mờ, ý nghĩa khó hiểu.

- Viết hoa chữ cái đầu tiên của tên riêng, tên người, địa danh.

2.1.3 Khó khăn đối với xử lý ngôn ngữ Tiếng Việt

 Dữ liệu đầu vào là ngôn ngữ đời thường được sử dụng trong văn nói và vănviết, do đó, người nói thường không trau truốt trong việc dùng từ và ngữ phápcủa câu văn

→ Nhiều dạng cấu trúc, các luật phong phú và không đủ

 Người dùng có sử dụng các từ lóng, hay viết tắt các từ không phải tên riêng,mỗi người có một cách viết tắt khác nhau (“ktx” – ký túc xá, “ch mai” - chiềumai, “svđ” – sân vận động, )

→ Không xử lý được hết, còn bỏ sót

 Ngôn ngữ Tiếng Việt vốn được sử dụng linh hoạt và có những từ đa nghĩa

→ Nếu không nắm được ngữ cảnh, máy sẽ “hiểu” sai nghĩa dẫn đến kết quảtrích rút bị sai

 Đối với những dữ liệu đầu vào là Tiếng Việt không dấu

→ Nếu chương trình VietMarker thêm dấu không chính xác sẽ dẫn tới câu bịsai đi ý nghĩa ban đầu, và khiến quá trình trích rút không chính xác

Trang 27

2.1.4 Các vấn đề liên quan và đề xuất giải pháp

Đối với đề tài “Trích rút thời gian, địa điểm từ dữ liệu tin nhắn”, số lượng dữliệu đầu vào là khá nhiều các tin nhắn, và không phải tất cả những tin nhắn đó đều cómối liên hệ với nhau Ở đây, ta quy ước tất cả những tin nhắn liên quan tới nhau, cùng

trao đổi về một chủ đề, một cuộc hẹn, giữa 2 người sẽ được gọi là một cuộc hội thoại.

Trên thực tế, với sự tiện ích của các dòng điện thoại thông minh, toàn bộ lịch sử tinnhắn giữa 2 người dùng được sắp xếp liên tiếp nhau và khi thực hiện lấy dữ liệu sẽkhông tránh khỏi việc “nối đuôi” của hàng loạt các hội thoại cũ/mới này Vậy làm nhưthế nào để có thể xác định được cuộc hội thoại mà ta đang muốn thao tác tới? Thuậttoán SVM sẽ giúp ta giải quyết vấn đề này và sẽ được làm rõ ở phần sau

Bên cạnh đó, đề tài được thực hiện sử dụng và hướng tới dữ liệu là ngôn ngữTiếng Việt, do đó, kết quả nhận được sẽ tốt nhất nếu dữ liệu đầu vào là đúng chính tả,ngữ pháp và có dấu Mặt khác, do thói quen của người dùng, vẫn sẽ có những tin nhắnđược gửi đi dưới dạng không dấu Để xử lý vấn đề này, em có sử dụng phần mềmVietMarker VietMarker là một phần mềm thêm dấu tự động cho các từ Tiếng Việtkhông dấu, được viết trên nền Java, phát triển bởi nhóm nghiên cứu là giảng viên vàsinh viên Học viện Công nghệ Bưu Chính Viễn Thông Đối với dữ liệu cần thêm dấu

là các câu văn (thuộc văn viết), độ chính xác khá cao, đến 93% với đa dạng nhiều thểloại Tuy nhiên, với dữ liệu đầu vào là tin nhắn, khá gần với với văn nói và thườngđược sử dụng ngôn ngữ tự nhiên thì độ chính xác có phần giảm sút

2.2 Bài toán trích rút thời gian, địa điểm

2.2.1 Đặc trưng dữ liệu được sử dụng và các nhãn phân loại

Dựa trên quá trình quan sát và phân tích, ta nhận thấy những dữ liệu có chứathông tin về thời gian, địa điểm thường có những đặc trưng, đặc điểm sau mà ta có thể

sử dụng:

 Từ (từ đơn/ từ ghép): Trong Tiếng Việt, từ được định nghĩa là một đơn vị ngônngữ, cấu tạo bởi một hoặc hai tiếng trở lên Nhiều tiếng khi đi cùng nhau có thểtạo thành một từ có ý nghĩa hoàn toàn khác với khi các tiếng này đứng một cáchriêng biệt (ví dụ như “đi chơi” – “đi”/ “chơi”, “nghiên cứu” – “nghiên”/ “cứu”,

“giải thích” – “giải”/ “thích”, “ngày mai” – “ngày”/ “mai” ) Do đó, việc xácđịnh các từ xuất hiện trong văn bản là một trong những công việc vô cùng quantrọng hỗ trợ cho giai đoạn xử lý sau này

 Từ loại: Ngoại trừ các câu đặc biệt, câu rút gọn thì mọi câu văn đều phải tuânthủ và được xây dựng trên các cấu trúc về ngữ pháp, chính tả Dựa vào đặcđiểm đó, ta sẽ sử dụng yếu tố từ loại của mỗi từ nhằm xác định các đối tượng

Trang 28

thời gian, địa điểm cần tìm Các loại từ trong Tiếng Việt gồm có: danh từ, động

từ, tính từ, trạng từ, giới từ,

 Có tồn tại trong danh sách địa điểm đã được xây dựng? Như đã nhắc tới trongchương 2, ta trực tiếp xây dựng một cây cấu trúc dữ liệu chứa danh sách các địađiểm, quán ăn, khách sạn nhằm hỗ trợ lưu trữ và tìm kiếm một cách nhanhchóng, bỏ qua các xử lý thừa về sau, tiết kiệm thời gian nhận dạng đối tượngđịa điểm trong câu

 Hình thái của từ (viết hoa/ viết thường): Dựa vào các quy ước về chính tả, tathấy các từ được viết hoa thường có tỉ lệ cao là các danh từ, danh từ riêng, Tuykhông hoàn toàn chính xác xong đặc trưng này sẽ hỗ trợ khá tốt trong việc tìmkiếm và nhận dạng đối tượng địa điểm

Nhãn phân loại (output class): là các nhãn dùng để đánh dấu và phân loại dữliệu, là kết quả cuối cùng ta sẽ thu được sau CRF, từ đó ta có thể tìm ra được các đốitượng thời gian, địa điểm trong văn bản

Các nhãn phân loại được viết theo định dạng IOB2, ví dụ:

Hình 2.2 Ví dụ sử dụng nhãn phân loại

Trong đồ án có sử dụng 9 nhãn phân loại khác nhau:

B-LOC (begin location): từ bắt đầu đối tượng địa điểm.

I-LOC (inside location): từ nằm trong đối tượng địa điểm.

B-DATE (begin date): từ bắt đầu đối tượng thời gian chỉ ngày tháng.

I-DATE (inside date): từ nằm trong đối tượng thời gian chỉ ngày tháng.

B-CLK (begin clocktime): từ bắt đầu đối tượng thời gian đồng hồ (thời

gian tuyệt đối), là thời gian ta có thể sử dụng để tính toán ngay được

I-CLK (inside clocktime): từ nằm trong đối tượng thời gian đồng hồ.

B-RT (begin relative time): từ bắt đầu đối tượng thời gian tương đối (các

thời gian này cần phải được tính toán để có thể tìm ra thời gian tuyệtđối)

I-RT (inside relative time): từ nằm trong đối tượng thời gian tương đối.

Trang 29

O (other): các đối tượng khác mà ta không cần xét tới, không gây ảnh

hưởng tới kết quả trích rút

2.2.2 Conditional Random Fields (CRFs)

Trường ngẫu nhiên có điều kiện là một phương pháp tương tự mô hình thống

kê, thường được dùng để dự đoán cấu trúc trong nhận dạng mẫu và học máy

CRFs là mô hình dựa trên xác suất có điều kiện, cho phép tích hợp các thuộctính đa dạng của chuỗi dữ liệu quan sát nhằm hỗ trợ cho quá trình phân lớp Tuy nhiên,khác với các mô hình xác suất khác, CRFs là mô hình đồ thị vô hướng Điều này chophép CRFs có thể định nghĩa phân phối xác suất của toàn bộ chuỗi trạng thái với điềukiện biết chuỗi quan sát cho trước thay vì phân phối trên mỗi trạng thái với điều kiệnbiết trạng thái trước đó và quan sát hiện tại như trong các mô hình đồ thị có hướngkhác Bản chất “phân phối điều kiện” và “phân phối toàn cục” của CRFs cho phép môhình này khắc phục được những nhược điểm của các mô hình trước đó trong việc gánnhãn và phân đoạn các dữ liệu dạng chuỗi mà tiêu biểu là vấn đề “label bias”

Khái niệm trường ngẫu nhiên có điều kiện:

Kí hiệu X là biến ngẫu nhiên nhận giá trị là chuỗi dữ liệu cần phải gán nhãn và

Y là biến ngẫu nhiên nhận giá trị là chuỗi nhãn tương ứng Mỗi thành phần Y i của Y là một biến ngẫu nhiên nhận giá trị trong tập hữu hạn các trạng thái S Ví dụ trong bài toán gán nhãn từ loại, X có thể nhận các giá trị là các câu trong ngôn ngữ tự nhiên (cấu tạo bởi các từ), Y là một chuỗi ngẫu nhiên các nhãn tương ứng với các từ tạo thành câu này và mỗi một thành phần Y i của Y có miền giá trị là tập tất cả các những từ loại có

p(Yv | X,Yu, u ≠ v, {u,v} ϵ V)

bằng xác suất của biến ngẫu nhiên Y v cho bởi X và các biến ngẫu nhiên khác tương ứng với các đỉnh kề với đỉnh v trong đồ thị:

p(Yv | X,Yu, (u,v) ϵ E),

thì ta gọi (X,Y) là một trường ngẫu nhiên phụ thuộc toàn cục vào chuỗi quan sát X Trong bài toán xử lý dữ liệu dạng chuỗi nói chung thì đồ thị G đơn giản chỉ là dạng chuỗi, V={1,2, m}, E={(i,i+1)}.

Ký hiệu X = (X 1 ,X 2 , X n ) và Y = (Y 1 ,Y 2 , Y n ) thì mô hình đồ thị G có dạng sau:

Trang 30

Hình 2.3 Đồ thị vô hướng mô tả CRFs

Gọi C là tập hợp tất cả các đồ thị con đầy đủ của đồ thị G - đồ thị biểu diễn cấutrúc Vì G có dạng chuỗi nên đồ thị con A đầy đủ chỉ gồm một đỉnh hoặc một cạnh của

đồ thị G Áp dụng kết quả của J.Hammersley và P.Clifford [6] cho các trường ngẫunhiên Markov, thì phân phối của chuỗi nhãn Y với chuỗi quan sát X cho trước códạng:

P(y|x)=

A ∈C

ψ A(A|x )

Trong đó, ΨA gọi là hàm tiềm năng, nhận giá trị thực – dương

Lafferty xác định hàm tiềm năng này dựa trên nguyên lý cực đại entropy Việc xácđịnh một phân phối theo nguyên lý cực đại entroy có thể hiểu là ta phải xác định mộtphân phối sao cho “phân phối đó tuân theo mọi giả thiết suy ra từ thực nghiệm, ngoài

ra không đưa thêm bất kì giả thiết nào khác” và gần nhất với phân phối đều

Entropy là độ đo thể hiện tính không chắc chắn, hay độ không đồng đều củaphân phối xác suất Độ đo entropy điều kiện H(Y|X) được cho bởi công thức:

Với là phân phối thực nghiệm của dữ liệu

Theo cách trên, Lafferty đã chỉ ra hàm tiềm năng của mô hình CRFs có dạng:

Trong đó λk là thừa số lagrangian ứng với thuộc tính ƒk Ta cũng có thể xemnhư λk là trọng số xác định độ quan trọng của thuộc tính ƒk trong chuỗi dữ liệu Có 2loại thuộc tính là thuộc tính chuyển (kí hiệu là f) và thuộc tính trạng thái (kí hiệu là g)tùy thuộc vào A là một đỉnh hay một cạnh của đồ thị Thay công thức hàm tiềm năngvào công thức (3.1) và thêm thừa số chuẩn hóa để đảm bảo thỏa mãn điều kiện xácsuất, ta được:

Trang 31

Ở đây, x là chuỗi dữ liệu, y là chuỗi trạng thái tương ứng ƒk (yi-1,yi, x) là thuộctính của chuỗi quan sát và các trạng thái ứng với vị trí thứ i trong chuỗi trạng thái.

Các thuộc tính này được rút ra từ tập dữ liệu và có giá trị cố định Ví dụ:

2.3 Bài toán nhận dạng hội thoại

Trong các thiết bị di động, lịch sử nhắn tin giữa 2 người là khá nhiều, các tinnhắn này thường được lưu trữ tiên tiếp nhau, nhưng không phải tất cả những tin nhắn

đó đều có mối liên hệ với nhau, thậm chí là dư thừa nếu ta xét tới Ở đây, ta quy ước

một cuộc hội thoại là tất cả những tin nhắn có liên quan tới nhau, cùng trao đổi về một

chủ đề, một cuộc hẹn,

Ví dụ:

P2: Chiều đi mua đồ với tôi nhé

P1: Ừ, cũng đang rảnh

P1: Tối mai đi uống cafe ở quán Cộng nhé! → “Tối mai”, “quán Cộng”

P2: OK, tầm 8h tôi qua → “8h”

P1: Muộn thế, 7 rưỡi đi → “7 rưỡi”

P2: Cũng được

→ Hai hội thoại được lưu liên tiếp nhau trong lịch sử nhắn tin nhưng nội dungkhông liên quan tới nhau

Do đó, ta cần nhận dạng hội thoại, gán nhãn các câu trong hội thoại, phân loại

và xác định chuỗi tin nhắn đang được trao đổi giữa 2 người dùng, từ đó tìm ra hộithoại mà ta quan tâm trước khi xử lý trích rút thông tin thời gian, địa điểm

2.3.1 Bài toán phân lớp

Phân lớp (classification) là một tiến trình xử lý nhằm xếp các mẫu dữ liệu haycác đối tượng vào một trong các lớp đã được định nghĩa trước Các mẫu dữ liệu haycác đối tượng được xếp vào các lớp dựa vào giá trị của các thuộc tính (attributes) chomột mẫu dữ liệu hay đối tượng Sau khi đã xếp tất cả các đối tượng đã biết trước vào

Ngày đăng: 10/12/2015, 10:52

HÌNH ẢNH LIÊN QUAN

Hình   1.2.   Người   dùng   touch   vào - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
nh 1.2. Người dùng touch vào (Trang 10)
Hình 1.4.  So sánh thông số sản phẩm (Comparison Shopping) - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Hình 1.4. So sánh thông số sản phẩm (Comparison Shopping) (Trang 19)
Hình 1.5. Nhận dạng thông tin trên điện thoại - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Hình 1.5. Nhận dạng thông tin trên điện thoại (Trang 20)
Hình 1.6 Tìm việc dựa trên search engine (Nguồn tài liệu tham khảo [4]) - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Hình 1.6 Tìm việc dựa trên search engine (Nguồn tài liệu tham khảo [4]) (Trang 21)
Hình 1.7 Hỏi đáp dựa trên các kết quả từ search engine - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Hình 1.7 Hỏi đáp dựa trên các kết quả từ search engine (Trang 22)
Hình 2.1 Sơ đồ hoạt động của hệ thống - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Hình 2.1 Sơ đồ hoạt động của hệ thống (Trang 25)
Hình 2.4. Biểu diễn tin nhắn dưới dạng vectơ trọng số - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Hình 2.4. Biểu diễn tin nhắn dưới dạng vectơ trọng số (Trang 33)
Hình 2.5. Hình minh họa siêu phẳng phân lớp. - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Hình 2.5. Hình minh họa siêu phẳng phân lớp (Trang 34)
Hình 2.6. Minh họa SVM biên mềm với tham số C - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Hình 2.6. Minh họa SVM biên mềm với tham số C (Trang 36)
Hình 3.1. Mô hình hoạt động của CRF++ - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Hình 3.1. Mô hình hoạt động của CRF++ (Trang 41)
Hình 3.4.Không gian đặc trưng - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Hình 3.4. Không gian đặc trưng (Trang 48)
Hình 3.9. Form thêm mới lịch nhắc nhở Hình 3.10. Thêm nhắc nhở thành công - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Hình 3.9. Form thêm mới lịch nhắc nhở Hình 3.10. Thêm nhắc nhở thành công (Trang 53)
Hình 3.11. Hình minh họa với 3 fold - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Hình 3.11. Hình minh họa với 3 fold (Trang 55)
Bảng 3.2 Kết quả thử nghiệm CRF với 3 đặc trưng - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Bảng 3.2 Kết quả thử nghiệm CRF với 3 đặc trưng (Trang 56)
Bảng 3.3 Kết quả thử nghiệm CRF với 4 đặc trưng - Đồ án tốt nghiệp XÂY DỰNG ỨNG DỤNG TRÍCH rút THỜI GIAN, địa điểm từ dữ LIỆU TIN NHẮN
Bảng 3.3 Kết quả thử nghiệm CRF với 4 đặc trưng (Trang 57)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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