association rules pada text mining

59
ASSOCIATION RULES PADA TEXT MINING Budi Susanto versi 1.4 Text dan Web Mining - FTI UKDW - BUDI SUSANTO 1

Upload: vudat

Post on 12-Jan-2017

252 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Association Rules pada Text Mining

ASSOCIATION RULES

PADA TEXT MINING Budi Susanto

versi 1.4

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 1

Page 2: Association Rules pada Text Mining

Tujuan

• Memahami algoritma Apriori dan FP-Growth

• Memahami penerapannya pada penambangan dokumen

• Memamahmi algoritma GSP

• Memahami penerapannya pada penambangan dokumen

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 2

Page 3: Association Rules pada Text Mining

Pendahuluan

• Analisis aturan asosiasi merupakan tugas dasar pada

data mining.

• Tujuannya:

• Menemukan hubungan kemunculan bersamaan (asosiasi) diantara

item-item data.

• Aplikasi klasik yang menggunakan metode ini adalah

market basket data analysis.

• Tujuannya: menemukan bagaimana item-item barang yang dibeli

oleh pelanggan diasosiasikan.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 3

Page 4: Association Rules pada Text Mining

Pendahuluan

• Contoh:

• Sabun Mandi Pasta Gigi

• [support: 40%, confidence = 80%]

• 40% pelanggan membeli Sabun Mandi dan Pasta Gigi bersamaan

• 80% pelanggan membeli Sabun Mandi juga membeli Pasta Gigi.

• Dalam text mining, association rules dapat digunakan

untuk menemukan hubungan kemunculan kata.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 4

Page 5: Association Rules pada Text Mining

Konsep Dasar Association Rules

I = i1, i2,..., im{ }

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 5

Himpunan item

T = t1, t2,..., tn{ } Himpunan transaksi

Ti adalah himpunan item dimana ti Í I

Bentuk implikasi pada association rules:

X Y, dimana X Ì I,Y Ì I,XÇY = 0

Page 6: Association Rules pada Text Mining

Ukuran

• Support

• Seberapa sering aturan yang dihasilkan berlaku pada himpunan

transaksi T.

• Confidence

• Dilihat sebagai probabilitas kondisional terhadap aturan.

• Aturan yang terpilih adalah aturan yang memenuhi

minimum support dan minimum confidence

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 6

Page 7: Association Rules pada Text Mining

Contoh

• Terdapat himpunan transaksi I:

• Chicken, Clothes Milk [sup = 3/7, conf = 3/3]

• Clothes Milk, Chicken [sup = 3/7, conf = 3/3]

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 7

Page 8: Association Rules pada Text Mining

Algoritma Apriori

• Terdapat dua tahap utama:

• Hasilkan semua frequent itemsets (itemset yang memiliki support >

minsupport)

• Hasilkan semua aturan asosiasi dari frequent itemsets (confident >

minconfident)

• Jumat item dalam sebuah itemset ditentukan, k.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 8

Page 9: Association Rules pada Text Mining

Apriori: pembentukan itemset

• Apriori menganut prinsip downward closure property

• Jika sebuah itemset memiliki support minimum, maka setiap subset

non-empty dari itemset tersebut juga memiliki support minimum.

• Item-item dalam I, sudah dalam keadaan terurutkan

secara lexicographic order.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 9

Page 10: Association Rules pada Text Mining

Algoritma Apriori

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 10

Page 11: Association Rules pada Text Mining

Algoritma Apriori: pembentukan kandidat

itemset

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 11

Page 12: Association Rules pada Text Mining

Contoh: Data

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 12

TID Item-item

001 1,2,3,5

002 2,3,4

003 2,3,6

004 1,2,4

005 1,3,4,5

006 2,3,5

007 1,3

008 1,2,3,5

009 1,2,3

010 1,2,3,4,5

Min Support: 40%, dan Min Confident: 60%

Page 13: Association Rules pada Text Mining

Contoh: Kandidat 2-itemsets

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 13

C2 itemsets Support Count

{1, 2} 5

{1, 3} 6

{1, 4} 3

{1, 5} 4

{2, 3} 7

{2, 4} 3

{2, 5} 4

{3, 4} 3

{3, 5} 5

{4, 5} 2

Page 14: Association Rules pada Text Mining

Pruning 2-itemsets

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 14

C2 itemsets Support Count

{1, 2} 5

