phương pháp máy học
3.3.3.1 Quy trình chung của phương pháp phân lớp bằng máy học
Biểu diễn tài liệu
Kho ngữ liệu huấn luyện
Chuẩn hóa tài liệu
Kho ngữ liệu đã được chuẩn hóa
Tạo chỉ mục tài liệu
Tập vector biểu diễn tài liệu (corpus.arff)
Xây dựng bộ phân lớp. phân lớp và thực hiện đánh giá
Tập tin biểu biễn tài liệu trong kho ngữ liệu (.arff) Xây dựng bộ phân lớp, phân lớp và đánh giá Annotated corpus corpus.arff C, Gama tốt nhất
Tối ưu các tham số C, gama cho thuật toán SVM Kết quả đánh
giá Thuật toán phân lớp
Phương pháp đánh giá Tập tin để đánh giá Danh sách từ Bộ rút trích đặc trưng n- grams Bộ rút trích đặc trưng BoW Tập luật viết bằng ngôn ngữ SRL
Hình 9 – Quy trình thực hiện của bài toán phân lớp văn bản
3.3.3.2 Kho ngữ liệu sử dụng để huấn luyện
Tương ứng với các hành vi cần giám sát đã được giới thiệu ở 3.1, mỗi thông điệp của Twitter (tài liệu) trong kho ngữ liệu sẽ có thể được gán các loại nhãn sau:
A (avoidance behavior): Các hành vi liên quan đến việc phòng tránh.
I (increase sanitation): Các hành vi liên quan đến việc tăng cường các biện pháp vệ sinh.
S (seeking pharmaceutical intervention): Các hành vi liên quan đến việc sử dụng các can thiệp y tế.
W(wearing a mask): Hành vi sử dụng mặt nạ, khẩu trang để phòng bệnh. Nhãn về chẩn đoán bệnh (self-diagnosis):
F (having flu): Bị bệnh cúm
Cách thức để quyết định một tài liệu là Positive hay Negative đối với mỗi nhãn trong các nhãn trên được mô tả trong tài liệu hướng dẫn việc gán nhãn (guide line) [26].
Sau quá trình gán nhãn thông tin kho ngữ liệu mà hệ thống nhận được như sau: Avoidance Behavior Increase Sanitation Seeking Pharmaceutical Intervention Wearing a mask Have flu Positive 251 37 499 32 741 Negative 632 43 974 230 1873 Total 883 80 1443 262 2614
Kho ngữ liệu này sử dụng để làm kho ngữ liệu huấn luyện cho các thuật toán phân lớp và các hành vi này (tương ứng với các nhãn) sẽ được sử dụng để xác định độ bất thường và đưa ra cảnh báo cho người dùng.
Một số tài liệu ví dụ trong kho ngữ liệu:
Bảng 2 - Ví dụ về các tài liệu trong kho ngữ liệu huấn luyện
#ID Tweets S A I W F
S1 Just got my H1N1 vaccine .. So bring it on, tampon... P S2 guy next to me at the docs has swine flu, should i be
worried? i think not!
P
S3 at home...i might have to flu...god i hope not...if i start running a temp i have to go to the hospital...ily antonio soto
P
S4 Goin' to get my swine flu shot here in a bit... Handy having a health center on campus!
P
S5 HORRIBLE!!! Omg!! RT @kalilahtwitts: I just got a swine flu shot. Good or bad idea
A2 my first ever housewarming party is shaping up to be a bust. i feel like i'm turning 6 again, when my b-day was canceled due to the flu.
P
A3 Pump up the vitamin C and stay in bed! RT @didiandraa Jakarta has caught up to me. I'm officially down with the flu + bad coughs.
P
A4 they closed our school for 2 days because of the flu outbreak. I hope this helps. Poor sick kids!!!
P
A5 @lightofblue Fine, just today that I'm feeling bad... I'm at home with flu... aarrrgh!!!
P
A6 @licia83 Flu is on its way. - I really hope not. Be positive and stay in bed.
P
I1 people sneezing on you = flu, unclean hands = common cold, hand sanitizers = scam, wash before eating http://bit.ly/aijojt
P
I2 Rerack. I'm prolly contageous, so please wash your hands after you tweet. A Public Service Announcement. #flu #sucks
P
I3 XLERATOR hand dryers - most exciting part of washing your hands since the swine flu!!!!!
P
I4 RT @WhatNursesDo: Good morning nurses. Just because it isn't flu season, remind your loved ones to keep washing their hands.
P
I5 @JellieB So y do wash ur hands afta smokin?..Is it cause ur finger tips smell like it?..Or if u dnt u cn spread sum HN11(H1N1)typeShit(CONT)
P
W1 @mrs_l3vis Hell yeah, that emergency room was full! They separated me tho incase I had the swine flu. I had to wear a mask and everything.
P
W2 @mimidancer Haha STD's are in the air like like Swine flu in the air...I'm wearin my SARS mask lol.
P
W3 Should I wear a flu mask to protect myself from swine flu? http://tinyurl.com/ycqxwpt #swineflu
P
W4 @perfectB24 awwwww *wit mask on face passes cup of hot tea wit honey & Thera flu*
P
W5 @mseweezy I definitely have the flu!! But I'm at work with a mask on so my residents don't get sick n sipping my thera flu
P
F1 @OohAhhitsMorgan oh daaanngg. I had the flu twice in two months earlier this school year.
P
F2 @sfgaynightlife yeah last week I had the flu an then I had to pull 8am to 630pm shifts all that following week so bizzy b
but back 2 normal
F3 Hopefully this is the last day of the cold/flu from hell. I need to get back to work. (did I REALLY say that?)
P
F4 I've got man flu, taste, where are you!!!! P
F5 Gonna miss my occasionally nonsensical baby brother. Hope he's well fed. Ok imma pop 2 flu pills n go to sleep now. Dream sweet all. :)
P
3.3.3.3 Rút trích các tập đặc trưng và biểu diễn tài liệu 3.3.3.3.1 Phương pháp biểu diễn tài liệu
Phương pháp: sử dụng mô hình vector để biểu diễn một tài liệu. Trong đó giá trị từng thành phần trong vector phụ thuộc vào tập đặc trưng sử dụng. Có 3 tập đặc trưng được nghiên cứu và thử nghiệm:
Tập đặc trưng túi từ (bag of words)
Tập đặc trưng n-gram
Đặc trưng khái niệm
3.3.3.3.2 Phương pháp xây dựng các tập đặc trưng a) Biểu diễn tài liệu bằng đặc trưng túi từ
Bước 1: Xây dựng túi từ:
Túi từ là một tập hợp các từ đơn { | |} . Mỗi từ đơn trong túi từ đều phải xuất hiện ít nhất 1 lần trong kho ngữ liệu huấn luyện.
Bước 2: Biểu diễn tài liệu:
Mỗi tài liệu được biểu diễn bằng một vector 〈
| |〉 có kích thước | |
nếu tài liệu chứa từ (với | |). Ngược lại . Ví dụ về xây dựng túi từ và biểu diễn tài liệu:
Đầu vào: kho ngữ liệu có 3 tài liệu: d1, d2, d3.
Đặc trưng: BoW Xây dựng túi từ:
Biểu diễn tài liệu:
b) Biểu diễn tài liệu bằng đặc trưng n-gram (n >2)
Bước 1: Xây dựng tập hợp chuỗi các từ có độ dài n sao cho chuổi các từ này có tồn tại trong một tài liệu nào đó của kho ngữ liệu.
Tập hợp chuỗi các từ { | |} . Mỗi chuỗi trong (có ) phải xuất hiện trong kho ngữ liệu huấn luyện ít nhất 1 lần.
Bước 2: Biểu diễn tài liệu:
Mỗi tài liệu được biểu diễn bằng một vector 〈
| |〉 có kích thước | |
nếu tài liệu chứa chuỗi (với | |). Ngược lại .
c) Biểu diễn tài liệu bằng đặc trưng khái niệm xây dựng dựa trên luật
Bước 1: Xây dựng bộ luật để rút trích khái niệm. Gọi { | |} là tập các luật đã xây dựng.
v = {01, 02, 03, 04, 05, 06, 07, 08, 09, 110, 011, 012, 013, 014, 115, 016, 017, 018, 019, 020, 021, 022, 023, 024, 025, 026, 027, 028, 129, 030, 031, 132, 033, 034}
d = “I got the vaccine today” d1= “Just got my H1N1 vaccine
..So bring it on,tampon...”
d2= “guy next to me at the docs has swine flu, should i be worried? i think not!”
d3= “After taking tamiflu for swine flu can you die?
http://bit.ly/cxUPsz”
W = {
After1, at2, be3, bring4, can5, die6, docs7, flu8, for9, got10, guy11, H1N112, has13, http://bit.ly/cxUPsz14, i15, it16, Just17, me18, my19, next20, not21, on22, should23, so24, swine25, taking26, tamiflu27, tampon28, the29, think30, to31, vaccine32, worried33, you34 }
Bước 2: Biểu diễn tài liệu:
Mỗi tài liệu được biểu diễn bằng một vector 〈
| |〉 có kích thước | |
. Với | |. Với hàm = 1 nếu
trong tài liệu có tồn tại một chuỗi thỏa mãn .
d) Biểu diễn tài liệu sử dụng sử dụng tổng hợp các loại đặc trưng
Chuẩn bị:
Tập các tài liệu trong kho ngữ liệu là { | |}
Cho { | |} là túi từ được xây dựng từ kho ngữ liệu
Cho { | |} là tập các chuỗi được xây dựng từ kho ngữ liệu bằng phương pháp n-grams.
Cho { | |} là tập luật để rút trích các khái niệm.
Điều kiện: | | | | | | Biểu diễn tài liệu:
Mỗi tài liệu được biểu diễn bằng một vector 〈
| | | | | | | |〉 có kích thước | | | | | |.
Trong đó nếu hoặc hoặc ( ) . Ngược lại .
3.3.3.3.3 Xây dựng luật để rút trích đặc trưng khái niệm
Luận văn sử dụng công cụ SRL và thư viện của nó để rút trích đặc trưng khái niệm. Để thống nhất ta gọi đặc trưng này là tập đặc trưng SRL.
Ý tưởng của việc xây dựng luật: có thể khai thác những đặc điểm mà không thể có được từ những đặc trưng như n-grams hoặc BoW:
Có thể phát hiện được các mối quan hệ giữa các thành phần của câu. Các quan hệ này thường có thứ tự - đó là lý do không thể phát hiện được bằng đặc trưng n-gram hay BoW.
Luật được xây dựng sử dụng tri thức của ngôn ngữ, do đó có thể phát hiện được các thành phần có ý nghĩa cho việc phân lớp. Trong khi các đặc trưng như n-gram và BoW chỉ tối đa dựa vào tần số xuất hiện của các thành phần.
Hạn chế:
Luật được xây dựng thủ công nên tốn rất nhiều công sức và để xây dựng được luật thì phải phân tích hành vi của người dùng trên mạng xã hội.
Rất khó trong việc tạo một bộ luật phủ được tất cả các trường hợp của người dùng.
Mong muốn:
Sử dụng đặc trưng khái niệm để bổ sung vào các đặc trưng cơ sở nhằm tăng cao độ chính xác của hệ thống.
a) SRL – Ngôn ngữ rút trích khái niệm
Giới thiệu: SRL (Simple Rule Language) [27] là một ngôn ngữ dựa trên biểu thức chính quy để rút trích các đối tượng, các sự kiện trong văn bản. Cú pháp của ngôn ngữ SRL được thiết kế để thực hiện được 2 công việc: (1) rút trích các thực thể định nghĩa trước (tương tự bài toán nhận diện các thực thể có tên NER), (2) rút trích các sự kiện bằng các luật để phát hiện quan hệ giữa các thực thể.
Luật xây dựng bằng ngôn ngữ SRL khá giống như biểu thức chính quy cổ điển để so khớp chuỗi.
Áp dụng ngôn ngữ SRL biểu diễn và rút trích các khái niệm.
b) Một ví dụ về rút trích các thực thể bằng ngôn ngữ SRL:
Xét một tập các tài liệu sau: d1 = “i got my swine flu shot”
d2 = “so last 2 yrs . i have had flu shot . this yr .”
d3 = “arggh . coming down with something bad . be hilarious if it was regular flu since i got my h1n1 vaccine but not a flu vaccine . .”
d4 = “no . we get flu shots and he stays healthy . thought this may be h1n1 last night .”
d6 = “he taken a shot yesterday” d7 = “Should I got the h1n1 shot ?”
Xét 1 luật viết bằng ngôn ngữ SRL:
Trong đó @main_verbs, @pronoun1, @drug, (@all_question_words là những danh sách từ:
@main_verbs = {"get", "getting", "got", "gotten", "had", "has", "have", "injected", "perscribe", "perscribed", "prescribe", "prescribed", "take", "taken", "took"}
@pronoun1 = {"i", "we"}
@drug = {"dose", "drug", "drugs", "injection", "jab", "jabs", "medicine", "prescription", "shot", "shots", "tamiflu", "vacc", "vaccin", "vaccination", "vaccine", "vaccines", "vacconations", "vitamin", "vitamins", "vitanmin"}
Ý nghĩa: Luật R1 sẽ tìm được trong tập tài liệu những câu có dạng S_V_O trong đó S là một đại từ nằm trong danh sách @pronoun1, V là các động từ có trong danh sách @main_verbs, O là những phát biểu có tận cùng là tên một loại thuốc trong danh sách @drugs.
Kết quả áp dụng trên tài liệu: Luật R1 này sẽ rút trích được khái niệm “sử dụng thuốc” trong các tài liệu trên như sau.
Nội dung Chuỗi mà so khớp với luật
d1 “i got my swine flu shot” “i got my swine flu shot”
Y
d2 “so last 2 yrs . i have had flu shot . this yr
.” “i have had flu
shot”
Y
d3 “arggh . coming down with something bad . be hilarious if it was regular flu since
“i got my h1n1 vaccine”
Y
R1=:-name(i_get_the_drug) { not(@all_question_words) list(@pronoun1) list(@main_verbs) words(,3) list(@drugs) }
vaccine . .”
d4 “no . we get flu shots and he stays healthy . thought this may be h1n1 last night .”
“we get flu shots” Y
d5 “i got the h1n1 shot and its kicking my
ass” “i got the h1n1
shot”
Y
d6 “he taken a shot yesterday” N
d7 “Should I got the h1n1 shot ?” N
c) Xây dựng bộ luật để rút trích đặc trưng khái niệm
Luận văn đã xây dựng một tập luật để xây dựng tập đặc trưng khái niệm. Danh sách các luật này như sau:
R Luật Class Description
1 not_go_to_school A 2 cancel_because_flu A 3 at_home_with_flu A 4 stay_at_home A 5 off_work A 6 back_to_work A 7 still_work A 8 with_the_flu A 9 because_the_flu A 10 no_workplace A 11 for_work A 12 got_the_flu A 13 get_the_drug A 14 give_me_the_drug S 15 need_the_drug S 16 past_time S 17 past_time S 18 doctor S 19 future_time S 20 i_get_the_drug S 21 just_get_the_drug S 22 i_never_get_the_drug S 23 he_get_the_drug S 24 go_to_doctor S 25 at_the_doctor S 26 people_should_get_the_drug S 27 should_people_get_the_drug S 28 why_people_get_the_drug S
29 i_go_to_doctor S 30 i_never_go_to_doctor S 31 should_people_go_doctor S
3.3.3.4 So sánh giữa các tập đặc trưng
Đặc trưng Bag of word và n-gram Đặc trưng khái niệm
Ưu điểm:
Tập đặc trưng lớn phủ được toàn bộ kho ngữ liệu.
Dễ dàng có được bằng phát sinh tự động.
Nhược điểm:
Không quan tâm đến thứ tự và quan hệ của các từ.
Mỗi thuộc tính trong tập đặc trưng có mức độ quan trọng khác nhau: có thuộc tính có ý nghĩa nhưng ngược lại có thuộc tính không có ý nghĩa đối với bài toán đang thực hiện.
Ưu điểm:
Khai thác được quan hệ giữa các thành phần trong câu nhờ các luật biễu diễn.
Mỗi thuộc tính trong tập đặc trưng này rất có ý nghĩa vì đã được tạo thủ công qua việc phân tích ngôn từ.
Nhược điểm:
Tập đặc trưng này tốn công sức để có được.
Khó có khả năng tạo tự động. Kích thước tập đặc trưung nhỏ,
không phủ hết được tất cả các trường hợp.
Mỗi tập đặc trưng đều có ưu điểm riêng. Do đó, luận văn hướng tới việc kết hợp các tập đặc trưng khái niệm để bổ sung vào tập đặc trưng cơ sở (bag of word và n- gram) để cải thiện hiệu quả phân lớp của hệ thống/
3.3.3.5 Một số bước chuẩn hóa tài liệu
Chuẩn hóa tài liệu Bước chuẩn hóa này nhằm 2 mục đích: giảm kích thước cho tập đặc trưng và đưa các hình thức biểu diễn khác nhau nhưng cùng một ý nghĩa về cùng một dạng biểu diễn.
Nội dung Mô tả
1 Chuẩn hóa về từ nguyên mẫu (stemming)
Các từ được chuyển về dạng gốc. Ví dụ: goinggo; washeswash
2 Chuẩn hóa các biểu
tượng cảm xúc
(emoticon) và dấu câu.
Dấu hỏi (?) được thay thế bằng thể <<QUESTION>>
Các biểu tượng cảm xúc được chia thành các nhóm tùy theo loại cảm xúc và các biểu tượng của mỗi nhóm sẽ được biểu diễn bởi cùng một dạng <<EMOTICON_XX>>
Ví dụ: :) :-) sẽ được biễu diễn thành: <<EMOTICON_01>> 3 Chuẩn hóa các diễn đạt
@username
Trong Twitter, @username là để chỉ một tài khoản người dùng nào đó. Ví dụ: @alex, @ntson, … Do đó, bước này sẽ chuyển tất cả các diễn đạt tên người dùng về dạng <<USERNAME>>
4 Chuẩn hóa các URL Các siêu liên kết bắt đầu bằng http:// or www sẽ được thay thế bằng <<URL>>
5 Chuẩn hóa các hình thức rút gọn
Chuyển các hình thức rút gọn của ngôn ngữ về dạng đầy đủ. Quá trình này được thực hiện nhờ những quy tắc chuẩn hóa như sau:
- can'tcan not
- won'twill not
- n'tnot
- 'mam
- ain't =is not
- …
(Có tất cả 27 quy tắc chuẩn hóa để áp dụng trong bước này)
6 Chuẩn hóa từ viết tắt1 Chuyển các hình thức viết tắt về dạng đầy đủ. Ví dụ:
ppl. people, g9 good night, OMG Oh my