Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca...

78
Text Mining I Lingu´ ıstica computacional e processamento de linguagem natural I Aprendizado de m´ aquina I Estat´ ıstica I Estruturas de dados eficientes

Transcript of Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca...

Page 1: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Text Mining

I Linguıstica computacional e processamento de linguagemnatural

I Aprendizado de maquina

I Estatıstica

I Estruturas de dados eficientes

Page 2: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Problemas em mineracao de dados

I Estruturas de dados compactas e de acesso rapidoI Construcao distribuıda de ındices invertidos

I Coleta de documentosI Deteccao de SPAM e duplicatasI Crawling na web

I Interface de busca e exploracao de colecoes de documentosI Agrupamento e classificacao

I Recuperacao e ordenacao de documentosI Aprendizado de Ranking

I Modelagem/representacao de texto

I Algoritmos eficientes e eficazes para grande dimensionalidadeI Reconhecimento de topicos

I Analise de sentimentos

Page 3: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Em 2006:

Em 2012: 2.8 ZB (2.8 bilhoes de terabytes) de dados (Fonte: IDC)

Page 4: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Organizacao da disciplina Introducao Indice invertido Processamento de consultas booleanas

Criar listas de ındices, determinar frequencia dedocumentos

termo docIDambicioso 2assim 2brutus 1brutus 2capitolio 1com 2cesar 1cesar 2cesar 2disse 2encenei 1era 2eu 1eu 1fui 1julio 1matou 1me 1morto 1no 1nobre 2o 2que 2que 2seja 2vos 2

=⇒

termo doc.freq → listas de ındices

ambicioso 1 → 2

assim 1 → 2

brutus 2 → 1 → 2

capitolio 1 → 1

cesar 2 → 1 → 2

disse 1 → 2

encenei 1 → 1

era 1 → 2

eu 2 → 1 → 2

fui 1 → 1

julio 1 → 1

matou 1 → 1

me 1 → 1

morto 1 → 1

no 1 → 1

nobre 1 → 2

o 1 → 2

que 1 → 2

seja 1 → 2

vos 1 → 2

Recuperacao booleana 27 / 37

Page 5: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Organizacao da disciplina Introducao Indice invertido Processamento de consultas booleanas

Algoritmo otimizado para inteseccao de consultasconjuntivas

Interseccao(〈t1, . . . , tn〉)1 termos ← OrdenarPorFrequenciaCrescente(〈t1, . . . , tn〉)2 resultado ← referencias(primeiro(termos))3 termos ← resto(termos)4 while termos 6= nil and resultado 6= nil5 do6 lista← referencias(primeiro(termos))7 resultado ← Interseccao(resultado, lista)8 termos ← resto(termos)9 return resultado

Como fazer quando existe OR ? Como fazer quando existe NOT ?

Recuperacao booleana 34 / 37

Page 6: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Documentos Termos Consulta de expressoes

Japones

����������� �����������������

��� !"#!"$% &� '()*+,-./01*��

2 345678 ',9:�;<;=�>?@ABCD�.EF

79:�;<;=*GH+IJ+;�K*L,MNO@PQ�RS

T�U�VWWXYZ'[\O@*�,] ^<_`,�a5b,c

<d�ef+gWhiW.@jOklmno�;Bp��qO6,

rWstuv'wxy*Rz{|i}'~����N@AB

4 “alfabetos” diferentes: caracteres chineses; sılabas hiragana parasufixos de inflexao e palavras de funcao; sılabas do katakana paratranscricao de palavras estrangeiras e outros usos; e caracteresromanos. Sem espacos.

Recuperacao booleana 19 / 45

Page 7: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Documentos Termos Consulta de expressoes

Stop words (palavras de parada)

stop words = palavras extremamente comuns e de poucovalor para selecionar documentos para o usuario

exemplos: a, an, and, are, as, at, be, by, for, from, has, he, in,is, it, its, of, on, that, the, to, was, were, will, com

um, uns, o, a, os, as, que, se, para, de, sobre, . . .

Eliminacao de stop words costumava ser padrao em ORIantigos

Mas sao necessarias em consultas como: e.g. “Rei daEspanha”

Recuperacao booleana 25 / 45

Page 8: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Documentos Termos Consulta de expressoes

Tres stemmers: comparacao

Amostra de texto: Such an analysis can reveal features that are not easilyvisible from the variations in the individual genes and canlead to a picture of expression that is more biologicallytransparent and accessible to interpretation

Stemmer de Porter: such an analysi can reveal featur that ar not easilivisibl from the variat in the individu gene and can lead to apictur of express that is more biolog transpar and access tointerpret

Stemmer de Lovins: such an analys can reve featur that ar not eas visfrom th vari in th individu gen and can lead to a pictur ofexpres that is mor biolog transpar and acces to interpres

Stemmer de Paice: such an analys can rev feat that are not easy vis fromthe vary in the individ gen and can lead to a pict of expressthat is mor biolog transp and access to interpret

Recuperacao booleana 31 / 45

Page 9: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Documentos Termos Consulta de expressoes

Exemplo: ındices posicionais

Consulta: “to1 be2”to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Recuperacao booleana 39 / 45

Page 10: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Documentos Termos Consulta de expressoes

Interseccao de “proximidade”

InterseccaoPosicional(p1, p2, k)1 resultado ← 〈 〉2 while p1 6= nil e p2 6= nil3 do if docID(p1) = docID(p2)4 then l ← 〈 〉5 pp1 ← posicoes(p1)6 pp2 ← posicoes(p2)7 while pp1 6= nil8 do while pp2 6= nil9 do if |pos(pp1)− pos(pp2)| ≤ k

10 then Adicionar(l , pos(pp2))11 else if pos(pp2) > pos(pp1)12 then interromper13 pp2 ← proximo(pp2)14 while l 6= 〈 〉 e |l [0]− pos(pp1)| > k15 do Remove(l [0])16 for each ps ∈ l17 do Adicionar(resultado, 〈docID(p1), pos(pp1), ps〉)18 pp1 ← proximo(pp1)19 p1 ← proximo(p1)20 p2 ← proximo(p2)21 else if docID(p1) < docID(p2)22 then p1 ← proximo(p1)23 else p2 ← proximo(p2)24 return resposta

Recuperacao booleana 42 / 45

Page 11: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Permuterm → termo mapeado

Recuperacao booleana 24 / 1

Page 12: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Distancia de Levenshtein

distanciaLevenshtein(s1, s2)1 for i ← 0 to |s1|2 do m[i , 0] = i3 for j ← 0 to |s2|4 do m[0, j ] = j5 for i ← 1 to |s1|6 do for j ← 1 to |s2|7 do if s1[i ] = s2[j ]8 then m[i , j ] = min{m[i-1, j ]+1,m[i , j-1]+1,m[i-1, j-1]}9 else m[i , j ] = min{m[i-1, j ]+1,m[i , j-1]+1,m[i-1, j-1]+1}10 return m[|s1|, |s2|]