{1, 3} 6

{1, 5} 4

{2, 3} 7

{2, 5} 4

{3, 5} 5

Page 15: Association Rules pada Text Mining

Kandidat 3-itemsets

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 15

C3 itemsets Support Count

{1, 2, 3} 4

{1, 3, 5} 4

{2, 3, 5} 4

Page 16: Association Rules pada Text Mining

Pruning 3-itemsets

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 16

C3 itemsets Support Count

{1, 2, 3} 4

{1, 3, 5} 4

{2, 3, 5} 4

Page 17: Association Rules pada Text Mining

Algoritma: pembentukan rule

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 17

Page 18: Association Rules pada Text Mining

Contoh Pembentukan Rule

• Candidate Rule 1: • Rule1: {1,2} {3}

• Support: 4/10

• Confident: 4/5

• Rule 2: {1,3} {2}

• Support: 4/10

• Confident: 4/6

• Rule 3: {2,3} {1}

• Support: 4/10

• Confident: 4/7

• H1 = {{2}, {3}}, sehingga H2 = {2,3} • Rule 4: {1} {2,3}

• Support: 4/10

• Confident: 4/7

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 18

Page 19: Association Rules pada Text Mining

FP-Tree

• Menghasilkan frequent items tanpa perlu membuat

kandidat-kandidatnya.

• Kepadatan struktur tinggi

• Tidak perlu melakukan penelurusan database keseluruhan setiap

saat

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 19

Page 20: Association Rules pada Text Mining

FP-Tree: Algoritma

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 20

Page 21: Association Rules pada Text Mining

Contoh

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 21

Page 22: Association Rules pada Text Mining

Contoh

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 22

Item Support Count

3 9

2 8

1 7

5 5

4 4

6 1

Page 23: Association Rules pada Text Mining

Asosiasi untuk Kategori

• Metode asosiasi, seperti Apriori dan FP-Tree, tidak

memiliki sasaran pada klausa consequent.

• Klausa consequent ditentukan juga dari itemset dalam transaksi.

• Jika asosiasi dilakukan terhadap suatu consequent

dengan target tertentu, Y, maka metode yang digunakan

disebut sebagai class association rules.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 23

Page 24: Association Rules pada Text Mining

Asosiasi untuk Kategori

• T adalah himpunan transaksi sebanyak n.

• Setiap transaksi diberi label y.

• I adalah himpunan semua item dalam T, dan Y adalah

himpunan label class (target) dan I Y = θ.

• Sebuah Class Association rule (CAR) adalah bentuk

implikasi dari

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 24

X® y,X Ì I, yÎY

Ç

Page 25: Association Rules pada Text Mining

Contoh

I = {Student, Teach, School, City, Game, Baseball,

Basketball, Team, Coach, Player, Spectator}

Y = {Education, Sport}.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 25

Page 26: Association Rules pada Text Mining

Contoh

• Misal minsup = 20% dan minconf = 60%, maka:

• Student, School Education

• [sup= 2/7, conf = 2/2]

• Game Sport

• [sup= 2/7, conf = 2/3]

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 26

Page 27: Association Rules pada Text Mining

Pembangkit Rule

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 27

Page 28: Association Rules pada Text Mining

Contoh CAR

• F1: {({School}, Education):(3, 3), ({Student}, Education):(2, 2), ({Teach}, Education):(2, 2), ({Baseball}, Sport):(2, 2), ({Basketball}, Sport):(3, 3), ({Game}, Sport):(3, 2), ({Team}, Sport):(2, 2)}

• CAR1: • School Education [sup = 3/7, conf = 3/3]

• Student Education [sup = 2/7, conf = 2/2]

• Teach Education [sup = 2/7, conf = 2/2]

• Baseball Sport [sup = 2/7, conf = 2/2]

• Basketball Sport [sup = 3/7, conf = 3/3]

• Game Sport [sup = 2/7, conf = 2/3]

• Team Sport [sup = 2/7, conf = 2/2]

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 28

Page 29: Association Rules pada Text Mining

Contoh CAR

• C2: {

• ({School, Student}, Education),

• ({School, Teach}, Education),

• ({Student, Teach}, Education),

• ({Baseball, Basketball}, Sport),

• ({Baseball, Game}, Sport),

• ({Baseball, Team}, Sport),

• ({Basketball, Game}, Sport),

• ({Basketball, Team}, Sport),

• ({Game, Team}, Sport)

}

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 29

