Extraindo atributos de textos. Prof. Fabrício Olivetti de França
|
|
- Ricardo Caetano Neiva
- 6 Há anos
- Visualizações:
Transcrição
1 Extraindo atributos de textos Prof. Fabrício Olivetti de França
2 Configuração Faça o download do Anaconda Python: E do notebook: 2
3 Crie o ambiente Crie o ambiente: conda create --name lcon python=3 scikit-learn numpy scipy gensim pandas jupyter ipython nltk pip install powerlaw Ative-o com source activate lcon E abra o notebook: jupyter notebook 3
4 Representação computacional Muitos algoritmos de aprendizado de máquina foram formalizados assumindo como entrada amostras em um espaço vetorial. Quando trabalhamos com bases de dados que não são naturalmente representadas no espaço vetorial, devemos extrair os atributos. 4
5 Documentos de textos d1: o gato caçou o rato d2: o rato comeu o queijo Precisamos encontrar v1 e v2 de tal forma que cada posição dos vetores represente um aspecto específico dos documentos. 5
6 Documentos de textos d1: o gato caçou o rato d2: o rato comeu o queijo v1 = [1, 4, 5, 1, 4] v2 = [1, 4, 5, 1, 6] 6
7 Documentos de textos d1: o gato caçou o rato d2: o rato comeu o queijo v1 = [1, 4, 5, 1, 4] v2 = [1, 4, 5, 1, 6] v1-v2 = 2, distância baixa, similaridade alta. [Euclidiana] 7
8 Documentos de textos d1: o gato caçou o rato d2: o rato comeu o queijo provolone v1 = [1, 4, 5, 1, 4,?] v2 = [1, 4, 5, 1, 6, 9] 8
9 Bag of Words Cada objeto é representado por um conjunto F de atributos que é um subconjunto do conjunto F de atributos observados na base. O 1 = {F 1, F 4, F 5, F 9 } O 2 = {F 3, F 4, F 5 } 9
10 Bag of Words É possível representar computacionalmente esses conjuntos de diversas formas: vetor binário denso, vetor esparso, bitmaps, tries, etc. A escolha deve ser de acordo com a aplicação. 10
11 Bag of Words Nos vetores binários cada posição corresponde a um token do dicionário. Os vetores terão tamanho igual ao total de tokens distintos. Um token é um elemento textual: letra, palavra, frase, símbolo, etc. 11
12 Bag of Words d1: o gato caçou o rato d2: o rato comeu o queijo provolone dicionário = { o : 0, gato : 1, caçou : 2, rato : 3, comeu : 4, queijo : 5, provolone : 6} v1 = [1, 1, 1, 1, 0, 0, 0] v2 = [1, 0, 0, 1, 1, 1, 1] 12
13 Bag of Words Cada elemento do vetor representa se determinado token existe ou não no documento. v1 = [1, 1, 1, 1, 0, 0, 0] v2 = [1, 0, 0, 1, 1, 1, 1] sum(v1 == v2)/len(dicionario) = 1/7 = 0.14 [Jaccard] 13
14 Bag of Words Podemos também atribuir pesos representando a frequência dos termos: v1 = [2, 1, 1, 1, 0, 0, 0] v2 = [2, 0, 0, 1, 1, 1, 1] np.dot(v1, v2)/(np.dot(v1,v1)*np.dot(v2,v2)) = 5/(7.8) = 0.09 [Cosseno] 14
15 Cosseno w2 w1 15
16 Bag of Words A biblioteca scikit-learn possui classes para extrair atributos do tipo BOW. import pandas as pd import sklearn.feature_extraction.text as txtfeats tweets = pd.read_csv('tweets.csv.gz') bagofwords = txtfeats.countvectorizer() bow = bagofwords.fit_transform(tweets.text) 16
17 Bag of Words print(len(bagofwords.get_feature_names())) >> bagofwords.get_feature_names()[5000:5004] >> ['alemanharoubo', 'alemanhas', 'alemao', 'alemaoe'] Cada tweet tem em média 16 palavras! Cada tweet será representado por um vetor em que, em média, elementos serão 0. 17
18 Bag of Words Geralmente representamos como vetor esparso: [ (5002,1), (201288, 1), (220665, 2) ] O tweet contém uma ocorrência do token 5002, uma do token e duas do token
19 Bag of Words Quando vamos gerar um vetor BOW para um novo exemplo, os tokens novos são ignorados: novo_tweet = 'um novo tweet sobre um alemao kywz' print(bagofwords.transform([novo_tweet])) >> (0, 5002) 1 (0, ) 1 (0, ) 1 (0, ) 1 (0, ) 2 19
20 Padronização Macarrão, macarrão, macarrao, MaCarrãO representam a mesma informação. Para evitar que eles formem tokens diferentes, antes da construção do dicionário é feito uma padronização: Remover acentos Transformar em minúsculas 20
21 Padronização Existem também tokens que não contém informação necessária para o processo de aprendizado: e, ou, está, quando, etc. Podemos remover essas palavras com o uso de uma lista de stopwords. 21
22 Bag of Words Parâmetros de pré-processamento: strip_accents : remove acentos das palavras com codificação ascii ou unicode. stop_words : permite usar uma lista de stop words. lowercase : transforma as letras em caixa baixa (padrão). binary : não contabiliza a frequência dos termos. 22
23 Corte de Luhn A lei de Zipf diz que a frequência das palavras em um documento é inversamente proporcional ao seu rank. Ou seja, a palavra mais frequente vai aparecer duas vezes com mais frequência que a segunda mais frequente, três vezes mais frequente que a terceira, Luhn argumentou que as palavras muito frequentes e as pouco frequentes não colaboram para discriminação e similaridade entre documentos. LUHN, H.P., 'The automatic creation of literature abstracts', IBM Journal of Research and Development, 2, (1958). 23
24 Corte de Luhn 24
25 Corte de Luhn Mas como determinar os cortes? Basicamente queremos o meio da distribuição. df = sorted(bow.sum(axis=0).a1) # frequencia dos termos fit = powerlaw.fit(df) mediana = fit.xmin*np.power(2, 1/(fit.power_law.alpha-1)) df_max = int(np.round(np.power(mediana, 4/3))) df_min = int(np.round(np.power(mediana, 2/3))) >> df_min = 106, df_max =
26 Corte de Luhn bagofwords = txtfeats.countvectorizer(min_df=df_min, max_df=df_max, strip_accents='unicode', stop_words=['e', 'ou', 'ele', 'ela']) bow = bagofwords.fit_transform(tweets.text) >> 5333 tokens 26
27 tf-idf Uma outra forma de reduzir a influência dos termos frequentes é penalizar as frequências dos tokens pelo inverso da frequência no documento. Quanto mais a frequência do token se aproxima de N, mais idf se aproxima de 0. 27
28 tf-idf tfidf = txtfeats.tfidfvectorizer() bow = tfidf.fit_transform(tweets.text) 28
29 tf-idf norm : l1, l2 or None, optional. Norma usada para normalizar os vetores resultantes. use_idf : se deseja usar o idf. smooth_idf : técnica de smooth para evitar divisões por 0. sublinear_tf : calcula a frequência dos termos como 1 + log(tf). 29
30 Contexto Um ponto negativo da tokenização por palavras é que os tokens não possuem o contexto. Para aliviar esse problema surgiu o n-grams. 30
31 N-grams d1: o gato caçou o rato d2: o rato comeu o queijo provolone 2-gram: dicionário = { o gato : 0, gato caçou : 1, caçou o : 2, o rato : 3, rato comeu : 4, comeu o : 5, o queijo : 6, queijo provolone : 7} 31
32 N-grams bagofwords = txtfeats.countvectorizer(min_df=df_min, max_df=df_max, strip_accents='unicode', ngram_range=(2,2)) bow = bagofwords.fit_transform(tweets.text) >> tokens 32
33 N-grams analyzer : string, { word, char, char_wb }: se os n-grams serão determinados por palavras, por caracteres ou por caracteres dentro das palavras. ngram_range : tuple (min_n, max_n): gera n-gramas com min_n <= n <= max_n. 33
34 N-grams Problemas: Pode aumentar muito a dimensionalidade Muitos tokens continuam sem contexto: o gato 34
35 k-skip-n-grams Tokeniza realizando pulos de 0 a k tokens. d1: o gato caçou o rato d2: o rato comeu o queijo provolone 3-skip-2-gram: dicionário = { o gato : 0, o caçou : 1, o o : 2, gato caçou : 3, gato o : 4, gato rato : 5,...} 35
36 k-skip-n-grams Tem uma chance maior de capturar o contexto, porém pode aumentar a dimensionalidade exageradamente. Podemos utilizar o parâmetro tokenizer que permite passar um tokenizador customizado. A biblioteca nltk implementa o k-skip-n-gram. 36
37 k-skip-n-grams skip3n2grams = lambda s: nltk.skipgrams(s.split(), 2, 3) tfidf = txtfeats.tfidfvectorizer(tokenizer=skip3n2grams, min_df=df_min, max_df=df_max) bow = tfidf.fit_transform(tweets.text) >> tokens 37
38 Aprendendo uma representação Ideia: d1: o gato caçou o rato d2: o rato comeu o queijo provolone Aprender que entre o e caçou vem a palavra gato. 38
39 Continuous Bag-of-Word o gato caçou 39
40 Aprendendo uma representação Cada neurônio de entrada e o neurônio de saída é um vetor binário em que o elemento representando a palavra de entrada tem valor 1 e o restante, 0. 40
41 Continuous Bag-of-Word o gato caçou v(gato) 41
42 Skip-gram o gato caçou v(gato) 42
43 Continuous Bag-of-Word Pesos W 1 dim: V x N 43
44 Continuous Bag-of-Word A entrada são vetores binários, cada vetor binário contém apenas um elemento igual a 1. entrada x W 1 = Soma das linhas de W 1 correspondentes as palavras da entrada (a ordem então não importa) h(entrada x W 1 ) = (entrada x W 1 ) / entradas 44
45 Continuous Bag-of-Word y = softmax(z. W 2 ) z = h(x. W 1 ) 45
46 softmax Saída é um vetor de dimensão V que representa a distribuição categórica de probabilidade para as possíveis saídas. 46
47 softmax O objetivo é minimizar a função custo definida como o logaritmo da probabilidade de p(wt wt+j) ou p(wt+j wt) dependendo do modelo de word2vec utilizado. wt = palavra alvo do vetor wt+j = contexto da palavra 47
48 Função custo 48
49 Atualizando os pesos O processo de atualização demanda que os pesos das V possíveis palavras de saída sejam atualizados! Lembrem-se que V é geralmente centenas de milhares! 49
50 Continuous Bag-of-Word w1 w2 w3 w4 50
51 Continuous Bag-of-Word w1 w2 w3 w4 51
52 Atualizando os pesos Agora só precisamos fazer o processo de atualização em log(v) elementos! 52
53 Demo 53
54 GloVe: Global Vectors for Word Repr. X = matriz de co-ocorrência que a palavra j ocorreu no contexto de i com janela k. 54
55 GloVe: Global Vectors for Word Repr. 55
56 GloVe: Global Vectors for Word Repr. Objetivo: encontrar uma representação vetorial de cada palavra tal que: 56
57 GloVe: Global Vectors for Word Repr. Minimizar: 57
58 GloVe: Global Vectors for Word Repr. Com: 58
59 Polêmica No artigo original os autores indicaram que GloVe era mais rápido que o word2vec e apresentava 12% de melhora na tarefa de analogia de palavras. Discussão sobre validade dos experimentos: U5IMJJsbxAi-kRl8czSwpti15s/edit# 59
60 Polêmica O argumento é que os autores utilizaram apenas os resultados numéricos do artigo original do word2vec, e isso pode ter causado um viés por conta de diferenças na base de treinamento. Um novo teste realizado indicou que não existe diferença significativa entre os dois sob as mesmas condições. 60
61 Polêmica Mas ainda está em discussão Código: 61
62 doc2vec doc id o gato caçou v(gato) 62
63 doc2vec Igual a word2vec, mas agora existe uma nova entrada identificando o parágrafo/documento. Com isso, cada documento pode ser descrito também como um vetor. 63
64 gensim from gensim.models import doc2vec class LabeledLineSentence(object): def init (self, stream): self.stream = stream def iter (self): for uid, line in enumerate(self.stream): yield doc2vec.labeledsentence(words=line.split(), tags=['sent_%s' % uid]) 64
65 gensim model = doc2vec.doc2vec( ) LabeledLineSentence(tweets.text.values[:1000]) 65
66 Minhash Lembrando em nossa representação Bag-of-Words: Token D1 D2 D3 D4 A B C D E
67 Minhash Ela gera uma matriz esparsa e de alta dimensão! Token D1 D2 D3 D4 A B C D E
68 Minhash O cálculo da similaridade (de Jaccard) pode se tornar muito custosa. Token D1 D2 D3 D4 A B C D E
69 Minhash Pré-calcular uma assinatura da matriz que é equivalente a sim. de Jaccard. Token D1 D2 D3 D4 A B C D E
70 Minhash Se permutarmos aleatoriamente as linhas dessa matriz: Token D1 D2 D3 D4 B A E C D
71 Minhash E representarmos cada documento pelo índice da primeira linha contendo 1: Minhash Token D1 D2 D3 D4 B A E C D
72 Minhash Dessa forma cada documento pode ser representado por apenas 1 valor! Minhash Token D1 D2 D3 D4 B A E C D
73 Minhash Mas qual a probabilidade de mh(di) = mh(dj)? 73
74 Minhash Quantas linhas o valor 1 coincide dividido pelo total de linhas com pelo menos um valor 1: 74
75 Minhash Comparando D1 e D4 Minhash Token D1 D2 D3 D4 B A E C D
76 Minhash J = ⅔ = P(mh(D1)=mh(D4)) Minhash Token D1 D2 D3 D4 B A E C D
77 Minhash Se temos P = 2/3, se fizermos 100 permutações diferentes, teremos cerca de 67 valores iguais de minhash entre os dois documentos! 77
78 Minhash Cada documento é representado por N minhashes diferentes. Di = [mh 1 (Di), mh 2 (Di),, mh N (Di)] 78
79 Minhash Computar permutações é custoso! Vamos simplificar utilizando funções hashes! 79
80 Minhash Dada a função hash: h(x) = (ax + b) mod p onde x é o índice do atributo. ela gera uma permutação aleatória com diferentes valores de a,b e mantendo p fixo. 80
81 Minhash Sorteamos N valores de a e b e escolhemos um p primo. Escolhemos um p grande o suficiente para representar nossas variáveis. 81
82 Minhash Exemplo: h1(x) = (x + 1) mod 5 h2(x) = (3x + 1) mod 5 82
83 Minhash h1(x) = (x + 1) mod 5 h2(x) = (3x + 1) mod 5 Linha Token D1 D2 D3 D4 h1 h2 0 A B C D E
84 Minhash Para cada documento, marcamos as linhas iguais a 1: Linha Token D1 D2 D3 D4 h1 h2 0 A B C D E
85 Minhash Representamos o documento com os menores valores marcados de cada hash: SIG(D1) = [1, 0] Linha Token D1 D2 D3 D4 h1 h2 0 A B C D E
86 Minhash - Algoritmo SIG1 e SIG2 inicializam com o maior valor possível +1. SIG SIG Linha Token D1 D2 D3 D4 h1 h2 0 A B C D E
87 Minhash - Algoritmo Para cada linha, atualizamos os documentos com valor igual a 1: SIG SIG Linha Token D1 D2 D3 D4 h1 h2 0 A B C D E
88 Minhash - Algoritmo SIG SIG Linha Token D1 D2 D3 D4 h1 h2 0 A B C D E
89 Minhash - Algoritmo Repare que apenas atualizamos os valores se for menor! SIG SIG Linha Token D1 D2 D3 D4 h1 h2 0 A B C D E
90 Minhash - Algoritmo SIG SIG Linha Token D1 D2 D3 D4 h1 h2 0 A B C D E
91 Minhash - Algoritmo SIG SIG Linha Token D1 D2 D3 D4 h1 h2 0 A B C D E
92 Minhash - Algoritmo D1' = [1, 0] D3' = [0, 0] D2' = [3, 2] D4' = [1, 0] SIG SIG Linha Token D1 D2 D3 D4 h1 h2 0 A B C D E
93 Minhash - Algoritmo D1' = [1, 0] D3' = [0, 0] D2' = [3, 2] D4' = [1, 0] J D2 D3 D4 D1 0 0,25 0,67 D2 0 0,33 D3 0,2 J D2' D3' D4' D1' 0 0,5 1 D2' 0 0 D3' 0,5 93
94 Código P = nhashes = 3 alphas = np.random.randint(1, P-1, (nhashes,)) betas = np.random.randint(1, P-1, (nhashes,)) 94
95 Código H = [list(map(hash,t.split())) for t in tweets.text[:100]] MH = np.zeros((100,nhashes)) for i, h in enumerate(h): for j in range(nhashes): MH[i,j] = np.min(np.remainder(alphas[j]*h + betas[j], P)) 95
Aprendizado de Supervisionado
Aprendizado de Supervisionado Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Padronizando e Normalizando os Atributos 2. Tipos de Atributos 3. Representação Textual 1 Padronizando e
Leia maisImplementação de Kernel Customizado Aplicado à Análise de Sentimentos em Resenhas de Filmes
Implementação de Kernel Customizado Aplicado à Análise de Sentimentos em Resenhas de Filmes Luciana Kayo e Paulo Mei Prof. Dr. Marco Dimas Gubitoso Introdução Inspiração na competição When Bag of Words
Leia maisAprendizado de Supervisionado
Aprendizado de Supervisionado Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Aprendendo com Exemplos 2. Classificação 3. Conceitos Gerais 4. Vizinho Mais Próximo 1 Aprendendo com Exemplos
Leia maisDATA MINING & MACHINE LEARNING (I) Thiago Marzagão
DATA MINING & MACHINE LEARNING (I) Thiago Marzagão transformando textos em dados Documento 1: Não trabalho para ter clientes; tenho clientes para poder trabalhar. Documento 2: Não se pode forçar a inteligência
Leia maisMINERAÇÃO DE DADOS. Thiago Marzagão MINERAÇÃO DE TEXTOS. marzagao.1@osu.edu. Thiago Marzagão (UnB) MINERAÇÃO DE DADOS 1/2016 1 / 25
MINERAÇÃO DE DADOS Thiago Marzagão marzagao.1@osu.edu MINERAÇÃO DE TEXTOS Thiago Marzagão (UnB) MINERAÇÃO DE DADOS 1/2016 1 / 25 transformando textos em dados Documento 1: "Não trabalho para ter clientes;
Leia maisPré-processamento dos Dados e Análise Exploratória
Pré-processamento dos Dados e Análise Exploratória Prof. Fabrício Olivetti de França Universidade Federal do ABC Processando os dados Data Sets Conjunto de objetos de dados. Objeto de dados é uma entidade:
Leia maisRedução de Dimensionalidade, DCDistance, e CARFRE
Redução de Dimensionalidade, DCDistance, e CARFRE Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Redução de Dimensionalidade 2. Análise de Componentes Principais 3. DCDistance - Document-Class
Leia maisPython + Spark = PySpark. Prof. Fabrício Olivetti de França Universidade Federal do ABC
Python + Spark = PySpark Prof. Fabrício Olivetti de França Universidade Federal do ABC Spark Plataforma para processamento de dados em larga escala. Baseado em transformações preguiçosas dos dados. Estende
Leia maisProfª Ana Lúcia Lima Marreiros Maia Profª Fabiana Cristina Bertoni
Profª Ana Lúcia Lima Marreiros Maia Profª Fabiana Cristina Bertoni Motivação e Objetivos Etapas do Desenvolvimento de um Sistema de Recuperação de Informações (SRI): Pré-processamento; Representação; Extração
Leia maisPré-processamento de Dados
Pré-processamento de Dados Fabrício Olivetti de França Universidade Federal do ABC Pré-Processamento dos Dados Tópicos 1. Pré-Processamento dos Dados 2. Conceitos Básicos 3. Representação Textual 4. Padrões
Leia maisTerm weighting: outras ideias
Term weighting: outras ideias Term Weighting i Diversas são as abordagens. Vamos discutir algumas ideias mais simples, porém conhecidas. i Abordagens 4 Pesos binários (já vimos) 4 Frequência (já vimos)
Leia maisTópicos Especiais: Inteligência Artificial. Deep Learning
Tópicos Especiais: Inteligência Artificial Deep Learning Bibliografia Inteligência Artificial Russell & Norvig Site: http://aima.cs.berkeley.edu Inteligência Artificial, Ben Coppin. Online Course: Zero
Leia maisAprendizado de Máquina (Machine Learning)
Ciência da Computação (Machine Learning) Aula 02 Representação dos dados Pré-processamento Max Pereira Tipo de Dados Os atributos usados para descrever objetos de dados podem ser de diferentes tipos: Quantitativos
Leia maisTabela Hash: Índice remissivo
Capítulo 3 Tabela Hash: Índice remissivo Um índice remissivo lista os termos e tópicos que são abordados em um documento juntamente com páginas em que aparecem. É bastante comum encontrar tais índices
Leia maisMelhorando a Recuperação de Informação
Recuperação de Informação e Web Mining 1 Melhorando a Recuperação de Informação O modelo de espaço vetorial Utiliza pesos para termos Permite o ranqueamento dos resultados Pode reduzir a dimensão do espaço
Leia maisAprendizado Não-Supervisionado
Aprendizado Não-Supervisionado Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Aprendizado Não-Supervisionado 2. Agrupamento de Dados 1 Aprendizado Não-Supervisionado Aprendizado Não-Supervisionado
Leia maisRedes Neurais Artificiais
Redes Neurais Artificiais Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Redes Neurais Biológicas 2. Neurônio Artificial 3. Rede Neural Artificial 4. Keras 1 Redes Neurais Biológicas
Leia maisMineração de Textos. Mineração de Textos
Mineração de Textos Os estudos em Aprendizado de Máquina normalmente trabalham com dados estruturados Entretanto, uma grande quantidade de informação é armazenada em textos, que são dados semi-estruturados
Leia maisUniversidade do Sul de Santa Catarina Ciência da Computação Aula 09 Introdução a Análise de Textos Prof. Max Pereira
Universidade do Sul de Santa Catarina Ciência da Computação Técnicasde InteligênciaArtificial Aula 09 Introdução a Análise de Textos Prof. Max Pereira Processamento de Linguagem Natural Conjunto de técnicas
Leia maisIntrodução ao Python. Prof. Fabrício Olivetti de França Universidade Federal do ABC
Introdução ao Python Prof. Fabrício Olivetti de França Universidade Federal do ABC Python Linguagem interpretada criada em 1991 Objetivos: enfatizar a legibilidade do código e, encurtar o tamanho dos códigos.
Leia maisVisualização de Texto e Documento
Visualização de Texto e Documento SCC5836 Visualização Computacional Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação
Leia maisAgrupamento Espectral e Hierárquico
Agrupamento Espectral e Hierárquico Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Agrupamento Espectral 2. Agrupamento Hierárquico 1 Agrupamento Espectral Agrupamento Espectral Nem
Leia maisHashing: conceitos. Hashing
Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado
Leia maisRegressão Linear. Fabrício Olivetti de França. Universidade Federal do ABC
Regressão Linear Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Ordinary Least Square 2. Gradiente Descendente 1 Aprendendo com exemplos Uma das formas de aprendizado de máquina é definido
Leia maisCompiladores. Análise Léxica
Compiladores Análise Léxica Cristiano Lehrer, M.Sc. Introdução (1/3) Análise léxica é a primeira fase do compilador. A função do analisador léxico, também denominado scanner, é: Fazer a leitura do programa
Leia maisDescoberta de conhecimento em redes sociais e bases de dados públicas
Descoberta de conhecimento em redes sociais e bases de dados públicas Trabalho de Formatura Supervisionado Bacharelado em Ciência da Computação - IME USP Aluna: Fernanda de Camargo Magano Orientadora:
Leia maisIntrodução à Mineração de Dados com Aplicações em Ciências Espaciais
Introdução à Mineração de Dados com Aplicações em Ciências Espaciais Escola de Verão do Laboratório Associado de Computação e Matemática Aplicada Rafael Santos Dia 3: 1 /54 Programa Dia 1: Apresentação
Leia maisCapítulo 4. Comitê BAS 35
4 Comitê BAS Devido à flexibilidade do algoritmo BAS, que aceita qualquer distribuição inicial para os exemplos, diversas heurísticas podem ser implementadas com o objetivo de criar classificadores de
Leia maisProcessamento da Informação
Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Listas e Vetores 1 Listas e Vetores Listas e Vetores Uma lista em Python é um container de informações que, por
Leia maisClassificação de Padrões. Abordagem prática com Redes Neurais Artificiais
Classificação de Padrões Abordagem prática com Redes Neurais Artificiais Agenda Parte I - Introdução ao aprendizado de máquina Parte II - Teoria RNA Parte III - Prática RNA Parte IV - Lições aprendidas
Leia mais4 Recuperação de Informação
4 Recuperação de Informação No presente capítulo são apresentados os fundamentos da área de Recuperação de Informação utilizados em Mineração de Textos, como por exemplo, os modelos de representação de
Leia maisARQUITETURA DE COMPUTADORES
Representação de Dados Professor: Airton Ribeiro de Sousa E-mail: airton.ribeiro@faciplac.edu.br 1 Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos da
Leia maisModelo Probabilístico
Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia Recuperação da Informação Adaptado do Material da Profª Vanessa Braganholo - IC/UFF Proposto em 1976 por Roberstson e Sparck Jones;
Leia maisSobre o curso. Fabrício Olivetti de França. Universidade Federal do ABC
Sobre o curso Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Sobre mim 2. Sobre a Disciplina 1 Sobre mim Sobre mim Formado em Engenharia Elétrica com ênfase em Computação pela Universidade
Leia maisTrilha Machine Learning Fabíola S. F. Pereira
Trilha Machine Learning Fabíola S. F. Pereira De pai pra filho! A Tarefa de Classificação Hierárquica aplicada em um Case Real sobre Dados Textuais Fabíola S. F. Pereira Data Scientist @ ZUP IT Olá! Muito
Leia maisSCC0173 Mineração de Dados Biológicos
SCC0173 Mineração de Dados Biológicos Classificação I: Algoritmos 1Rule e KNN Prof. Ricardo J. G. B. Campello SCC / ICMC / USP 1 Créditos O material a seguir consiste de adaptações e extensões dos originais:
Leia maisCMP Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira
CMP1048 - Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira 1. Considere um programa em C++ que tenha duas variáveis declaradas
Leia maisUniversidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python Exercícios: Funções 1. Crie uma função que recebe como parâmetro um número
Leia maisUnidades de Medidas Computacionais
Unidades de Medidas Computacionais Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Unidades de Medidas Computacionais QUANTIFICAÇÃO DE DADOS Dados e Informações Como nós representamos? Texto: Nome
Leia maisCorreção Ortográfica. Processamento Estatístico da Linguagem Natural. Correção de Erros. Distância Mínima de Edição. Distância Mínima de Edição
Processamento Estatístico da Linguagem Natural Aula 6 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/peln/ Correção Ortográfica Três tipos de problemas: Detecção de
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia maisSegundo trabalho de Organização e Recuperação da Informação
FACOM- UFU Professor: Wendel Melo Segundo trabalho de Organização e Recuperação da Informação 2018-02 Descrição Este trabalho consiste em duas etapas: 1. Implementação de cálculo da ponderação TF-IDF,
Leia maisLista de exercícios 2 Recuperação de Informação Textual
Lista de exercícios 2 Recuperação de Informação Textual 2 de dezembro de 2015 0.1 O que é o modelo bag-of-words? Porque ele é uma simplificação? Dê um exemplo em que ele estaria incorreto. 0.2 O que é
Leia maisAprendizado Bayesiano Anteriormente...
Aprendizado Bayesiano Anteriormente... Conceito de Probabilidade Condicional É a probabilidade de um evento A dada a ocorrência de um evento B Universidade de São Paulo Instituto de Ciências Matemáticas
Leia maisTabelas de dispersão/hash
Tabelas de dispersão/hash 1 Tabelas de dispersão/hash 1. Considere uma tabela de hash de tamanho m = 1000 e a função de hash h(k)= [m.(k.a % 1)], com A=( 5-1)/2. Calcule os valores de hash das chaves 61,
Leia maisPadrão para a codificação em Python
Padrão para a codificação em Python Bonito é melhor que feio. Explícito é melhor que implícito. Simples é melhor que complexo. Complexo é melhor que complicado. Esparso é melhor que denso. Legibilidade
Leia maisAula 3: Manipulando Textos e Imagens
Mineração de Dados Aula 3: Manipulando Textos e Imagens Rafael Izbicki 1 / 24 Nesta Aula: Vamos aprender como manipular imagens e textos (no R). 2 / 24 Em estatística, estamos acostumados a trabalhar com
Leia maisTabelas Hash. informação, a partir do conhecimento de sua chave. Hashing é uma maneira de organizar dados que:
Tabelas Hash Tabelas Hash O uso de listas ou árvores para organizar informações é interessante e produz bons resultados. Porem, em nenhuma dessas estruturas se obtém o acesso direto a alguma informação,
Leia maisAula 6 Mineração Streams Representação dos Dados. Profa. Elaine Faria UFU
Aula 6 Mineração Streams Representação dos Dados Profa. Elaine Faria UFU - 2017 Agradecimentos Este material é baseado No livro Tan et al, 2006 Nos slides do prof. Andre C. P. L. F. Carvalho Agradecimentos
Leia maisRegressão Polinomial e Simbólica
Regressão Polinomial e Simbólica Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Variáveis Não-Lineares 2. Regressão Simbólica 1 Variáveis Não-Lineares Variáveis Não-Lineares Considere
Leia maisORI: Pontuação e o modelo de espaço vetorial
1/1 ORI: Pontuação e o modelo de espaço vetorial Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia Índice 2/1 3/1 Veremos hoje Ordenando resultados de busca: importância
Leia maisCEFET/RJ. Aprendizado de Máquina - Trabalho 01
CEFET/RJ Programa de Pós-graduação em Ciência da Computação Aprendizado de Máquina - Trabalho 01 Prof. Eduardo Bezerra (ebezerra@cefet-rj.br) Setembro/2017 Conteúdo 1 Regressão Linear com uma Variável
Leia maisGSI024 - Organização e Recuperação da
GSI024 - Organização e Recuperação da Informação Ilmério Reis da Silva ilmerio@facom.ufu.br UFU/FACOM/BSI Arquivo 5 - Peso de termos GSI024-ORI Pg:5. 1 Busca paramétrica usando atributos Regiões em documentos
Leia maisARQUITETURA DE COMPUTADORES 21010
ARQUITETURA DE COMPUTADORES 21010 Considere o seguinte conjunto de dados que correspondem ao nome de estudante e à nota por este obtida num determinado trabalho: Nome Nota ALICE 16 JOÃO 10 LIA 12 PAULA
Leia maisAula 7 Medidas de Distância. Profa. Elaine Faria UFU
Aula 7 Medidas de Distância Profa. Elaine Faria UFU - 2017 Agradecimentos Este material é baseado No livro Tan et al, 2006 Nos slides do prof Andre C. P. L. F. Carvalho Agradecimentos Ao professor André
Leia maisProcessamento da Informação
Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Tipos Padrões 2. Variáveis Auxiliares 3. Condicionais 1 Tipos Padrões Tipos Padrões A linguagem Python fornece
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Estrutura de dados: listas Manipulando listas Vetores como listas
Leia maisPRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015
PRIMEIROS PASSOS COM PYTHON Prof. Msc. Luis Filipe Alves Pereira 2015 PRIMEIROS PASSOS COM PYTHON 02/47 O QUE É PYTHON? Python é uma linguagem de propósito geral, de alto nível e interpretada Python será
Leia mais5. Expressões aritméticas
5. Expressões aritméticas 5.1. Conceito de Expressão O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão (ou fórmula) matemática, onde um conjunto de variáveis
Leia maisArquivos invertidos 39
Arquivos invertidos 39 Arquivos invertidos É um mecanismo que utiliza palavras para indexar uma coleção de documentos a fim de facilitar a busca e a recuperação Estruturas de um arquivo invertido Vocabulário
Leia maisProcessamento Digital de Imagens
Processamento Digital de Imagens Aula 05 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... Unidade IV - Processamento
Leia maisFabio Bento
Fabio Bento fbento@ifes.edu.br Códigos Binários São arranjos compostos pelos dígitos binários e para representação de dados; Não obrigatoriamente respeitam as propriedades algébricas, como os sistemas
Leia maisProcessamento de Imagens CPS755
Processamento de Imagens CPS755 aula 01 - geometria projetiva e transformações 2D Antonio Oliveira Ricardo Marroquim 1 / 44 laboratório de processamento de imagens tópicos geometria projetiva transformações
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Mais um tipo numérico print() formatado: clássico pythônico Tuplas
Leia maisOrganização. 1. Introdução 2. Medidas de Similaridade. hierárquicos, de partição) 4. Critérios numéricos para definir o número de clusters
Organização. Introdução 2. Medidas de Similaridade 3. Métodos de Agrupamento (métodos hierárquicos, de partição) 4. Critérios numéricos para definir o número de clusters Métodos de Partição Cada exemplo
Leia maisÁrvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo
PMR2300 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó (exceto a
Leia mais4 Agrupamento de documentos
4 Agrupamento de documentos É a teoria que decide o que podemos observar. Albert Einstein Um dos métodos mais utilizados de mineração de dados descritiva é conhecido como análise de grupos 23. Com ele,
Leia maisFlávio Codeço Coelho, Bruno Cuconato TEXT ANALYTICS EM DOCUMENTOS HISTÓRICOS SENSÍVEIS: CONFIANÇA E ESCALABILIDADE 1 / 19
TEXT ANALYTICS EM DOCUMENTOS HISTÓRICOS SENSÍVEIS: CONFIANÇA E ESCALABILIDADE Flávio Codeço Coelho Bruno Cuconato TEXT ANALYTICS EM DOCUMENTOS HISTÓRICOS SENSÍVEIS: CONFIANÇA E ESCALABILIDADE 1 / 19 Coleções,
Leia maisProgramação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO
Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO Dados em Algoritmos Quando escrevemos nossos programas, trabalhamos com: Dados que nós fornecemos ao programa Dados
Leia maisAprendizado de Máquina (Machine Learning)
Ciência da Computação Aprendizado de Máquina (Machine Learning) Aula 07 Classificação com o algoritmo knn Max Pereira Classificação com o algoritmo (knn) Um algoritmo supervisionado usado para classificar
Leia maisEstruturas de Dados Tabelas de Espalhamento
Estruturas de Dados Tabelas de Espalhamento Prof. Eduardo Alchieri (introdução) Uma estrutura como, as árvores binárias de busca, que trabalhe na ordem de log n é muito eficiente, mas em algumas situações
Leia maisAprendizado por Reforço usando Aproximação
Aprendizado por Reforço usando Aproximação de Funções Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Aproximação de Funções 2. Do the evolution 1 Aproximação de Funções Função Utilidade
Leia maisImplementação dos Algoritmos e Resultados
Capítulo 6 Implementação dos Algoritmos e Resultados 6.1 Considerações Iniciais Diversas situações foram exploradas neste trabalho visando analisar qual seria a wavelet mais adequada para sistemas de extração
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia maisPython: Exceções, Iteradores e Geradores. Claudio Esperança
Python: Exceções, Iteradores e Geradores Claudio Esperança Exceções Quando um programa encontra dificuldades não previstas, diz se que uma condição excepcional ou uma exceção ocorreu Um erro é uma exceção
Leia maisPreTexT II: Descrição da Reestruturação da Ferramenta de Pré-Processamento de Textos XXX RELATÓRIOS TÉCNICOS DO ICMC
Instituto de Ciências Matemáticas e de Computação ISSN - 0103-2569 PreTexT II: Descrição da Reestruturação da Ferramenta de Pré-Processamento de Textos Matheus Victor Brum Soares Ronaldo C. Prati Maria
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação
Leia maisFundamentos da Programação
Fundamentos da Programação Solução do Exame 1 de Fevereiro de 2019 09:00 11:00 1. Usando palavras suas e, no máximo, em cinco linhas responda às seguintes questões. Respostas dadas através de exemplos
Leia maisPré-processamento de dados
Pré-processamento de dados Clodoaldo A. M. Lima, Sarajane M. Peres 13 de agosto de 2015 Programa de Pós-Graduação em Sistemas de Informação Mestrado acadêmico - EACH - USP http://ppgsi.each.usp.br Clodoaldo
Leia maisO estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste
O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os
Leia maisRegressão Linear. Fabrício Olivetti de França. Universidade Federal do ABC
Regressão Linear Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Overfitting 2. Treino e Validação 3. Baseline dos modelos 1 Overfitting Overfit Em muitos casos, a amostra de dados coletada
Leia maisTabelas de hash Acabamos de estudar como implementar uma tabela hashing aberta e estudaremos agora como implementar uma tabela hashing fechada ou
Tabelas de hash Acabamos de estudar como implementar uma tabela hashing aberta e estudaremos agora como implementar uma tabela hashing fechada ou também denominada de tabela hashing com endereçamento aberto.
Leia maisPor que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas
Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas Wrapper Filtros Muitos algoritmos de AM são projetados de modo a selecionar os
Leia mais6 Inserção Seletiva de Nulos
6 Inserção Seletiva de Nulos 6.1 Introdução Neste capítulo será apresentado o algoritmo ADDNULLS - Inserção Seletiva de Nulos. Este algoritmo usa a técnica da esteganografia para esconder os símbolos codificados
Leia maisProgramação I Aula 19 Aritmética com racionais Pedro Vasconcelos DCC/FCUP
Programação I Aula 19 Aritmética com racionais DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Aritmética com racionais 2 Simplificação 3 Operações 4 Comparações DCC/FCUP 2019 2/ 30 Aritmética com racionais
Leia maisModelo Espaço Vetorial. Mariella Berger
Modelo Espaço Vetorial Mariella Berger Agenda Introdução Atribuição de Pesos Frequência TF-IDF Similaridade Exemplo Vantagens e Desvantagens Modelo Espaço Vetorial Introdução Modelo Espaço Vetorial O modelo
Leia maisComputação 1 - Python Aula 10 - Teórica: Estrutura de Dados - Dicionário. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18
Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - 1/ 18 Considere que você precisa fazer uma função que guarde o nome e o telefone de seus amigos. Sua função também deve permitir a consulta
Leia maisFundamentos da Programação
Fundamentos da Programação Solução do exame 12 de Janeiro de 2018 09:00 11:00 1. Indique se cada uma das seguintes afirmações é verdadeira ou falsa. No caso de ser falsa, justifique de forma sucinta. (a)
Leia maisOperador in e Caracteres
Operador in e Caracteres Revisão: Tipo Lógico (Booleano) Dois valores possíveis: True ( verdadeiro) e False (falso) (não esquecer a maiúscula) Curiosidades: True e False são constantes que representam
Leia maisCIC 111 Análise e Projeto de Algoritmos II
CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 27 Square root algorithms Combining algorithms Integer partitions Mo s algorithm Square
Leia maisProcessamento de Imagens CPS755
Processamento de Imagens CPS755 aula 05 - sistemas lineares - parte 2 Antonio Oliveira Ricardo Marroquim 1 / 27 laboratório de processamento de imagens tópicos métodos lineares mínimos quadrados equações
Leia maisDisciplina: Introdução à Engenharia da Computação
Colegiado de Engenharia de Computação Disciplina: Introdução à Engenharia da Computação Aula 07 (semestre 2011.2) Prof. Rosalvo Ferreira de Oliveira Neto, M.Sc. rosalvo.oliveira@univasf.edu.br 2 Representação
Leia maisImplemente a função de remoção de uma chave na tabela hashing fechada em questão. void remover(tabela tabela, int n) {
Implemente a função de remoção de uma chave na tabela hashing fechada em questão. void remover(tabela tabela, int n) { } Tabelas de hash fechada: Exercício int posicao = buscar(tabela, n); if (posicao
Leia maisAprendizado de Máquina
Aprendizado de Máquina Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Introdução 1 Introdução Aprendizado de Máquina Extração de conhecimento. Automatização de tarefas. Tomada de Decisões.
Leia maisNatural Language Processing Dealing with unstructured data
Natural Language Processing Dealing with unstructured data Renata Vieira Joaquim Neto Rio de Janeiro - April, 219 Material em: https://bit.ly/2ygmyje Cronograma Tema: I Dia II Dia Contextualização WE Modelos
Leia maisConsultas por Similaridade em Domínios de Dados Complexos
Consultas por Similaridade em Domínios de Dados Complexos Guilherme Felipe Zabot Orientador: Profº Dr Caetano Traina Jr Roteiro Objetivo Introdução Dados Complexos Representação de Dados Complexos Extração
Leia maisCOMUNICAÇÃO DIGITAL INTRODUÇÃO À TEORIA DE INFORMAÇÃO
COMUNICAÇÃO DIGITAL INTRODUÇÃO À TEORIA DE INFORMAÇÃO Evelio M. G. Fernández - 2011 Introdução à Teoria de Informação Em 1948, Claude Shannon publicou o trabalho A A Mathematical Theory of Communications.
Leia maistextos documentos semi-estruturado
1 Mineração de Textos Os estudos em Aprendizado de Máquina normalmente trabalham com dados estruturados Entretanto, uma grande quantidade de informação é armazenada em textos, que são dados semiestruturados
Leia mais