Đi cùng với những lợi ích như: truy cập và chia sẻ dữ liệu nhanh chóng, khả năng tương tác linh hoạt giữa các người dùng, phân tích và ra quyết định dựa theo nguồn dữ liệu dồi dào, tuy n
TỔNG QUAN
Giới thiệu
Hiện nay các mạng xã hội trực tuyến đang ngày càng phát triển nhanh chóng Cùng với các mạng xã hội phổ biến trên thế giới như Facebook, Twitter…, các mạng xã hội ở Việt Nam như ZingMe, Zalo… đang ngày càng thu hút nhiều người dùng đi cùng với những lợi ích như: truy cập và chia sẻ dữ liệu nhanh chóng, khả năng tương tác linh hoạt giữa các người dùng, phân tích và ra quyết định dựa theo nguồn dữ liệu dồi dào Tuy nhiên việc phát triển nhanh chóng này cùng với việc chia sẻ dữ liệu công khai trên mạng xã hội, các cải tiến trong việc phát triển các kỹ thuật khai thác dữ liệu đã dẫn đến những rủi ro trong vấn đề bảo mật thông tin nhạy cảm cá nhân Do đó, việc phát hiện và che dấu thông tin nhạy cảm trong các bài viết trên mạng xã hội là vấn đề quan trọng trong việc bảo mật thông tin hiện nay [2]
Hình 1: Các mạng xã hội phổ biến
Việc định nghĩa thông tin nhạy cảm có thể khác nhau đối với mỗi người Tuy nhiên, nhìn chung thông tin nhạy cảm thường là những thông tin cá nhân người dùng như tên, số điện thoại, địa chỉ, định danh cá nhân, mức lương… hoặc những thông tin mà người dùng không muốn tiết lộ cho người khác [4]
TRẦN THỊ MI 2 Ví dụ khi người dùng đăng một trạng thái trên Facebook thì có thể để lộ thông tin về trường họ đang học:
Studying at UEC, I am becoming more and more robotic
Việc để lộ quá nhiều thông tin riêng tư có thể gây ra nhiều rủi ro cho người dùng như có thể bị giả danh, bị nhận thư rác, bị bắt cóc tống tiền… Chính vì vậy, việc bảo mật thông tin cá nhân là yêu cầu cần thiết đối với các mạng xã hội hiện nay Có hai cách để che dấu thông tin: một là bỏ những cụm từ nhạy cảm này đi, hai là thay thế bằng một cụm từ khác có nghĩa tổng quát hơn [4] Từ câu ví dụ trên, có thể che dấu như sau:
Studying at my university, I am becoming more and more robotic
Bài toán này tập trung vào việc phát hiện thông tin nhạy cảm trong các bài viết trên mạng xã hội mà cụ thể là các bài viết trên trang cá nhân của người dùng mạng xã hội Do đó, chúng ta giả định rằng dữ liệu đầu vào (các bài viết trên trang cá nhân) đã trải qua quá trình tiền xử lý dữ liệu, nhiệm vụ chính là phát hiện các thông tin nhạy cảm trong các bài viết này và cải thiện độ chính xác của việc phát hiện thông tin nhạy cảm.
Mục tiêu, giới hạn và đối tượng nghiên cứu
Hiện nay các mạng xã hội trực tuyến đang ngày càng phát triển nhanh chóng Tuy nhiên việc phát triển nhanh chóng này cùng với việc chia sẻ dữ liệu công khai trên mạng xã hội, các cải tiến trong việc phát triển các kỹ thuật khai thác dữ liệu đã dẫn đến những rủi ro trong vấn đề bảo mật thông tin nhạy cảm cá nhân Vì vậy việc bảo mật thông tin cá nhân là yêu cầu cần thiết đối với các mạng xã hội hiện nay
Mục tiêu của đề tài này là thiết lập một hệ thống tự động phát hiện cụm từ nhạy cảm trong các bài viết trên mạng xã hội nhằm mục đích bảo vệ sự riêng tư cho người dùng
I.2.2 Giới hạn Đề tài chỉ tập trung nghiên cứu trên các bài viết dạng văn bản bằng tiếng Anh trên mạng xã hội
Hệ thống chỉ dừng lại ở bước phát hiện mà không nghiên cứu bước thay thế những cụm từ nhạy cảm bằng cụm từ tổng quát hơn
Dựa vào mục tiêu và giới hạn của nghiên cứu, chúng ta hướng tới các đối tượng nghiên cứu chính bao gồm:
- Đặc trưng cấu trúc văn bản bằng tiếng Anh
- Phương pháp bảo vệ tính riêng tư
CÁC CÔNG TRÌNH LIÊN QUAN
Công cụ hỗ trợ xử lý ngôn ngữ tự nhiên
II.1.1 Stanford Natural Language Processing Toolkit Được phát triển bởi nhóm giảng viên, lập trình viên, sinh viên trường đại học Stanford nhằm tạo ra công cụ máy tính có thể xử lý và hiểu được ngôn ngữ của con người Phạm vi công việc của nhóm là những nghiên cứu cơ bản về ngôn ngữ học tính toán, là chìa khóa cho các ứng dụng trong công nghệ ngôn ngữ con người Nó bao gồm rất nhiều mảng như: sự hiểu biết về câu, trả lời các câu hỏi tự động, dịch máy, phân tích cú pháp và gán nhãn, phân tích ý kiến, mô hình văn bản và ngữ cảnh cùng với các ứng dụng sử lý ngôn ngữ tự nhiên đối với khoa học xã hội và nhân văn
Một đặc điểm nổi bật của Stanford NLP là sự kết hợp hiệu quả về mô hình ngôn ngữ học và phân tích dữ liệu, học máy một cách sâu sắc cùng với các phương pháp tiếp cận sâu sắc đối với tiến trình xử lý ngôn ngữ tự nhiên Được ứng dụng rộng rãi trong tiến trình xử lý ngôn ngữ tự nhiên của một số ngôn ngữ
Stanford CoreNLP cung cấp một tập các công cụ phân tích ngôn ngữ con người Nó có thể cung cấp dạng của từ, loại của từ, ví dụ như chúng có phải là tên công ty, tên người, ngày, giờ hay số, đánh dấu cấu trúc của câu theo cụm từ và phụ thuộc ngữ pháp, chỉ ra cụm danh từ nào chỉ tới cùng một thực thể…
- Một công cụ NLP với phạm vi lớn về phân tích ngữ pháp
- Nhanh, đáng tin cậy về phân tích văn bản
- Hỗ trợ nhiều ngôn ngữ phổ biến
- Có thể tích hợp với nhiều ngôn ngữ lập trình phổ biến
- Có khả năng chạy như một dịch vụ web đơn giản
Stanford CoreNLP được thiết kế đơn giản để có thể chạy nhiều tác vụ liên tục chỉ với vài dòng lệnh Chúng ta có thể dễ dàng tắt hoặc mở các tác vụ cần thiết tương ứng
Hình 2: Ví dụ về đánh dấu loại từ Các chức năng cụ thể của Standford NLP
TÊN MÔ TẢ tokenize Cắt một câu thành các từ, sử dụng các luật và phương pháp thích hợp với ngôn ngữ đang xét Đầu ra là vị trí bắt đầu và vị trí kết thúc của các từ trong câu đầu vào cleanxml Xóa những thành phần xml khỏi văn bản ssplit Cắt một chuỗi các thành phần nhỏ thành các câu pos Gán nhãn loại cho các từ lemma Tạo ra từ gốc cho các từ ner Nhận dạng tên thực thể (PERSON, LOCATION, ORGANIZATION,
MISC), số (MONEY, NUMBER, ORDINAL, PERCENT), và thời gian (DATE, TIME, DURATION, SET) regexner HIện thực một phương pháp gán nhãn từ dựa vào biểu thức chính quy sentiment Hiện thực mô hình phân tích cảm xúc trong câu truecase Nhận dạng các kí tự viết hoa cần thiết khi thông tin này đã mất, ví dụ trong một câu mà tất cả các từ đều viết hoa parse Phân tích cấu trúc câu và các phụ thuộc trong câu
TÊN MÔ TẢ depparse Hiện thực phương pháp phân tích cấu trúc phụ thuộc nhanh dcoref Phân tích độ phân giải liên kết relation Phân tích mối quan hệ giữa hai thực thể natlog Đánh dấu phạm vi định lượng và phân cực của các thành phần quote Xác định dấu ngoặc kép trong câu
Bảng 1: Các chức năng của Stanford NLP
WordNet là một cơ sở dữ liệu lớn về từ vựng tiếng Anh Danh từ, động từ, tính từ, và trạng từ được nhóm thành các tập riêng Các tập này được liên kết bởi ngữ nghĩa và các mối quan hệ từ vựng Một mạng lưới kết quả của các từ liên quan và nguyên lý có thể được truy xuất WordNet rất hữu dụng trong các quá trình sử lý ngôn ngữ tự nhiên
WordNet cũng tạo ra mạng lưới các từ đồng nghĩa, trong đó nó nhóm các từ với nhau dựa trên nghĩa
WordNet chứa bốn tập con bao gồm danh từ, động từ, tính từ và trạng từ Ngoài ra, nó cũng chứa mối quan hệ giữa các dạng các nhau của cùng một từ trong bốn tập con này
Bảng 2: Các loại từ trong WordNet
TRẦN THỊ MI 7 Ngoài ra WordNet cũng chia các từ này thành 45 tập con dựa vào nghĩa của chúng
0 adj.all all adjective clusters 1 adj.pert relational adjectives (pertainyms)
3 noun.Tops unique beginner for nouns 4 noun.act nouns denoting acts or actions 5 noun.animal nouns denoting animals
6 noun.artifact nouns denoting man-made objects 7 noun.attribute nouns denoting attributes of people and objects 8 noun.body nouns denoting body parts
9 noun.cognition nouns denoting cognitive processes and contents 10 noun.communication nouns denoting communicative processes and contents
11 noun.event nouns denoting natural events 12 noun.feeling nouns denoting feelings and emotions 13 noun.food nouns denoting foods and drinks 14 noun.group nouns denoting groupings of people or objects 15 noun.location nouns denoting spatial position
16 noun.motive nouns denoting goals 17 noun.object nouns denoting natural objects (not man-made) 18 noun.person nouns denoting people
19 noun.phenomenon nouns denoting natural phenomena 20 noun.plant nouns denoting plants
21 noun.possession nouns denoting possession and transfer of possession
22 noun.process nouns denoting natural processes 23 noun.quantity nouns denoting quantities and units of measure 24 noun.relation nouns denoting relations between people or things or ideas
25 noun.shape nouns denoting two and three dimensional shapes
26 noun.state nouns denoting stable states of affairs 27 noun.substance nouns denoting substances
TRẦN THỊ MI 8 28 noun.time nouns denoting time and temporal relations 29 verb.body verbs of grooming, dressing and bodily care 30 verb.change verbs of size, temperature change, intensifying, etc
31 verb.cognition verbs of thinking, judging, analyzing, doubting 32 verb.communication verbs of telling, asking, ordering, singing 33 verb.competition verbs of fighting, athletic activities 34 verb.consumption verbs of eating and drinking
35 verb.contact verbs of touching, hitting, tying, digging 36 verb.creation verbs of sewing, baking, painting, performing 37 verb.emotion verbs of feeling
38 verb.motion verbs of walking, flying, swimming 39 verb.perception verbs of seeing, hearing, feeling 40 verb.possession verbs of buying, selling, owning 41 verb.social verbs of political and social activities and events 42 verb.stative verbs of being, having, spatial relations
43 verb.weather verbs of raining, snowing, thawing, thundering 44 adj.ppl participial adjectives
Bảng 3: Các nghĩa của từ trong WordNet
II.1.3 Google Custom Search API
API này cho phép phát triển các website và ứng dụng để truy xuất và hiển thị kết quả tìm kiếm từ Google Nó hỗ trợ dịch vụ REST để nhận dữ liệu dưới dạng JSON
Mỗi người dùng có 100 truy vấn miễn phí mỗi ngày Để sử dụng thêm, với mỗi 1000 truy vấn sẽ có giá $5 và tối đa 10000 truy vấn mỗi ngày
Cấu trúc của yêu cầu HTTP:
GET https://www.googleapis.com/customsearch/v1?key=&cx=&q=[keywords]
"https://www.googleapis.com/customsearch/v1?q={searchTerms}&num={coun t?}&start={startIndex?}&safe={safe?}&cx={cx?}&sort={sort?}&filter={fi lter?}&gl={gl?}&cr={cr?}&googlehost={googleHost?}&c2coff={disableCnTw Translation?}&hq={hq?}&hl={hl?}&siteSearch={siteSearch?}&siteSearchFi lter={siteSearchFilter?}&exactTerms={exactTerms?}&excludeTerms={exclu deTerms?}&linkSite={linkSite?}&orTerms={orTerms?}&relatedSite={relate dSite?}&dateRestrict={dateRestrict?}&lowRange={lowRange?}&highRange={ highRange?}&searchType={searchType}&fileType={fileType?}&rights={righ ts?}&imgSize={imgSize?}&imgType={imgType?}&imgColorType={imgColorType
}, "queries": { (key) : [ { "title": string , "totalResults": long , "searchTerms": string , "count": integer , "startIndex": integer , "startPage": integer , "language": string , "inputEncoding": string , "outputEncoding": string , "safe": string ,
"cx": string , "sort": string , "filter": string , "gl": string , "cr": string , "googleHost": string , "disableCnTwTranslation": string , "hq": string ,
"hl": string , "siteSearch": string , "siteSearchFilter": string , "exactTerms": string ,
"excludeTerms": string , "linkSite": string , "orTerms": string , "relatedSite": string , "dateRestrict": string , "lowRange": string , "highRange": string , "fileType": string , "rights": string , "searchType": string , "imgSize": string , "imgType": string ,
"title": string , "htmlTitle": string , "link": string , "displayLink": string , "bodyLines": [
{ "title": string , "htmlTitle": string , "url": string ,
], "image": { "source": string , "width": integer , "height": integer }
{ "label": string , "anchor": string , "label_with_op": string }
] ] }, "searchInformation": { "searchTime": double , "formattedSearchTime": string , "totalResults": long ,
"spelling": { "correctedQuery": string , "htmlCorrectedQuery": string },
"kind": "customsearch#result", "title": string ,
"htmlTitle": string , "link": string , "displayLink": string , "snippet": string , "htmlSnippet": string , "cacheId": string , "mime": string , "fileFormat": string , "formattedUrl": string , "htmlFormattedUrl": string , "pagemap": {
"name": string , "displayName": string , "label_with_op": string }
], "image": { "contextLink": string , "height": integer , "width": integer , "byteSize": integer , "thumbnailLink": string , "thumbnailHeight": integer , "thumbnailWidth": integer }
Ta có thể sử dụng thuộc tính “totalResults” để biết tổng kết quả tìm kiếm có được trong việc tính toán IC Để tính toán độ thông tin dựa theo tìm kiếm từ Web, sử dụng tổng số kết quả được trả về bởi bộ máy tìm kiếm Web (Bing, Google…) khi tìm kiếm cụm từ Trong đề tài này sử dụng Google Tổng số kết quả được lưu trữ
TRẦN THỊ MI 12 của Google khoảng 47.000.000.000 theo ước lượng dựa trên trang web http://worldwidewebsize.com (truy cập vào tháng 3/2017).
Các công trình nghiên cứu liên quan
Vấn đề bảo mật thông tin nhạy cảm đang là xu hướng bảo mật hiện nay Có khá nhiều công trình liên quan đến vấn đề bảo mật thông tin nhạy cảm đã được nghiên cứu
Hình 3: Các hướng tiếp cận bảo mật thông tin nhạy cảm
Theo [4], mạng xã hội trực tuyến đang được sử dụng bởi ngày càng nhiều người
Trong khi chúng cho phép trao đổi thông tin rộng rãi, thì chúng cũng là nguyên nhân của các vấn đề bảo mật Bài báo này mô tả một hệ thống mới điều khiển việc tiết lộ thông tin đối với các bài viết dưới dạng ngôn ngữ tự nhiên Nó tự động kiểm tra các blog và các bình luận được tải lên trên mạng xã hội, phát hiện các từ có thể tiết lộ thông tin riêng tư, và chỉnh sửa những đoạn văn bản bằng cách thay thế những từ khả nghi bằng những từ mang tính tổng quát hơn, do đó thông tin riêng tư không còn bị tiết lộ nữa Mức độ của hệ thống điều khiển thông tin được tiết lộ không phải trên đoạn văn mà trên mỗi từ trong nó Do vậy, nó không gây ra sự phiền phức cho người sử dụng, cân bằng giữa việc bảo vệ sự riêng tư với việc hứng thú trong giao tiếp
Hình 4: Vai trò của hệ thống đề xuất
Hình 4 cho thấy vai trò của hệ thống điều khiển tiết lộ thông tin Khi người dùng viết blog hay bạn của họ bình luận trên trang mạng xã hội của họ, hệ thống kiểm tra các câu trong blog (hoặc các bình luận) và phát hiện thông tin riêng tư ở trong đó
Sau đó, hệ thống sẽ chỉnh sửa các câu sao cho các thông tin riêng tư không được tiết lộ hoặc cảnh báo với người dùng
Các ví dụ sau mô tả văn bản đầu vào của người dùng và đầu ra sau khi qua hệ thống chuyển đổi
- Studying at UEC, I am becoming more and more robotic
- Picture taking for graduate album First floor of Lissajous Hall, 10 through 19, on 14 and 15 October I heard 52 of Department H have already been photographed
- Studying at my university, I am becoming more and more robotic
- Picture taking for graduate album First floor of the University Hall, 10 through 19, on 14 and 15 October I heard 52 of Department H have already been photographed
Hệ thống phải chuyển đổi các bài viết do vậy chúng không còn tiết lộ thông tin cá nhân nữa trong khi vẫn giữ được sự hứng thú khi sử dụng mạng xã hội Để làm điều này, hệ thống phải đáp ứng những yêu cầu sau:
- Mức độ của việc điều khiển tiết lộ không nên bao gồm toàn bộ văn bản mà chỉ nên là các từ trong văn bản Do vậy, bất kỳ từ nào có thể tiết lộ thông tin nhạy cảm nên được phát hiện
- Trong việc phát hiện, không chỉ bao gồm những thông tin nhạy cảm được lưu ý trực tiếp mà còn cả những thông tin được nói đến gián tiếp Không chỉ mỗi từ mà còn là sự kết hợp khác nhau của chúng cũng nên được quan tâm
- Việc phát hiện các cụm từ nên được thông báo với người dùng để họ có thể chỉnh sửa hoặc chuyển đổi chúng
- Hệ thống không nên gây ảnh hưởng quá lớn đến người dùng Ví dụ, người dùng không nên phải định nghĩa nhiều quy tắc phát hiện hoặc chỉnh sửa nhiều câu
Phát hiện thông tin nhạy cảm:
Thuật toán tạo ra ma trận gợi ý sử dụng những phân tích xuất hiện đồng thời và có khả năng đạt tới Kết quả cuối cùng là giá trị lớn nhất trong hai bộ phân tích trên
Chỉ số xuất hiện đồng thời của hai từ A và B được xác định bởi công thức sau:
C(A,B) = (Số lượng trang bao gồm cả A và B) / (Số lượng trang bao gồm hoặc A hoặc B)
Chỉ số khả năng đạt tới được xác định bằng việc sử dụng kết quả truy hồi trên Web cho cụm từ mục tiêu dựa trên số lượng kết quả chứa cụm từ nhạy cảm và vị trí của chúng
Phát hiện những từ khả nghi: Đầu tiên, giải thuật tạo ra một ma trận gợi ý S cho đoạn văn bản Mỗi dòng của S tương ứng với mối quan hệ gợi ý giữa một cụm từ trong văn bản và các cụm từ nhạy cảm Nếu giá trị trong ma trận nhỏ hơn ngưỡng T thì bỏ qua, còn ngược lại, xóa nó đi hoặc thay thế bằng một từ tổng quát nào đó
Theo [3], bộ phát hiện thông tin riêng tư (PID) được mô tả để giúp điều khiển thông tin cá nhân của người dùng qua mạng xã hội Nó kiểm tra các văn bản được viết bởi người dùng trên mạng xã hội và phát hiện ra thông tin cá nhân có khả năng bị tiết lộ hay không để cảnh báo người dùng hoặc chỉnh sửa văn bản một cách tự động
Các tác giả mô hình hóa ứng dụng PID theo hình 5 Khi người sử dụng nhập một đoạn văn bản trên mạng xã hội, PID đọc đoạn văn bản này, phát hiện ra các từ thành phần và xác định từ hay các từ liên kết có thể tiết lộ thông tin cá nhân hay không
Kết quả của việc phát hiện này được gửi tới một tiến trình cảnh báo cho phép người dùng điều khiển thông tin cá nhân bằng cách chỉnh sửa văn bản một cách thủ công
Sử dụng một danh sách các cụm từ nhạy cảm được cung cấp sẵn (mô tả thông tin cá nhân về người dùng một cách trực tiếp), PID áp dụng hai loại phát hiện (trực tiếp hoặc gián tiếp) để nhận ra các từ và cụm từ Thuật toán phát hiện trực tiếp xác định các từ mô tả thông tin cá nhân bằng cách tìm kiếm văn bản cho những từ được xem là cụm từ nhạy cảm Tìm kiếm gián tiếp bằng cách đánh giá mức độ đạt được từ các từ trong văn bản đối với các từ nhạy cảm trong danh sách
Theo [1], các tác giả tìm cách phát hiện những thông tin riêng tư trên các trang cá nhân của người dùng trên Twitter Mục tiêu của nghiên cứu này là xác định một trang cá nhân có tỷ lệ riêng tư là bao nhiêu Các tác giả tiến hành việc thu thập dữ liệu bắt nguồn từ một twitter hạt giống với số lượng người theo dõi lớn, sau đó tiến hành lấy trang cá nhân của người dùng này và các phản hồi có liên quan cùng với trang cá nhân của các người dùng phản hồi đó Trên dữ liệu thu thập được, các tác giả sử dụng AMT để phân loại những bài viết đó theo ba mức: Score-1: Dưới 30% các tweet được gán nhãn riêng tư, Score-2: 30-60% các tweet được gán nhãn riêng tư, Score-3: trên 60% các tweet được gán nhãn riêng tư Các tác giả sử dụng dữ liệu này làm tập dữ liệu để huấn luyện Một trang cá nhân của người dùng chưa được
PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN
Các vấn đề gặp phải
Theo nghiên cứu [7], tác giả sử dụng độ đo IC để xác định thông tin có nhạy cảm hay không Tuy nhiên tác giả lại không xét đến ngữ nghĩa của đoạn văn Ví dụ như câu phủ định thường không mang ý nghĩa tiết lộ thông tin và một số động từ cũng không mang ý nghĩa tiết lộ thông tin
I don’t live in Chicago I want to live in Chicago
Với mỗi chủ đề, tác giả tính độ IC ứng với mỗi chủ đề này Sau đó lấy độ IC nhỏ nhất làm ngưỡng chung để so sánh Việc lấy chung một ngưỡng này có thể dẫn đến tình trạng mất mát quá nhiều thông tin sau khi chỉnh sửa, một số thông tin thực chất không mang tính tiết lộ ứng với chủ đề đó nhưng vẫn được đánh dấu là đã tiết lộ.
Cải tiến
Phương pháp cải tiến trong luận văn này theo [5][6][7]
Trong luận văn này, chúng ta vẫn sử dụng độ IC như [7] để xác định cụm danh từ có tiết lộ nhiều thông tin hay không Tuy nhiên, ta sẽ phân loại cụm danh từ này thành 3 loại: cụm danh từ chỉ địa điểm, cụm danh từ chỉ thời gian, và các cụm danh từ còn lại Việc xét riêng cụm danh từ chỉ địa điểm và thời gian ra so với các chủ đề khác vì đây là hai loại danh từ nhạy cảm, dễ dàng để lộ thông tin quan trọng, gây tác động mạnh mẽ đến đời sống thực tế
Ngưỡng đề xuất trong luận văn này gồm ba ngưỡng:
- Ngưỡng về thời gian - Ngưỡng về địa điểm
- Ngưỡng chung cho các loại chủ đề còn lại, là ngưỡng nhỏ nhất của ngưỡng thời gian và địa điểm
Chúng ta sẽ tiến hành phân loại các cụm danh từ này
- Nếu thuộc cụm danh từ chỉ thời gian: so sánh độ thông tin của cụm này với ngưỡng thời gian
- Nếu thuộc cụm từ chỉ địa điểm: so sánh độ thông tin của cụm này với ngưỡng địa điểm
TRẦN THỊ MI 30 - Đối với các loại danh từ còn lại: so sánh với ngưỡng chung nhỏ nhất của ngưỡng thời gian và địa điểm
Tiến hành loại bỏ những cụm danh từ đi kèm với những câu mang tính phủ định [7]
Sử dụng thuật toán rút trích những cụm danh từ trong câu và danh sách những động từ đi kèm với cụm danh từ này
- Đối với các cụm danh từ chỉ vị trí: tiến hành kiểm tra các động từ đi kèm với cụm danh từ này này, nếu có tồn tại động từ không tiết lộ thông tin thì cụm danh từ này được xem như không tiết lộ thông tin [7] Ngược lại so sánh độ thông tin của cụm danh từ này với ngưỡng địa điểm tương ứng để xác định từ nhạy cảm
- Đối với các cụm danh từ chỉ thời gian: so sánh độ thông tin của cụm danh từ này với ngưỡng thời gian tương ứng để xác định từ nhạy cảm
- Đối với những cụm danh từ không chỉ thời gian và địa điểm: so sách độ thông tin của cụm danh từ này với ngưỡng chung để xác định cụm danh từ có nhạy cảm hay không
Hiện thực
Hình 7: Phương pháp đề xuất
Bước 1 Xác định ngưỡng tương ứng với ba loại cụm danh từ
Tổng số kết quả trả về từ tìm kiếm trên Google 47.000.000.000 theo ước lượng dựa trên trang web http://worldwidewebsize.com (truy cập vào tháng 3/2017)
- Giả sử, chúng ta sử dụng từ khóa “Chicago” để tính IC làm ngưỡng cho loại danh từ chỉ địa điểm với:
IC(Chicago) = -log2(hits(Chicago)/N) = log2(92200000 /47000000000) 8.988991676
- Sử dụng từ khóa “October” để tính IC làm ngưỡng cho loại danh từ chỉ thời gian với:
IC(October) = -log2(hits(October)/N) = log2(196000000 /47000000000) 7.898321317
- Các loại danh từ còn lại được tính theo ngưỡng nhỏ nhất của ngưỡng thời gian và địa điểm với:
Bước 2 Phân tích cú pháp đoạn văn bản và rút trích cụm danh từ cùng với danh sách động từ đi kèm với nó
Sử dụng Stanford NLP Library, đưa đoạn văn bản P vào phân tích Kết quả trả ra là chuỗi đã được phân tích từ vựng, cú pháp P’ Ứng với từng câu trong P’, chúng ta tiến hành:
- Rút trích ra các cụm danh từ cùng với các động từ đi kèm với nó
- Xác định cụm danh từ này có đi kèm với từ mang ý nghĩa phủ định hay không
- Rút trích danh sách vị trí các từ của cụm danh từ này
Bước 3 Xác định động từ có tiết lộ thông tin hay không Để xác định một động từ có tiết lộ thông tin hay không, sử dụng WordNet để phân tích từ Kết quả trả về của WordNet sẽ xác định động từ này thuộc danh sách những loại nào trong số 15 loại được WordNet định nghĩa sẵn (theo thông tin nghiên cứu vào tháng 6/2017)
Bước 4 Xác định cụm danh từ có tiết lộ thông tin hay không
Với mỗi câu, tiến hành phân loại cụm danh từ trong câu này thuộc 3 loại : cụm danh từ chỉ địa điểm, cụm danh từ chỉ thời gian, cụm danh từ chung Đối với từng cụm danh từ:
- Nếu cụm danh từ này có đi kèm với từ mang ý nghĩa phủ định, cụm danh từ này được xem như không tiết lộ thông tin
- Nếu cụm danh từ này thuộc loại chỉ địa điểm, kiểm tra trong các động từ đi kèm với cụm danh từ này có tiết lộ thông tin hay không, nếu có tồn tại động từ không tiết lộ thông tin => cụm danh từ này được xem như không tiết lộ thông tin Ngược lại, tính độ IC của cụm danh từ này và so sánh với ngưỡng địa điểm Nếu IC lớn hơn ngưỡng địa điểm => cụm danh từ này được xem như tiết lộ thông tin, ngược lại được xem như không tiết lộ thông tin
- Nếu cụm danh từ này thuộc loại chỉ thời gian, tính độ IC của cụm danh từ này và so sánh với ngưỡng thời gian Nếu IC lớn hơn ngưỡng thời gian => cụm danh từ này được xem như tiết lộ thông tin, ngược lại được xem như không tiết lộ thông tin
- Nếu cụm danh từ này không thuộc loại địa điểm cũng như thời gian, tính độ
IC của cụm danh từ này và so sánh chúng với ngưỡng chung Nếu IC lớn hơn ngưỡng chung => cụm danh từ này được xem như là tiết lộ thông tin, ngược lại được xem như không tiết lộ thông tin
PHÂN TÍCH VÀ ĐÁNH GIÁ KẾT QUẢ
Thí nghiệm triển khai
Tập dữ liệu huấn luyện được lấy ngẫu nhiên 100 câu trên các tài khoản Facebook: https://www.facebook.com/EverythingEverywhere https://www.facebook.com/IvankaTrump/ https://www.facebook.com/DanScavino/ https://www.facebook.com/barackobama/ https://www.facebook.com/KimKardashian/ https://www.facebook.com/Selena/ https://www.facebook.com/jennie.allison.96?fref=ufi&rc=p https://www.facebook.com/sarah.lynn.58555?fref=ufi https://www.facebook.com/l.d.kerle?fref=ufi https://www.facebook.com/beverlyannmorgan.gross?fref=pb https://www.facebook.com/elaine.jones4?fref=pb&hc_location=friends_tab https://www.facebook.com/evan.parke.1?fref=pb&hc_location=friends_tab https://www.facebook.com/profile.php?id0005247817220&fref=pb
Tiến hành tự đánh giá tay dữ liệu nào là nhạy cảm dựa trên tập dữ liệu này
2 Xây dựng mô hình kiểm chứng
Tiến hành xây dựng 3 mô hình để kiểm chứng kết quả từ tập dữ liệu đã được tự đánh giá trước đó
- Mô hình R0: được xây dựng dựa theo [7] chỉ xác định cụm danh từ có tiết lộ nhiều thông tin hay không dựa trên độ đo IC, dùng một ngưỡng chung duy nhất đối với tất cả mọi loại danh từ
- Mô hình R1: thêm phân chia thêm hai loại là địa điểm và thời gian
- Mô hình R2: phân chia thêm hai loại là địa điểm và thời gian, cùng với việc đưa ngữ nghĩa câu vào (câu phủ định, động từ không mang hàm ý tiết lộ thông tin đối với các cụm danh từ chỉ thời gian)
Kết quả trả ra từ ba mô hình này là file dữ liệu CSV với mỗi dòng bao gồm các thông tin:
- Nội dung câu - Cụm danh từ tiết lộ thông tin - Danh sách vị trí các từ trong cụm danh từ tiết lộ thông tin
Đánh giá
Sau khi tiến hành chạy thử ba mô hình trên ứng với cùng một tập dữ liệu trên cùng một ngưỡng, sử dụng độ đo Sứrensen–Dice coefficient (DSC) để tớnh toỏn:
Chạy độ thông tin từ 0 đến 20 để tìm ngưỡng chung cho kết quả tốt nhất đối với tập dữ liệu => chọn 7.9 làm ngưỡng chung
TRẦN THỊ MI 36 Để xác định 7.9 là ngưỡng thời gian hay địa điểm, giả sử 7.9 là ngưỡng địa điểm, chạy ngưỡng thời gian từ 0 đến 20 để chọn ngưỡng thời gian phù hợp nhất, kết quả thu được:
Hình 10: Cố định ngưỡng địa điểm, chạy ngưỡng thời gian Nếu chọn ngưỡng thời gian là 7.9, chạy ngưỡng địa điểm từ 0 đến 20, kết quả:
Hình 11: Cố định ngưỡng thời gian, chạy ngưỡng địa điểm
Chọn ngưỡng thời gian là 7.9, ngưỡng địa điểm là 9.0 cho kết quả tốt nhất
TRẦN THỊ MI 37 Kết quả ghi nhận như sau:
Mô hình Độ chính xác
(Tính theo câu) Độ chính xác (Tính theo từ)
Bảng 6: Kết quả so sánh các phương pháp
Hình 12: Đồ thị so sánh các phương pháp
Lượng dữ liệu khá nhỏ nên có thể kết quả ghi nhận sẽ có sai số khi chạy trên lượng dữ liệu lớn
Với 100 câu được lấy ngẫu nhiên từ mạng xã hội facebook, được đánh dấu thủ công về việc tiết lộ thông tin Sau khi chạy thuật toán gốc từ [7] (R0), kết quả thu được có độ chính xác là 57% (với 81.8% tổng số từ nhận ra đúng) Sau khi thêm cải tiến phân chia thêm loại danh từ là danh từ chỉ thời gian và danh từ chỉ địa điểm (R1), độ chính xác đã lên đến 61% (với 82.7% tổng số từ đúng) Sau khi thêm ngữ nghĩa (phủ định, động từ mang ý nghĩa tiết lộ thông tin đối với các cụm danh từ chỉ địa điểm, thời gian – R2) thì độ chính xác đã lên đến 64% (với 83% tổng số từ đúng)
Một nhược điểm của phương pháp tính độ thông tin IC là phụ thuộc vào kết quả trả về từ Google API Tuy nhiên, lượt search Google API giới hạn mỗi ngày với số lượng rất ít => phải mất khá nhiều chi phí nếu muốn sử dụng
TRẦN THỊ MI 38 Bài toán chỉ có thể áp dụng ở những câu đơn giản, đối với những câu mang ý nghĩa phức tạp, thuật toán có thể không chính xác
Một số kết quả được ghi nhận sau khi chạy mô hình cải tiến lần hai so với mô hình nguyên bản như sau:
1 Đối với việc loại bỏ việc phát hiện cụm từ tiết lộ thông tin đối với câu phủ định
Nếu lấy độ thông tin của NewYork là ngưỡng thì câu:
Xét về mặt ngữ nghĩa, câu này thực sự không tiết lộ thông tin nhạy cảm (do là câu phủ định) Tuy nhiên, mô hình nguyên bản (R0) và mô hình cải tiến lần một (R1) vẫn nhận ra thông tin tiết lộ là California:
Sau khi chạy qua hệ thống cải tiến lần 2 (R2), hệ thống xác định về mặt ngữ nghĩa câu không tiết lộ thông tin, nên không đánh dấu từ California là nhạy cảm
2 Đối với việc xác định động từ trong câu có hàm ý tiết lộ thông tin hay không Đối với câu:
I really want to fly out to Los Angeles
Không mang tính chất tiết lộ thông tin nhạy cảm, chỉ mang tính chất biểu thị trạng thái mong muốn
Khi chạy mô hình nguyên bản (R0) và mô hình cải tiến lần một (R1), vẫn cho ra cùng một kết quả, xác định Los Angeles là cụm từ nhạy cảm:
I really want to fly out to Los Angeles
Tuy vậy, sau khi chạy qua mô hình cải tiến lần hai (R2), hệ thống xác định câu không chứa cụm từ nhạy cảm nào:
I really want to fly out to Los Angeles
3 Đối với việc phân loại nhóm cụm danh từ trong câu thành ba loại: loại danh từ chỉ địa điểm, loại danh từ chỉ thời gian, loại danh từ chung (các danh từ còn lại)
I’ll go to California at 2PM on Monday
TRẦN THỊ MI 39 Giả sử chọn ngưỡng đối với địa điểm là IC(Wyoming) = 11.70274988 (Wyoming có độ thông tin cao nhất trong tất cả các bang của Mỹ, nhằm mục đích tất cả các bang ở Mỹ đều có thể được nhìn thấy, không bị đánh dấu là nhạy cảm)
Ngưỡng đối với thời gian là IC(October) = 7.898321317 (October có độ thông tin cao nhất trong tất cả các tháng của năm, nhằm mục đích không đánh dấu tháng là thông tin nhạy cảm)
Nếu chạy cùng một độ thông tin, bài báo nguyên bản sẽ sử dụng IC(October) làm ngưỡng vì IC này nhỏ nhất
Câu trên sau khi chạy qua hệ thống nguyên bản (R0), sẽ phát hiện California và Monday, 2PM là tiết lộ thông tin
I’ll go to California at 2PM on Monday
Không đúng với mục đích ban đầu của người dùng là hiện ra các cụm danh từ có độ thông tin nhỏ hơn độ thông tin lớn nhất trong các bang của Mỹ (có nghĩa là hiện ra được tất cả các bang còn lại)
Ví dụ trên sau khi chạy qua hệ thống cải tiến lần một (R1) và lần hai (R2) cho kết quả như sau:
I’ll go to California at 2PM on Monday
Đáp ứng được mong muốn của người dùng