operacoes: insercao (custo 1), remocao (custo 1), substituicao(custo 1), copia (custo 0)

Recuperacao booleana 44 / 1

Page 13: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

c a t c a t

0 1 1 2 2 3 3 4 4 5 5 6 6

c11

0 2

2 02 3

1 13 4

2 23 5

3 35 6

4 46 7

5 5

a22

2 13 1

0 2

2 02 3

1 13 4

2 23 5

3 35 6

4 4

t33

3 24 2

2 13 1

0 2

2 02 3

1 13 4

2 23 5

3 3

custo operacao entrada saıda

0 (copia) c c

0 (copia) a a

0 (copia) t t

1 insercao * c

1 insercao * a

1 insercao * t

Recuperacao booleana 95 / 1

Page 14: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Exemplo: Soundex de HERMAN

Reter H

ERMAN → 0RM0N

0RM0N → 06505

06505 → 06505

06505 → 655

Retornar H655

Note: HERMANN gerara o mesmo codigo

Recuperacao booleana 106 / 1

Page 15: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

■♥�r♦❞✁✂❝⑦❛♦ ❆❧✄♦r✐�♠♦ ❇❙❇■ ❆❧✄♦r✐�♠♦ ❙P■▼■ ■♥❞☎①❛✂❝⑦❛♦ ❞✐✆�r✐✝✁✓✏❞❛ ■♥❞☎①❛✂❝⑦❛♦ ❞✐♥❫❛♠✐❝❛

✞✟✠❡✡☛✘☞✌☛✍ ❜☛s❡☛✠☛ ❡✎ ❜✑✍☞✍s ✍✒✠❡✟☛✠✍s

✔✕✖✗✙✚✛✜✢✚✣ ✤✚✥✗✚✖✚ ✗✦ ✤✧✣✜✣✥ ✣★✖✗✕✚✖✣✥ ❂ ✩✧✣✜❦✗✖ ✪✣★t✲✩✚✥✗✖ ✔✕✖✗✙✫✕❣ ✭✩✪✩✔✮

✬✯✬✰✱✳✴✵✶✷✱✸✹✺✉✻✹✼✷✱✽✾

✿ ❀ ❁ ❃

❄ ✇❤❅❈❉ ✽❊❋●❋❍ ●❋❏❑▲◆❖❊❋❍ ❖◗❘❋ ❢❋❚❘▲ ♣❚❋❏◆❍❍❘●❋❍✾

❯ ❱❲ ❀ ❁ ❀ ❳ ✿

❨ ❩❬❭❪❭ ❁ ❴✺✷✻✴✸✸❵✺❴✺✷✵✼❥✷✬q✷✻✷✽✾

✈ ✬✯✬✰②✰✱③✴✺✹✽❩❬❭❪❭✾

④ ⑤✸✻✺✴③✴✺✬q✷✻✷❴❵✺❵⑥✼✸✻✷✽❩❬❭❪⑧⑨ ⑩❶✾

❷ ❸✴✺❹✴②✬q✷✻✷✸✽⑩❺⑨ ❻ ❻ ❻ ⑨ ⑩❶❼ ⑩ ❽❾❿➀➁➂✾

➃♦♥✆�r✁✂❝⑦❛♦ ❞☎ ✓■♥❞✐❝☎✆ ➄➅ ➆ ➇➈

Page 16: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

■♥�r♦❞✁✂❝⑦❛♦ ❆❧✄♦r✐�♠♦ ❇❙❇■ ❆❧✄♦r✐�♠♦ ❙P■▼■ ■♥❞☎①❛✂❝⑦❛♦ ❞✐✆�r✐✝✁✓✏❞❛ ■♥❞☎①❛✂❝⑦❛♦ ❞✐♥❫❛♠✐❝❛

✞✟✠✡✠☛✠☞✈❡✌t

✍✎✑✒✑✲✑✔✕✖✗✘✭✙✉✚✛ ✜✢ ✣✛✤✢✥s✮✶ ✦✧q✉★✩✛ s✦★✜✦ ✪ ◆✖✇❋✫✬✖✭✮✷ ✜★✯★✛✥✦✧★✛ ✪ ◆✖✇❍✰✱❤✭✮✸ ✳✴✵✹✺ ✭✻✼✻✽✾✿❀❁ ❂❀❃✿✼ ❄❀❅♣✾❈❀❃✼❂✮❉ ❊● ✣✛✤✢✥ ✪ ✥✢✚✣✭✙✉✚✛ ✜✢ ✣✛✤✢✥s✮❏ ✵❢ ✣✢✧❑✛✭✣✛✤✢✥✮ ▲❖ ✜★✯★✛✥✦✧★✛◗ ❘✴✺❚ ❯★s✣✦ ✜✢ ✧✢❱✢✧✢✥✯★✦s ✪ ❲❳❳❨❩❬✫❭✘✫❩✔✰✗②✭✜★✯★✛✥✦✧★✛❪✣✢✧❑✛✭✣✛✤✢✥✮✮❴ ✺✹❵✺ ❯★s✣✦ ✜✢ ✧✢❱✢✧✢✥✯★✦s ✪ ❜✖✘✎❩✱✘✫✔❣✱❥✫✱✘✭✜★✯★✛✥✦✧★✛❪✣✢✧❑✛✭✣✛✤✢✥✮✮❦ ✵❢ ✢s✣✦ ✯③✢★✦✭❯★s✣✦ ✜✢ ✧✢❱✢✧✢✥✯★✦s✮④ ❘✴✺❚ ❯★s✣✦ ✜✢ ✧✢❱✢✧✢✥✯★✦s ✪ ❬❩⑤⑥✬✖✎❩✱✘✫✔❣✱❥✫✱✘✭✜★✯★✛✥✦✧★✛❪✣✢✧❑✛✭✣✛✤✢✥✮✮✶⑧ ❲❳❳❨❩✎❩✱✘✫✔❣✱❥✫✱✘✭❯★s✣✦ ✜✢ ✧✢❱✢✧✢✥✯★✦s❪✜✛✯⑨⑩✭✣✛✤✢✥✮✮✶✶ ✣✢✧❑✛s ✛✧✜✢✥✦✜✛s ✪ ❶✗❳✖✔✰✗❨✖✗❷❩✱✭✜★✯★✛✥✦✧★✛✮✶✷ ❸✱❭✗✖✕✖✗❹✬❩❭❩❸❷❬✫✱❭❩✭✣✢✧❑✛s ✛✧✜✢✥✦✜✛s❪✜★✯★✛✥✦✧★✛❪✦✧q✉★✩✛ s✦★✜✦✮✶✸ ❺✺❘❻❺❚ ✦✧q✉★✩✛ s✦★✜✦