Page 30: Association Rules pada Text Mining

Contoh CAR

• F2: {

• ({School, Student}, Education):(2, 2),

• ({School, Teach}, Education):(2, 2),

• ({Game, Team}, Sport):(2, 2)

}

• CAR2:

• School, Student Education

• [sup = 2/7, conf = 2/2]

• School, Teach Education

• [sup = 2/7, conf = 2/2]

• Game, Team Sport

• [sup = 2/7, conf = 2/2]

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 30

Page 31: Association Rules pada Text Mining

Lift Ratio

• Jika suatu rule memiliki confidence tinggi, berarti rule

tersebut mencirikan aturan asosiasi yang kuat.

• Pemilihan rule berdasar confidence bisa menipu, sebab

jika (A)ntecedent/(C)onsequent memiliki support yang

tinggi, maka rule dapat memiliki confidence tinggi,

walaupun sebetulnya independen.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 31

Page 32: Association Rules pada Text Mining

Lift Ratio

• Ukuran yang lebih baik untuk mengukur kekuatan aturan

asosiasi adalah

• Membandingkan confidence rule dengan confidence yang

diharapkan.

• Kemunculan consequent itemset dalam transaksi bersifat independen

terhadap kemunculan antecedent tiap rulenya.

• Support consequent dibagi dengan jumlah transaksi.

• Expected confidence dari sebuah rule adalah perkalian

support antecedence dan consequence dibagi dengan

support dari antecedence.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 32

Page 33: Association Rules pada Text Mining

Lift Ratio

• Sebuah lift ratio > 1.0 menyatakan Ant dan Cons muncul

lebih sering dari yang diharapkan

• kemunculan rule Ant memiliki efek positif terhadap kemunculan

Cons

• Sebuah lift ratio < 1.0 menyatakan Ant dan Cons muncul

lebih jarang dari yang diharapkan

• kemunculan rule Ant memiliki efek negatif terhadap kemunculan

Cons

• Sebuah list ratio ≈ 1.0 menyatakan Ant dan Cons muncul

hampir selalu bersamaan seperti yang diharapkan

• kemunculan rule Ant hampir tidak memiliki pengaruh terhadap

kemunculan Cons

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 33

Page 34: Association Rules pada Text Mining

Lift Ratio

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 34

c AÞC( ) = P C | A( ) =s AÈC( )s A( )

c ' AÞC( ) =s(A)´ s(C)

s A( )

Page 35: Association Rules pada Text Mining

Contoh Lift Ratio

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 35

Page 36: Association Rules pada Text Mining

Contoh Lift Ratio

A C c(A) s(C) c(A U C) conf lift

{1,2} {5} 4 2/9 2 2/4 18/8

{1,5} {2} 2 7/9 2 2/2 9/7

{2,5} {1} 2 6/9 2 2/2 9/6

{1} {2,5} 6 2/9 2 2/6 9/6

{2} {1,5} 7 2/9 2 2/7 9/7

{5} {2,1} 2 4/9 2 2/2 9/4

{1,2} {3} 4 6/9 2 2/4 9/12

{1,3} {2} 4 7/9 2 2/4 18/28

{2,3} {1} 4 6/9 2 2/4 9/12

{1} {2,3} 6 4/9 2 2/6 9/12

{2} {1,3} 7 4/9 2 2/7 9/14

{3} {1,2} 6 4/9 2 2/6 9/12

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 36

Page 37: Association Rules pada Text Mining

SEQUENCE PATTERN

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 37

Page 38: Association Rules pada Text Mining

Sequential Pattern Mining

• Diberikan sebuah himpunan sequential, temukan

himpunan lengkap dari frequent subsequences.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 38

Database

Sebuah sequence : < (ef) (ab) (df) c b >

An element may contain a set of items.

Items within an element are unordered

and we list them alphabetically.

<a(bc)dc> sebuah subsequence

dari <a(abc)(ac)d(cf)>

Diberikan min_sup =2, <(ab)c> adalah sebuah

sequential pattern

SID sequence

10 <a(abc)(ac)d(cf)>

20 <(ad)c(bc)(ae)>

30 <(ef)(ab)(df)cb>

40 <eg(af)cbc>

Page 39: Association Rules pada Text Mining

Tantangan Sequental Pattern Mining

