Xây dựng tag cloud bằng cây n-gram

Preview:

DESCRIPTION

Mô tả về cây n-gram được sử dụng để tạo ra tag cloud cho một tập tài liệu.Có nhiều hoạt họa không được slideshare hỗ trợ :-(

Citation preview

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

Recommended