❼❽❾❿➀➁❾➂➃➄➁➅➂➁❾ ➆ ♣✼➇❁✿ ❂❀❅➈❁ ❄✼ ✿✼➉✼✿➊✼❈➋❀❁❅ ❄✼ ➌✻ ➈✼✿✻✾ ❁❅❅✾➋❀❁❄✾ ❁ ➌✻ ➈✾➍✼❈❈✾ ❄❀➋❀✾❈✽❁✿❀✾

➎♦♥✆�r✁✂❝⑦❛♦ ❞☎ ✓■♥❞✐❝☎✆ ➏➏ ➐ ➑➒

Page 17: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

■♥�r♦❞✁✂❝⑦❛♦ ❆❧✄♦r✐�♠♦ ❇❙❇■ ❆❧✄♦r✐�♠♦ ❙P■▼■ ■♥❞☎①❛✂❝⑦❛♦ ❞✐✆�r✐✝✁✓✏❞❛ ■♥❞☎①❛✂❝⑦❛♦ ❞✐♥❫❛♠✐❝❛

❈✞✟✠✡❤☛ ☞☛s ☞✞☞☛s

✌✍✎t❡✑

♣✍✑✎❡✑

✎♣✒✔t✎

♣✍✑✎❡✑

♣✍✑✎❡✑

✔✕✈❡ ✑t❡✑

✔✕✈❡ ✑t❡✑

✔✕✈❡ ✑t❡✑

✍✲ ❢

❣✲♣

q ✲③

✍✲ ❢ ❣✲♣ q ✲③

✍✲ ❢ ❣✲♣ q ✲③

✍✲ ❢ ❣✲♣ q ✲③

atribuir atribuirreferências

fasereduzir

fasemapear

arquivos desegmentos

✖♦♥✆�r✁✂❝⑦❛♦ ❞☎ ✓■♥❞✐❝☎✆ ✸✶ ✴ ✸✾

Page 18: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

■♥�r♦❞✁✂❝⑦❛♦ ❆❧✄♦r✐�♠♦ ❇❙❇■ ❆❧✄♦r✐�♠♦ ❙P■▼■ ■♥❞☎①❛✂❝⑦❛♦ ❞✐✆�r✐✝✁✓✏❞❛ ■♥❞☎①❛✂❝⑦❛♦ ❞✐♥❫❛♠✐❝❛

✞✟✠❜✡❡☛☞s ✌✠☛ ✍✎✑✒✔✌❡s ☞✉✕✔✡✔☞✟ ❡ ♣✟✔✑✌✔♣☞✡

❏✖✗✘✙✚✛✜✢ ❢✣✜q✖✜✗t✜✢

❉✜✢✜✤✥✜✗❤✛ ✦✜ ✧✖✢✙★ ✣✖✩✤ ✦✖✣★✗t✜ ❥✖✗✘✙✚★✛ ✦✜ ✪✫✗✦✩✙✜

◆★ ✈✜✣✦★✦✜✿

✬✭✮✯✰✱✲✳ ✴✵ ✶✷✮✴✸✰✵ ✲✭✹✸✺✸✲✻ ✮✳ ✶✷✮✴✸✰✵ ✼✻✸✮✰✸✼✲✺ ✮✱✲✳ ✶✵ ✽✭✸✾✳✰✭❀✾✳❀✳ ❀✵ ✽✲✮✾✵✻✽✳❀ ✭✽ ✲✻❁✭✸❂✳ ❀✵✼✲✻✲✴✳ ✼✲✻✲ ✰✲✴✲ ✺✸❀✾✲ ✴✵✻✵❃✵✻❄✵✮✰✸✲❀✬✭✮✯✰✱✲✳ ✶✵ ✳ ✽✵❀✽✳ ❁✭✵ ✭✽ ❀✸✽✼✺✵❀ ✸✮❀✵✻✯✰✱✲✳ ✮✳ ✲✻❁✭✸❂✳❅✲❀ ✾✵✻✶✷✲✽✳❀ ✽✭✸✾✳❀ ✲✻❁✭✸❂✳❀ ④ ✸✮✵❈✰✸✵✮✾✵

◆★ ✣✜★❊✩✦★✦✜❋ ✖✢★✣ ✖✤ ✜✢q✖✜✤★ ✜✗t✣✜ ★✢ ✦✖★✢ ✢✩t✖★✘✙✚✛✜✢✿ ✥✛✣

✜●✜✤✥❊✛❋ ✦✩✈✩✦✩✣ ❊✩✢t★✢ ✦✜ ✣✜❢✜✣❍✜✗✙✩★ ✤✖✩t✛ ❣✣★✗✦✜✢ ✜✤ ✈✪★✣✩✛✢

★✣q✖✩✈✛✢❋ ❥✖✗t★✢ ✥✜q✖✜✗★✢ ❊✩✢t★✢ ✦✜ ✣✜❢✜✣❍✜✗✙✩★✢ ✜✤ ✖✤ ★✣q✖✩✈✛

✢✪✛

❑♦♥✆�r✁✂❝⑦❛♦ ❞☎ ✓■♥❞✐❝☎✆ ▲❖ ◗ ▲❘

Page 19: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

P❡s♦ t❢✲✐❞❢

■ ❖ ♣�✁✂ ✄☎✆✝✞☎ ✞� ✉♠ ✄�r♠✂ ✓� ✂ ✟✠✡☛☞✌✡ ☛✍ ✟✍✎✡ ✌✏ ✍ ✎✍☞

✟✍✎✡ ✑☛✏✳

✇✒❀✔ ❂ ✭✶ ✰ ❧✂❣ ✄☎✒❀✔ ✮ ✕ ❧✂❣◆

✞☎✒

■ ♣�✁✂ ✄☎

■ ♣�✁✂ ✝✞☎

■ ❊✁q✉�♠❛ ❜❛✁✄❛♥✄� ❝✂♥❤�❝✝✞✂ �♠ ❘✖✳

■ ❖✉✄r✂✁ ♥✂♠�✁✿ ✄☎✳✝✞☎✱ ✄☎ ① ✝✞☎

✷✹✴✗

Page 20: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

❙✐♠✐❧❛r✐❞❛❞❡ ❝♦s❡♥♦ ❡♥tr❡ ❝♦♥s✉❧t❛ ❡ ❞♦❝✉♠❡♥t♦