• Sejumlah besar pola sekuensial tersembunyi dalam

database.

• Sebuah algoritma mining harus

• Menemukan himpulan pola-pola lengkap, yang memenuhi ambang

batas minimum support (frekuensi).

• Harus efisien, scalable, melibatkan hanya sejumlah kecil

penelurusan database.

• Mampu dikaitkan dengan berbagai macam user-specific constraint.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 39

Page 40: Association Rules pada Text Mining

Konsep Sequence Pattern

• Association Rule tidak memperhatikan urutan dari

transaksi.

• I = {i1, i2, ..., im} adalah himpunan item

• Sebuah sequence adalah daftar urutan dari itemset.

• X ⊆ I, dimana X adalah itemset.

• s =<a1a2...ar>, ai adalah sebuah itemset (elemen dari s).

• ai = {x1, x2, ..., xk}, dimana xj ∈ I adalah item.

• Sebuah item hanya dapat muncul sekali dalam suatu sequence.

• Ukuran suatu sequence adalah jumlah itemset dalam sequence

• Panjang suatu sequence adalah jumlah item dalam suquence.

• k-sequence adalah sequence dengan panjang k.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 40

Page 41: Association Rules pada Text Mining

Konsep Sequence Pattern

• s1 = <a1a2...ar> adalah sebuah subsequence s2 =

<b1b2...bv>, atau s2 adalah supersequence dari s1, jika

terdapat integer 1≤j1 <j2 <...<jr-1<jr ≤ v sehinga a1

⊆ bj, a2 ⊆ bj, ..., ar ⊆ bjr.

• Kita juga mengatakan s2 berisi s1.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 41

Page 42: Association Rules pada Text Mining

Konsep Sequence Pattern

• c adalah subsequence dari s jika memenuhi salah satu

kondisi berikut:

• c diturunkan dari s dengan membuang sebuah item dari salah satu

sequence baik s1 atau sn.

• c diturunkan dari s dengan membuang sebuah item dari sebuah

elemen sj yang memiliki minimum 2 item.

• c adalah contiguous subsequence dari ċ dan ċ adalah contiguous

subsequence dari s.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 42

Page 43: Association Rules pada Text Mining

Contoh

• I = {1, 2, 3, 4, 5, 6, 7, 8, 9}

• s1 = <{3}{4, 5}{8}>

• Ukuran = 3

• Panjang = 4

• s2 = <{6} {3, 7}{9}{4, 5, 8}{3, 8}>

• s1 subsequence s2 karena

• {3} ⊆ {3, 7}, {4, 5} ⊆ {4, 5, 8}, dan {8} ⊆ {3, 8}

• Sedangkan <{3}{8}> bukan subsequence <{3, 8}>,

demikian juga sebaliknya.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 43

Page 44: Association Rules pada Text Mining

Contoh

SID sequence

10 <a(abc)(ac)d(cf)>

20 <(ad)c(bc)(ae)>

30 <(ef)(ab)(df)cb>

40 <eg(af)cbc>

• Bagaimana dengan:

• <a(bc)dc>

• <(ab)c>

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 44

Data sequence Subsequence Contain?

< {2,4} {3,5,6} {8} > < {2} {3,5} > Yes

< {1,2} {3,4} > < {1} {2} > No

< {2,4} {2,4} {2,5} > < {2} {4} > Yes

Page 45: Association Rules pada Text Mining

Contoh

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 45

Minsup = 50%

Examples of Frequent Subsequences:

< {1,2} > s=60%

< {2,3} > s=60%

< {2,4}> s=80%

< {3} {5}> s=80%

< {1} {2} > s=80%

< {2} {2} > s=60%

< {1} {2,3} > s=60%

< {2} {2,3} > s=60%

< {1,2} {2,3} > s=60%

Object Timestamp Events

A 1 1,2,4

A 2 2,3

A 3 5

B 1 1,2

B 2 2,3,4

C 1 1, 2

C 2 2,3,4

C 3 2,4,5

D 1 2

D 2 3, 4

D 3 4, 5

E 1 1, 3

E 2 2, 4, 5

Page 46: Association Rules pada Text Mining

GSP

• Generalized Sequential Patterns: Srikant & Agrawal @

EDBT’96

• Berdasar algoritma Apriori (Agrawal & Sirkant’94)

• Jika sebuah sequence S bukan frekuen,

