Xây dựng quy trình giám định viên nén TFMPP (m-trifluoromethylphenylpiperzazine) bằng GC/MS
Xây dựng tag cloud bằng cây n-gram
description
Transcript of Xây dựng tag cloud bằng cây n-gram
Xây dựng tag cloud bằng cây n-gramLê Ngọc Minh
2
Nội dung
1. Giới thiệu2. Phát biểu bài toán3. Cây n-gram4. Giải quyết bài toán bằng cây n-
gram5. Thực nghiệm6. Hướng phát triển
3
1. Giới thiệu2. Phát biểu bài toán3. Cây n-gram4. Giải quyết bài toán bằng cây n-
gram5. Thực nghiệm6. Hướng phát triển
5
Quản lý danh tiếng trực tuyến
Danh tiếng: Những gì mọi người nói về một nhãn hiệu, tên tuổi.
Quản lý danh tiếng:◦Nắm được cộng đồng quan tâm đến
điều gì.◦Nắm được ý kiến (tích cực/tiêu cực)
của cộng đồng về điều đó.◦Giải quyết khủng hoảng: loại bỏ
những ý kiến không thuận lợi hoặc đẩy nó xuống thấp hơn trong kết quả tìm kiếm.
6
Khách hàng của ORM
7
Nghiên cứu liên quan đến ORM
Năm 2000: 6Năm 2001: 10...Năm 2009: 1929Năm 2010: 3030Năm 2011: 4022Đầu năm 2012: 896
(*) Tìm kiếm trên 3 từ khóa "sentiment analysis", “sentiment classification” và "opinion mining" .2000 2002 2004 2006 2008 2010
0
500
1000
1500
2000
2500
3000
3500
4000
4500
Số bài báo trên Google Scholar *
8
Tag cloudNhững cụm từ thường được nhắc đến
khi đề cập đến một nhãn hiệu, tên tuổi. Giả sử có sự tương quan giữa số lần
được nhắc đến và độ quan tâm◦Nhắc đến nhiều trên báo, diễn đàn, mạng
xã hội nhiều người đọc nhiều người quan tâm.
◦Nhiều người quan tâm Nhiều thảo luận trên diễn đàn, mạng xã hội Được nhắc đến nhiều.
Cho biết cộng đồng quan tâm nhiều nhất đến điều gì.
9
Ví dụ về tag cloud (1)
Tag cloud cho từ khóa VnIdol.Dự đoán:
◦Chương trình “Gắn kết yêu thương” được quan tâm.◦Có sự so sánh với các chương trình khác.
10
Ví dụ về tag cloud (2)<tagcloud><tag string="show truyền_hình_thực_tế" count="4" /><tag string="tổ_chức trình_diễn" count="4"/><tag string="trình_diễn thời_trang" count="4"/><tag string="bộ_vi_xử_lý intel" count="4"/><tag string="intel core" count="4"/><tag string="core 2" count="4"/><tag string="2 duo" count="4"/><tag string="ngôi_nhà âm_nhạc" count="4"/><tag string="tìm_kiếm tài_năng" count="4"/><tag string="s got_talent" count="4""/><tag string="mở_rộng sân_chơi" count="3" /><tag string="sân_chơi ca_hát" count="3" /></tagcloud>
11
Ví dụ về tag cloud (2)Nhận xét:
◦Một số cụm xuất hiện cùng nhau nhưng bị tách ra thành các n-gram khác nhau
◦Các cụm ngắn ít ý nghĩa◦Nhiều cụm ngắn gây mất tập trung
12
Ví dụ về tag cloud (2)<tagcloud><tag string="show truyền_hình_thực_tế"
count="4" /><tag string="tổ_chức trình_diễn thời_trang"
count="4"/><tag string="bộ_vi_xử_lý intel core 2 duo"
count="4"/><tag string="ngôi_nhà âm_nhạc" count="4"/><tag string="tìm_kiếm tài_năng" count="4"/><tag string="s got_talent" count="4""/><tag string="mở_rộng sân_chơi ca_hát"
count="3" /></tagcloud>
13
1. Giới thiệu2. Phát biểu bài toán3. Cây n-gram4. Giải quyết bài toán bằng cây n-
gram5. Thực nghiệm6. Hướng phát triển
14
Phát biểu bài toánĐầu vào: tập các câu S = {S1, S2,
…, SN}, số pĐầu ra: các bộ (g,c)
◦g : n-gram trong S (n ≥ p).◦c : số lần xuất hiện tương ứng.◦Ràng buộc: ghép tất cả các n-gram
luôn xuất hiện cùng nhau tạo thành n-gram dài hơn.
15
1. Giới thiệu2. Phát biểu bài toán3. Cây n-gram4. Giải quyết bài toán bằng cây n-
gram5. Thực nghiệm6. Hướng phát triển
16
Định nghĩaCho trước S và p, cây n-
gram T là cây:1. Tất cả các cạnh đều
có nhãn là một từ trong S.
2. Các cạnh xuất phát từ cùng một nút có nhãn không trùng nhau.
3. Các nhãn cạnh trên đường đi P từ gốc đến nút lá l ghép lại thành một n-gram của S (n ≥ p), ký hiệu g(l).
17
Định nghĩa
4. Trên một đường đi P từ gốc đến nút lá l, tất cả các n-gram (n ≥ p) có thể tạo thành đều có số lần xuất hiện bằng nhau trong S. Nút lá l được gán nhãn là số lần xuất hiện đó, ký hiệu c(l).
18
Định nghĩa
5. Nút lá l có liên kết (l’, x) nếu g(l’) = xg(l) (x là một từ nào đó) và c(l’) = c(l). Khi đó l’ có một liên kết ngược đến l.
6. Với mọi p-gram g’ của S, có thể tìm được nút lá l sao cho g’ ∈ prefix(g(l)) và countS(g’) = c(l).
Cây n-gram cho:S = “a b c. a b c. c d.”p = 2
20
Ý nghĩa
1. Cho một p-gram g bất kỳ, hỏi nó xuất hiện bao nhiêu lần trong S tìm đường đi bắt đầu bằng g.
2. Liệt kê tất cả các p-gram của S duyệt tất cả các đường đi từ gốc có độ dài p.
3. Giải bài toán ban đầu duyệt tất cả các đường đi từ gốc đến lá mà nút lá không có liên kết xuôi.
21
1. Giới thiệu2. Phát biểu bài toán3. Cây n-gram4. Giải quyết bài toán bằng cây
n-gram5. Thực nghiệm6. Hướng phát triển
22
Giải thuật xây dựng câyXuất phát từ một cây T rỗng (chỉ có
nút gốc), thêm từng câu Si vào T.Thêm từng hậu tố Si,j theo thứ tự
ngượcGiả sử tiền tố dài nhất của Si,j có thể tìm thấy
trong cây có độ dài m◦m < p : thêm đoạn còn lại vào cây◦m ≥ p :
Kết thúc ở nút lá: tăng nhãn lên 1 Ngược lại: cắt nhánh
23
Thêm cạnh (1)Tại bước k, xâu Si,k đã
tồn tại trong câyTại bước j (j < k), xâu
Si,j được thêm vào câyTa chỉ thêm đoạn
Si[j..k+p-2] vì p-gram Si[k..k+p-1] đã tồn tại
Gọi b là vị trí cuối đoạn sau mỗi bước không thêm cạnh, gán b=j+p-2
+ “a c d”
24
Thêm cạnh (2)Nếu thao tác thêm
cạnh được thực hiện hai lần liên tiếp, các nút lá mới được liên kết
Gọi l là nút lá được tạo sau mỗi bước:◦ Sau một bước
không thêm cạnh, l = nil
25
Tăng nhãn (1)Nếu từ đầu tiên
của bước tiếp theo bằng nhãn liên kết
tăng nhãn của nút được liên kết
+ “a b c d”+ “a b c d”+ “a b c d”
26
Tăng nhãn (2)Nếu từ đầu tiên
của bước tiếp theo khác nhãn liên kết
cắt nhánh đi một cạnh
+ “c d”
27
Cắt nhánh (1)Nếu từ đầu tiên
của bước tiếp theo bằng nhãn của liên kết
Cắt nhánh một đoạn bằng đoạn vừa cắt, liên kết lại
+ “a b c”+ “a b c”
28
Cắt nhánh (2)Nếu từ đầu tiên
của bước tiếp theo khác nhãn của liên kết
Cắt nhánh chứa các nút lá được liên kết
Độ dài đoạn cắt sao cho phần còn lại không chứa p-gram đã có = |g(l)|-p+1
+ “b c”
34
1. Giới thiệu2. Phát biểu bài toán3. Cây n-gram4. Giải quyết bài toán bằng cây n-
gram5. Thực nghiệm6. Hướng phát triển
35
Các bước thực hiện
1. Loại bỏ mã HTML2. Tách từ3. Loại bỏ stop word4. Đếm n-gram5. Trích ra 10 cụm xuất hiện nhiều
nhất
36
Cài đặt
C#.NetTích hợp vào hệ
thống ePi ORM
37
Thời gian tính
0 1000 2000 3000 4000 5000 6000 7000 80000
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
Thời gian tính theo số từ (s)
38
1. Giới thiệu2. Phát biểu bài toán3. Cây n-gram4. Giải quyết bài toán bằng cây n-
gram5. Thực nghiệm6. Hướng phát triển
39
Hướng phát triểnNhận xét: từ độ sâu p trở đi cây
không phân nhánh gộp thành một nút để tăng tốc
Tìm ra các ứng dụng mới của cây n-gram