�✁✂✭⑦q❀ ⑦✄✮ ❂ ☎✆✝✭⑦q❀ ⑦✄✮ ❂⑦q ✞ ⑦✄

❥⑦q❥❥⑦✄❥❂

P✟❱ ✟✠✡✶ q✠ ✄✠☛

P✟❱ ✟✠✡✶ q

✷✠

☛P✟❱ ✟

✠✡✶ ✄✷✠

■ q✠ ✓☞ ✁ ♣☞✂✁ ✌❢✲✍✎❢ ✎✁ ✌☞✏✑✁ ✒ ✔✕ �✁✔✂✖✗✌✕✳

■ ✄✠ ✓☞ ✁ ♣☞✂✁ ✌❢✲✍✎❢ ✎✁ ✌☞✏✑✁ ✒ ✔✁ ✎✁�✖✑☞✔✌✁✳

■ ❥⑦q❥ ☞ ❥⑦✄❥ ✂✘✕✁ ✕✂ ✑✕❣✔✍✌✖✎☞✂ ✎☞ ⑦q ☞ ⑦✄✳

■ ❊✂✌✕ ✓☞ ✕ ✂✍✑✍✗✕✏✍✎✕✎☞ ✙✚✛✜✢✚ ☞✔✌✏☞ ⑦q ☞ ⑦✄ ✳ ✳ ✳ ✳ ✳ ✳ ✁✖✱ ✎☞

✑✕✔☞✍✏✕ ☞✣✖✍✈✕✗☞✔✌☞✱ ✁ �✁✂☞✔✁ ✎✁ ❫✕✔❣✖✗✁ ☞✔✌✏☞ ⑦q ☞ ⑦✄✳

✸✽✴✤

Page 21: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

❈♦♠♣✉t❛♥❞♦ ❛ ♣♦♥t✉❛✘❝⑦❛♦ ❝♦ss❡♥♦

P�✁✂✄☎✆☎�✝�✞✞✟✁�✭q✮

✶ ✌✠✡☛ ☞✠✍☛✎✡✏✡✠❬◆❪ ❂ ✵ ✴✴ ✑✒✓✔✕✖✗✖✒ ✙✚ ✗✖✙✖ ✙✒✗✕✛✚✓✔✒

✷ ✌✠✡☛ ❚✡✜✡✍❤✠❬◆❪ ✴✴ ✔✖✛✖✓✢✒ ✙✚ ✗✖✙✖ ✙✒✗✕✛✚✓✔✒

✸ ❢✣r ✤✥✦✧ ✔✚★✛✒ ✗✒✓✩✕❧✔✖ ☛

✹ ✪✣ ✗✖❧✗✕❧✖★ ✇✫❀✬ ✚ ✒❜✔✚★ ❧✐✩✔✖ ✙✚ ★✚✯✚★❫✚✓✗✐✖✩ ✑✖★✖ ☛

✺ ❢✣r ✤✥✦✧ ✑✖★✭✰✱ ✔✯✫❀✲ ✮ ✓✖ ❧✐✩✔✖ ✙✚ ★✚✯✚★❫✚✓✗✐✖✩

✻ ✪✣ ☞✠✍☛✎✡✏✡✠❬✰❪✳ ❂ ✇✫❀✲ ✼ ✇✫❀✬✽ ❢✣r ✤✥✦✧ ✰

✾ ✪✣ ✴✴ ✓✒★✛✖❧✐③✖✿✗❁✖✒

❃ ☞✠✍☛✎✡✏✡✠❬✰❪ ❂ ☞✠✍☛✎✡✏✡✠❬✰❪❄❚✡✜✡✍❤✠❬✰❪

✶✵ r✤❅❆r❇ ❉✒✑ ❑ ✗✒✛✑✒✓✚✓✔✚✩ ✙✖ ☞✠✍☛✎✡✏✡✠❬❪

❊❋●❍

Page 22: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible
Page 23: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible
Page 24: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible
Page 25: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Ranking Similaridade cosseno Implementacao de ranking Um sistema de busca completo

Indices em camadas

Tier 1

Tier 2

Tier 3

auto

best

car

insurance

auto

auto

best

car

car

insurance

insurance

best

Doc2

Doc1

Doc2

Doc1

Doc3

Doc3

Doc3

Doc1

Doc2

40/44

Page 26: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Ranking Similaridade cosseno Implementacao de ranking Um sistema de busca completo

Um sistema de busca completo

44/44

Page 27: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

▼♦t✐�❛✘❝⑦❛♦ ❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛✿ ❜✓❛s✐❝♦ ❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛✿ ❞❡t❛❧✁❡s ❊①♣❛♥s⑦❛♦ ❞❡ ❝♦♥s✉❧t❛

✂✄☎✆✝✞✆ ✟✆ ✠✡✠☛☞✝✌✆✍ ✡✄✎✄✏✌✆✞☞✝ ✆ q✠✄ ☛✄ ✝✄✎✄✈☞✞☎✄

❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛ ❡ ❡①♣❛♥s⑦❛♦ ❞❡ ❝♦♥s✉❧t❛s ✶✸ ✴ ✹✵

Page 28: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

▼♦t✐�❛✘❝⑦❛♦ ❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛✿ ❜✓❛s✐❝♦ ❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛✿ ❞❡t❛❧✁❡s ❊①♣❛♥s⑦❛♦ ❞❡ ❝♦♥s✉❧t❛

✂✄☎✆✝✞✟✠✡☎ ✟☛☞✡☎ ✌✄✞✡✌✍✡ ✠✄ ✌✄✝✄✈✎✟✍✏✑✟

❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛ ❡ ❡①♣❛♥s⑦❛♦ ❞❡ ❝♦♥s✉❧t❛s ✶✹ ✴ ✹✵

Page 29: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

▼♦t✐�❛✘❝⑦❛♦ ❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛✿ ❜✓❛s✐❝♦ ❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛✿ ❞❡t❛❧✁❡s ❊①♣❛♥s⑦❛♦ ❞❡ ❝♦♥s✉❧t❛

❆✂❣✄☎✆✝♠✄ ✞✟ ✠✄✡✡❤✆✄

❖ ✈☛☞✌✍ ✎✌☞✏✑✌ ✒☛ ✔✌✕✖✗✙☞✚ ✎☛✛

✜q✢✣✤ ❂ ✥✭❉✦ ✮ ✰ ❬✥✭❉✦ ✮ ✧ ✥✭❉★✦ ✮❪

❂✶

❥❉✦ ❥

✩✪✫✷✬✯

✜✱✲ ✰ ❬✶

❥❉✦ ❥

✩✪✫✷✬✯

✜✱✲ ✧✶

❥❉★✦ ❥

✩✪✫✷✬✳✯

✜✱✲ ❪