• Maka tidak ada super-sequences dari S adalah frekuen.

• Contoh:

• <hb> adalah infrequent, maka

• <hab> dan <(ah)b>

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 46

Page 47: Association Rules pada Text Mining

GSP

• Outline dari metode GSP:

• Inisialisasi, setiap item dalam DB sebagai sebuah kandidat length-

1.

• Untuk setiap level (sequence length-k)

• Scan database untuk mengumpulkan support count untuk setiap

kandidat sequence.

• Hasilkan kandidat length-(k+1) sequence dari length-k frequent

sequence menggunakan Apriori.

• Ulangi sampai tidak ada frekuen sequence atau tidak ada lagi

kandidat yang ditemukan.

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 47

Page 48: Association Rules pada Text Mining

Algoritma GSP

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 48

Page 49: Association Rules pada Text Mining

candidate-gen-SPM(Fk-1)

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 49

Page 50: Association Rules pada Text Mining

Contoh candidate-gen-SPM()

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 50

Page 51: Association Rules pada Text Mining

Contoh GSP

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 51

<a(bd)bcb(ade)> 50

<(be)(ce)d> 40

<(ah)(bf)abf> 30

<(bf)(ce)b(fg)> 20

<(bd)cb(ac)> 10

Sequence Seq. ID

min_sup =2 Cand Sup

<a> 3

<b> 5

<c> 4

<d> 3

<e> 3

<f> 2

<g> 1

<h> 1

Page 52: Association Rules pada Text Mining

GSP - Kandidat Length-2

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 52

<a> <b> <c> <d> <e> <f>

<a> <aa> <ab> <ac> <ad> <ae> <af>

<b> <ba> <bb> <bc> <bd> <be> <bf>

<c> <ca> <cb> <cc> <cd> <ce> <cf>

<d> <da> <db> <dc> <dd> <de> <df>

<e> <ea> <eb> <ec> <ed> <ee> <ef>

<f> <fa> <fb> <fc> <fd> <fe> <ff>

<a> <b> <c> <d> <e> <f>

<a> <(ab)> <(ac)> <(ad)> <(ae)> <(af)>

<b> <(bc)> <(bd)> <(be)> <(bf)>

<c> <(cd)> <(ce)> <(cf)>

<d> <(de)> <(df)>

<e> <(ef)>

<f>

Page 53: Association Rules pada Text Mining

Proses GSP

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 53

<a> <b> <c> <d> <e> <f> <g> <h>

<aa> <ab> … <af> <ba> <bb> … <ff> <(ab)> … <(ef)>

<abb> <aab> <aba> <baa> <bab> …

<abba> <(bd)bc> …

<(bd)cba>

1st scan: 8 cand. 6 length-1 seq.

pat.

2nd scan: 51 cand. 19 length-2 seq.

pat. 10 cand. not in DB at all

3rd scan: 46 cand. 19 length-3 seq.

pat. 20 cand. not in DB at all

4th scan: 8 cand. 6 length-4 seq.

pat.

5th scan: 1 cand. 1 length-5 seq.

pat.

Cand. cannot

pass sup.

threshold Cand. not in DB at all

<a(bd)bcb(ade)> 50

<(be)(ce)d> 40

<(ah)(bf)abf> 30

<(bf)(ce)b(fg)> 20

<(bd)cb(ac)> 10

Sequence Seq. ID

min_sup =2

Page 54: Association Rules pada Text Mining

Contoh Transaksi

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 54

Page 55: Association Rules pada Text Mining

Contoh Sequence

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 55

Page 56: Association Rules pada Text Mining

Contoh Pola Sequence

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 56

Page 57: Association Rules pada Text Mining

SPADE

• SPADE (Sequential PAttern Discovery using Equivalent

Class) dikembangkan oleh Zaki 2001

• Sebuah metode format vertikal sequential pattern mining

• Sebuah sequence database dipetakan ke suatu

himpunan dari

• Item: <SID, EID>

• Sequential pattern mining dikerjakan dengan

• Menumbuhkan subsequences (patterns) satu item pada satu waktu

dengan menggunakan Apriori candidate generation

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 57

Page 58: Association Rules pada Text Mining

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 58

Page 59: Association Rules pada Text Mining

TERIMA KASIH. Akhir pertemuan #4

Text dan Web Mining - FTI UKDW - BUDI SUSANTO 59