✴✌✈☛✑✌✖ ✌ ✔☛✕☞✍✌✏✒☛ ✒✌✖ ✒✌✔✗✑☛✕☞✌✖ ✍☛✙☛✈✚✕☞☛✖ ✵☛✙✚

✒✏❢☛✍☛✕✸✔✚ ☛✕☞✍☛ ✌✖ ✒✌✏✖ ✔☛✕☞✍✌✏✒☛✖✹

❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛ ❡ ❡①♣❛♥s⑦❛♦ ❞❡ ❝♦♥s✉❧t❛s ✺✺ ✻ ✼✽

Page 30: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

▼♦t✐�❛✘❝⑦❛♦ ❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛✿ ❜✓❛s✐❝♦ ❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛✿ ❞❡t❛❧✁❡s ❊①♣❛♥s⑦❛♦ ❞❡ ❝♦♥s✉❧t❛

✂✄☎☎❤✆✄

✝✝

✞✖✟

✞✖◆✟

✞✖✟ ✠ ✞✖◆✟✞q✡☛☞

✌✍✎✏✑ ✒✔✕✗✙✗ ✙✔✚✔✈✗✛✜✔✒✴✛✢✗✣✲✙✔✚✔✈✗✛✜✔✒ ✕✔✙❢✔✤✜✗♠✔✛✜✔✳

❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛ ❡ ❡①♣❛♥s⑦❛♦ ❞❡ ❝♦♥s✉❧t❛s ✷✹ ✥ ✹✵

Page 31: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

▼♦t✐�❛✘❝⑦❛♦ ❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛✿ ❜✓❛s✐❝♦ ❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛✿ ❞❡t❛❧✁❡s ❊①♣❛♥s⑦❛♦ ❞❡ ❝♦♥s✉❧t❛

❚✂✄☎✆✝✞ ✟☎✄✂☎✠✞ ✂♠ ✡✞✲✞✡✞✝✝☛✂☞✡✌☎✍ ✂✎✂♠✏✑✞✄

P✒✔✒✈✕✒✖ ❱✗③✗✙❤✚✖ ✛✒✗✖ ✜✕✢✚✣✗✛✚✖

✤✚✤✒✔✛✥✙✤✥ ✦✚✛✜✔✥✤✒✛✥✙✤✥✱ ✗✕✕✥✛✥✧✗✒✈✥✔✛✥✙✤✥

✛✥✧✗✒★✦✩✒✚ ✕✥✦✚✙✦✗✔✗✒★✦✩✒✚✱ ✙✥❣✚✦✗✒★✦✩✒✚✱ ✧✗✜✔✚✛✒✦✗✒

✔✗✤✚❣✕✒✪✒✖ ✧✥✖✥✙❤✚✖✱ P✗✦✒✖✖✚✱ ❉✒✔✗✱ ●✒✫❣✫✗✙

✜✒✤✢✚❣✥✙✚✖ ✤✚✣✗✙✒✖✱ ✬✒✦✤✥✕✗✒✖✱ ✚✕❣✒✙✗✖✛✚✖✱ ✜✒✕✒✖✗✤✒✖

✒✔❢✒✦✥ ❤✚✕✤✒✔✗★✦✒✖✱ ✒✦✥✔❣✒✱ ❤✚✕✤✥✔✩✒

✙✒✧✒ ✤✫✧✚

❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛ ❡ ❡①♣❛♥s⑦❛♦ ❞❡ ❝♦♥s✉❧t❛s ✸✽ ✴ ✹✵

Page 32: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

▼♦t✐�❛✘❝⑦❛♦ ❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛✿ ❜✓❛s✐❝♦ ❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛✿ ❞❡t❛❧✁❡s ❊①♣❛♥s⑦❛♦ ❞❡ ❝♦♥s✉❧t❛

✂✄☎✆✝✞✟✆✠ ✡☛ ☞✠✝✞✌✍✎✆✞ ☛♠ ♠✠✎✠✏☛✞ ✡☛ ✑✌✞☞✆

❋✒✔✕✖ ✗✙✚✔✛✚✗✜✢ ✣✖ ✖✤✗✜✔✥✦✜✒ ✣✖ ✛✒✔✥✧✢✕✜✥ ✖★ ★✒✕✒✙✖✥ ✣✖

✩✧✥✛✜✪ ❤✚✥✕✫✒✙✚✛✒✥ ✣✖ ✛✒✔✥✧✢✕✜✥

✬✤✖★✗✢✒ ✶✪ ❆✗✫✒✥ ❢✜③✖✙ ✜ ✛✒✔✥✧✢✕✜ ❬✖✙✈✜✥❪✱ ✧✥✧✫✜✙✚✒✥❢✙✖q✧✖✔✕✖★✖✔✕✖ ✩✧✥✛✜★ ✗✒✙ ❬✖✙✈✜✥ ★✖✣✚✛✚✔✜✚✥❪✳

✭ ❭✮✯✰✲✴ ✵✮✷✸✹✸✺✻✲✸✴✼ ✽✮ ✾✵✲ ❀✺❁✮✻✹✸✲❂ ✮❃❀✲✻✴❄✲✺ ✷✮ ❭✮✯✰✲✼❅

✬✤✖★✗✢✒ ❇✪ ✧✥✧✫✜✙✚✒✥ ✗✙✒✛✧✙✜✔✣✒ ✗✒✙ ❬❢✒✕✒ ✣✖ ❈✒✙❪❢✙✖q✧✖✔✕✖★✖✔✕✖ ✛✢✚✛✜★ ✔✒ ❯❉▲ ✗❤✒✕✒✩✧✛❦✖✕✳✛✒★●❈✒✇✖✙✳✧✥✧✫✜✙✚✒✥ ✗✙✒✛✧✙✜✔✣✒ ✗✒✙ ❬✣✖✥✖✔❤✒ ✣✖ ❈✒✙❪ ❢✙✖q✧✖✔✕✖★✖✔✕✖✛✢✚✛✜★ ✔✒ ★✖✥★✒ ❯❉▲✳

✭ ❭✷✮✴✮✻❍✺ ✷✮ ■✺✯✼ ✮ ❭❏✺❁✺ ✷✮ ■✺✯✼ ✴❄✲✺ ❀✺❁✮✻✹✸✲✸✴ ✮❃❀✲✻✴❄✺✮✴✮✻❁✯✮ ✴✸❑✸✻✮✯✲◆✹❄✲✺ ✷✮ ✴✮❖✾P✮✻✹✸✲✴ ✷✮ ✹❂✸❖✾✮✴❅

❘❡t♦r♥♦ ❞❡ r❡❧❡�❫❛♥❝✐❛ ❡ ❡①♣❛♥s⑦❛♦ ❞❡ ❝♦♥s✉❧t❛s ◗❙ ❚ ❱❲

Page 33: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Recapitulacao Abordagem probabilıstica para ORI Teoria de probabilidades Princıpio de ranking probabilıstico Aprecia¸

Derivando uma funcao de ranking para termos da consulta

Equivalente: rankear documentos usando log das taxas de chancespara os termos na consulta ct :

ct = logpt(1− ut)

ut(1− pt)= log

pt(1− pt)

− logut

1− ut

A taxa de chances e a taxa de duas probabilidades: (i) aprobabilidade de termos aparecerem se o documento erelevante (pt/(1− pt)), e (ii) a probabilidade do termoaparecer se o documento e nao-relevante (ut/(1− ut))

ct = 0: termo tem iguais chances de aparecer em docsrelevantes e nao-relevantes

ct positivo: chances maiores de aparecer em docs relevantes

ct negativo: chances maiores de aparecer em docsnao-relevantes

Modelo probabilıstico 31 / 47

Page 34: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Recapitulacao Abordagem probabilıstica para ORI Teoria de probabilidades Princıpio de ranking probabilıstico Aprecia¸

Como estimar probabilidades

Para cada termo t em uma consulta, estimar ct na colecaocompleta usando uma tabela de contingencia de contagem dedocumentos nacolecao, onde dft e o numero de documentos que contem o termo t:

docs relevante nao-relevante Total

Termo presente xt = 1 s dft − s dftTermo ausente xt = 0 S − s (N − dft)− (S − s) N − dft

Total S N − S N

pt = s/S

ut = (dft − s)/(N − S)

ct = K (N, dft , S , s) = logs/(S − s)

(dft − s)/((N − dft)− (S − s))

Modelo probabilıstico 33 / 47

Page 35: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Recapitulacao Abordagem probabilıstica para ORI Teoria de probabilidades Princıpio de ranking probabilıstico Aprecia¸

Pesagem Okapi BM25 para consultas longas

Para consultas longas, use pesagem similar para consulta determos

RSVd =∑

t∈q

[log

N

dft

]· (k1 + 1)tftdk1((1− b) + b × (Ld/Lave)) + tftd

·(k3 + 1)tftqk3 + tftq

tftq: frequencia de termos na consulta qk3: parametro de controle da escalonagem da frequencia determos da consulta, k3 ≥ 0Sem normalizacao de tamanho de consultas (porquerecuperacao e feito em relacao a uma unica consulta fixa)A definicao de parametros deve idealmente ser configuradopara otimizar o desempenho em uma colecao de testes parauso durante o desenvolvimento. Na ausencia de talotimizacao, experimentos tem mostrado resultados razoaveispara k1 e k3 estao entre 1.2 e 2 e b = 0.75

Modelo probabilıstico 46 / 47

Page 36: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Pontuacao de campos Pontuacao por aprendizado de maquina SVMs para ranking

Minimizar o erro total ǫ: Exemplo (1)

Exemplos de treino

Exemplo DocID Consulta sT sB JulgamentoΦ1 37 linux 1 1 1 (relevante)Φ2 37 penguin 0 1 0 (nao-relevante)Φ3 238 system 0 1 1 (relevante)Φ4 238 penguin 0 0 0 (nao-relevante)Φ5 1741 kernel 1 1 1 (relevante)Φ6 2094 driver 0 1 1 (relevante)Φ7 3194 driver 1 0 0 (nao-relevante)

Computar pontuacao:pontuacao(dj , qj) = g · sT (dj , qj) + (1− g) · sB(dj , qj)Computar erro total:

∑j ǫ(g ,Φj), onde

ǫ(g ,Φj) = (r(dj , qj)− pontuacao(dj , qj))2

Escolher o valor de g que minimiza o erro total

Aprendizado de ranking. 17 / 42

Page 37: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Pontuacao de campos Pontuacao por aprendizado de maquina SVMs para ranking

Caracterısticas usadas pela Microsoft Research (1)

Campos: corpo, ancora, tıtulo, url, doc completo

Caracterısticas derivadas de modelos padroes de recuperacaode informacao: numero de termos da consulta, taxa de termosda consulta, idf, soma da frequencia de termos, mınimo dafrequencia de termos, maximos da frequencia de termos,media da frequencia de termos, variancia de frequencia determos, soma da frequencia de termos normalizada, ..., somade tf-idf, modelo booleano, BM25 etc.

Aprendizado de ranking. 32 / 42

Page 38: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Pontuacao de campos Pontuacao por aprendizado de maquina SVMs para ranking

Caracterısticas usadas pela Microsoft Research (2)

Caracterısticas de modelos de linguagem: LMIR.ABS,LMIR.DIR, LMIR.JM

Caracterısticas especıficas para web: numero de barras no url,tamanho do url, numero de inlinks, numero de outlinks,PageRank, SiteRank

Caracterısticas anti-spam: QualityScore

Caracterısticas baseadas em historico: contagem de cliquesconsulta-url, contagem de cliques da url, tempo na url

Ver:http://research.microsoft.com/en-us/projects/mslr/

Aprendizado de ranking. 33 / 42

Page 39: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Agrupamento: introducao Agrupamento em ORI K -medias Avaliacao Quantos grupos

Exercıcio: algoritmo para agrupar dados

0.0 0.5 1.0 1.5 2.0

0.0

0.5

1.0

1.5

2.0

2.5

Proporalgoritmoparaencontrar aestrutura deagrupa-mento nessafigura

Agrupamento de dados 6 / 72

Page 40: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Agrupamento: introducao Agrupamento em ORI K -medias Avaliacao Quantos grupos

Scatter-Gather

Agrupamento de dados 12 / 72

Page 41: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Agrupamento: introducao Agrupamento em ORI K -medias Avaliacao Quantos grupos

Navegacao global combinada com visualizacao (1)

Agrupamento de dados 17 / 72

Page 42: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Agrupamento: introducao Agrupamento em ORI K -medias Avaliacao Quantos grupos

Navegacao global combinada com visualizacao (2)

Agrupamento de dados 18 / 72

Page 43: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Ideia geral Anuncios Deteccao de duplicatas Spam ORI na Web Tamanho da web

Visao geral sobre busca na Web

Busca web 3 / 75

Page 44: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Ideia geral Anuncios Deteccao de duplicatas Spam ORI na Web Tamanho da web

Primeira geracao de anuncios: Goto (1996)

Busca web 9 / 75

Page 45: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Ideia geral Anuncios Deteccao de duplicatas Spam ORI na Web Tamanho da web

Leilao de segunda posicao do Google (simplificado)

anunciante lance TDC valor rank rank preco

A $4.00 0.01 0.04 4 (mınimo)B $3.00 0.03 0.09 2 $2.68C $2.00 0.06 0.12 1 $1.51D $1.00 0.08 0.08 3 $0.51

lance: lance maximo de um clique pelo anunciante

TDC: taxa de cliques: quando um anuncio e mostrado, qualporcentagem de vezes que usuarios clicam nele? TDC e umamedida de relevancia.

rank: rank no leilao

preco: pago pelo anunciante

precorank = lancerank+1TDCrank+1

TDCrank

Leilao de segundo preco: O anunciante paga a menor quantidadeBusca web 16 / 75

Page 46: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Ideia geral Anuncios Deteccao de duplicatas Spam ORI na Web Tamanho da web

Exemplo: quase-duplicatas

Busca web 22 / 75

Page 47: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Ideia geral Anuncios Deteccao de duplicatas Spam ORI na Web Tamanho da web

Tecnica Spam: ocultacao

Sim

Não Mostrar SPAM

Mostrar conteúdoenganoso

É um crawlerde um motorde busca?

Oferecer conteudo falso para o capturador de paginas dobuscador

Entao penalizamos isso sempre?

Nao: usos legıtimos (e.g., conteudos diferentes para EUA vs.Europa )

Busca web 39 / 75

Page 48: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Ideia geral Anuncios Deteccao de duplicatas Spam ORI na Web Tamanho da web

Estrutura de gravata-borboleta da web

Componente fortemente conectado (SCC) no centroMuitas paginas que sao linkadas, mas nao linkam (OUT)Muitas paginas que linkam para outras, mas nao recebem links (IN)Tendrils (tentaculos). Tubos (caminhos entre regioes IN, OUT, SCC) e ilhas noSCC

Busca web 53 / 75

Page 49: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Ideia geral Anuncios Deteccao de duplicatas Spam ORI na Web Tamanho da web

Paginas Web pages mudam frequentemente

A Large-Scale Study of the Evolution of Web Pages, Fetterly 1997

Mudancas em 10 dias.

Busca web 66 / 75

Page 50: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Um crawler simples Um crawler real

Fronteira URL

URLs capturadose processados

Fronteira URL:encontrado, masnao capturado

URLs nao vistos

Crawling 13 / 26

Page 51: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Um crawler simples Um crawler real

Crawler distribuıdo

www

captura

DNS

processar

fronteira URL

conteudovisto?

✓✒

✏✑✍ ✌

docsobtidos ✓

✒✏✑✍ ✌

pegaURL

filtrode URL

divisorde

servidores

envia paraoutros nos

deoutrosnos

eliminarURL

duplicado✲

✛✲

❄✻

✲ ✲ ✲ ✲

✻❄ ✻❄✻✻✻

✲✲✲

Crawling 20 / 26

Page 52: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Um crawler simples Um crawler real

Fronteira URL de Mercator

escolha fila de tras

escolha fila de frente & roteador de fila de tras

prioritizador

♣ ♣ ♣ ♣B filas traseiras :servidor unico em cada

♣ ♣ ♣

♣F filas de frente

1 F

1 B

❳❳❳❳❳❳③❳❳❳❳❳❳③

✘✘✘✘✘✘✾

✘✘✘✘✘✘✾✘✘✘✘✘✘✾

❳❳❳❳❳❳③

✏✏✏✏✏✏✮✏✏✏✏✏✏✮

PPPPPPq

❍❍❍❍❍❥

❍❍❍❍❍❥

✟✟✟✟✟✙

✲✛ heap

Fluxo de URLs de entrada dotopo para a fronteira

Filas de frente gerenciamprioridades

Filas traseiras garantemcortesia

Crawling 22 / 26

Page 53: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Texto ancora Analise de citacao PageRank HITS: Hubs & Authorities - Centros e autoridades

Texto ancora contendo IBM apontando para www.ibm.com

www.nytimes.com: “IBM compra Webify”

www.slashdot.org: “Novo chip otico da IBM ”

www.stanford.edu: “professores premiados pela IBM”

wwww.ibm.com

Analise de links 6 / 74

Page 54: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Texto ancora Analise de citacao PageRank HITS: Hubs & Authorities - Centros e autoridades

Exemplo grafo web

d0

d2 d1

d5

d3 d6

d4

carro benz

ford

gm

honda

jaguar

jag

gato

leopardo

tigre

jaguar

leao

cheeta

velocidade

PageRank

d0 0.05d1 0.04d2 0.11d3 0.25d4 0.21d5 0.04d6 0.31

PageRank(d2)<PageRank(d6):porque?

a h

d0 0.10 0.03d1 0.01 0.04d2 0.12 0.33Analise de links 19 / 74

Page 55: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Texto ancora Analise de citacao PageRank HITS: Hubs & Authorities - Centros e autoridades

Exemplo de hubs e autoridades

hubs autoridades

www.bestfares.com

www.airlinesquality.com

blogs.usatoday.com/sky

aviationblog.dallasnews.com

www.aa.com

www.delta.com

www.united.com

Analise de links 52 / 74

Page 56: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Texto ancora Analise de citacao PageRank HITS: Hubs & Authorities - Centros e autoridades

Conjunto raiz e conjunto base (1)

conjunto base

conjunto raiz

O conjunto raiz Nos para os quais os nos do conjunto raiz nodeslinkam Nos que linkam para os nos do conjunto raiz O conjuntobase

Analise de links 54 / 74

Page 57: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Texto ancora Analise de citacao PageRank HITS: Hubs & Authorities - Centros e autoridades

Atualizacao iterativa

Para todos d : h(d) =∑

d 7→y a(y)

d

y1

y2

y3

Para todos d : a(d) =∑

y 7→d h(y)

d

y1

y2

y3

Iterar esses dois passos ate convergencia

Analise de links 57 / 74

Page 58: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Anatomia do sistema

Estruturas de dados

Crawling

Indexacao

Busca

Implementacao em C e C++.Execucao em sistemas Solaris eLinux.

Projeto de um buscador 13 / 34

Page 59: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Listas de hits

Contem lista de ocorrencias

Inclui:

posicao no documento(imp no tipo plain)fonte usadamaiusculas/minusculas

Ocupa maior parte doespaco usado para ındicedireto e invertido

Uso de representacaootimizada “a mao”

Dois tipos de hits:

fancy – em URL, tıtulo,texto ancora, meta tagplain – o resto

Projeto de um buscador 24 / 34

Page 60: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Indice direto

Indice direto e criadoparcialmente ordenado

Dividido em 64 barris(barrels)

cada barrels recebe umafaixa de wordID

Projeto de um buscador 25 / 34

Page 61: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Indice invertido

Indice invertido consiste dosmesmos barrels que oındice direto

Porem ja foi processado pelosorter

doclist lista docIDsordenados

Mantem um ındice invertidopara o tıtulo, ancoras eoutro ındice invertido para oresto

Projeto de um buscador 26 / 34

Page 62: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Desempenho do sistema

Cerca de 9 dias para baixar26 milhoes de paginas

Indexador processava 54paginas por segundo

4 maquinas para o sorter:24 horas

Tempo de consulta: 1 a 10segundos

Culpado: BigFilerodando no NFS

Projeto de um buscador 33 / 34

Page 63: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Trabalho futuro de 1997

Meta imediata: aumentar capacidade para 100 milhoes dedocs

Em setembro de 2013, Google indexa aproximadamente 40bilhoes de documentos

Cache de consultas

Subindices

Melhoria da atualizacao de documentos – recrawling

Operadores booleanos

Negacao

Stemming

Obtencao de retorno de relevancia

Uso de clustering (no momento somente de nome do servidor)

Uso da localidade do usuario

Expansao da regiao do texto de ancora

Projeto de um buscador 34 / 34

Page 64: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

What is a language model?

We can view a finite state automaton as a deterministic language

model.

I wish

I wish I wish I wish I wish . . . Cannot generate: “wish I wish”

or “I wish I” Our basic model: each document was generated by a

different automaton like this except that these automata areprobabilistic.

24 / 50

Page 65: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

A probabilistic language model

q1

w P(w |q1) w P(w |q1)STOP 0.2 toad 0.01the 0.2 said 0.03a 0.1 likes 0.02frog 0.01 that 0.04

. . . . . . This

is a one-state probabilistic finite-state automaton – a unigramlanguage model – and the state emission distribution for its onestate q1. STOP is not a word, but a special symbol indicating that

the automaton stops. frog said that toad likes frog STOP

P(string) = 0.01 ·0.03 ·0.04 ·0.01 ·0.02 ·0.01 ·0.2= 0.0000000000048

25 / 50

Page 66: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Rocchio illustrated : a1 = a2, b1 = b2, c1 = c2

xxx

x

⋄⋄

⋄⋄⋄

China

Kenya

UK⋆ a1

a2

b1

b2

c1

c2

20 / 68

Page 67: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

kNN is based on Voronoi tessellation

x

x

xx

x

xx

xx x

x

⋄⋄

⋄⋄⋄

⋄ ⋄

30 / 68

Page 68: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

A linear classifier in 3D

A linear classifier in 3D isa plane described by theequationw1d1 + w2d2 + w3d3 = θ

Example for a 3D linearclassifier

Points (d1 d2 d3) withw1d1 + w2d2 + w3d3 ≥ θare in the class c .

Points (d1 d2 d3) withw1d1 + w2d2 + w3d3 < θare in the complementclass c .

44 / 68

Page 69: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

A nonlinear problem

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

Linear classifier like Rocchio does badly on this task.

kNN will do well (assuming enough training data)

59 / 68

Page 70: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Recap SVM intro SVM details Classification in the real world

Why maximize the margin?

Points near the decisionsurface are uncertainclassification decisions.A classifier with a largemargin makes no lowcertainty classificationdecisions (on thetraining set).Gives classificationsafety margin withrespect to errors andrandom variation

bb

b

bb

b

bb

b

ut

ut

utut

ut

utut

Support vectors

Margin ismaximized

Maximummargindecisionhyperplane

Schutze: Support vector machines 17 / 49

Page 71: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Recap SVM intro SVM details Classification in the real world

Why maximize the margin?

SVM classification = largemargin around decisionboundary

Schutze: Support vector machines 18 / 49

Page 72: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Hierarchical clustering

Our goal in hierarchical clustering is tocreate a hierarchy like the one we saw earlierin Reuters:

coffee poultry oil & gasFranceUKChinaKenya

industriesregions

TOP

Wwant to create this hierarchy automatically.We can do this either top-down orbottom-up. The best known bottom-upmethod is hierarchical agglomerativeclustering.

9 / 66

Page 73: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Adendrogram

1.0 0.8 0.6 0.4 0.2 0.0

Ag trade reform.Back−to−school spending is up

Lloyd’s CEO questionedLloyd’s chief / U.S. grilling

Viag stays positiveChrysler / Latin America

Ohio Blue CrossJapanese prime minister / Mexico

CompuServe reports lossSprint / Internet access service

Planet HollywoodTrocadero: tripling of revenues

German unions splitWar hero Colin PowellWar hero Colin Powell

Oil prices slipChains may raise prices

Clinton signs lawLawsuit against tobacco companies

suits against tobacco firmsIndiana tobacco lawsuit

Most active stocksMexican markets

Hog prices tumbleNYSE closing averages

British FTSE indexFed holds interest rates steady

Fed to keep interest rates steadyFed keeps interest rates steadyFed keeps interest rates steady

Thehistory

ofmergers

canberead

offfrom

bottom

totop

.Thehorizon

tallin

eof

eachmerger

tellsus

what

thesim

ilarityof

themerger

was.

Wecan

cutthe

dendrogram

ata

particu

larpoin

t(e.g.,

at0.1

or0.4)

toget

aflat

clusterin

g.

12/66

Page 74: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Single-link clustering

0

1

2

3

0 1 2 3 4

×

d5×

d6×

d7×

d8

×

d1×

d2×

d3×

d4

33 / 66

Page 75: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Periodicos e conferencias

I TREC – http://trec.nist.gov

I KDD – http://www.kdd.org

I SIGIR – http://www.sigir.org

I WWW – http://www.www2016.wwwconference.org

Page 76: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Projetos e Software

I NILC – lıngua portuguesa – http://nilc.icmc.usp.br

I Apache Lucene – http://lucene.apache.org

I LingPipe – http://alias-i.com/lingpipe

I Aprendizado de Ranking –http://people.cs.umass.edu/%7Evdang/ranklib.html

Page 77: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Bases de dados e Corpus

I TREC – http://trec.nist.govI http://trec.nist.gov/data/tweets/

I UCI – http://archive.ics.uci.edu/ml/datasets.html

I Wordnet – http://wordnet.princeton.edu/

Page 78: Mineração de Texto - FACOMalbertini/2sem2015/md/aulas/textmining.pdf · Tre^s stemmers: comparaca ~o Amostra de texto: Such an analysis can reveal features that are not easily visible

Referencias

I Este material e baseado em:I Tutorial de Busca Web Baeza-Yates

http://sigir.org/sigir2014/tutorials/

SIGIR2014-web-search-tutorial.pdfI Slides de um curso de Information Retrieval and Text Mining

da Universidade de Stuttgart, disponibilizados pelo autor dolivro-texto H. Schutze e por W. Kessler.