1) O documento discute a classificação de conteúdo de páginas web usando machine learning e Java. 2) Inclui detalhes sobre como preparar os dados, treinar modelos de classificação e avaliar os resultados. 3) Também aborda implementações práticas usando a biblioteca Apache Mahout e casos reais de classificação de conteúdo web.
Tarefa Data Mining - Classificação de TextosPaulo Lacerda
Este documento resume um projeto de classificação de receitas culinárias em categorias usando aprendizado de máquina. O autor treinou um classificador de Naive Bayes usando ingredientes de receitas e obteve uma acurácia de 57%. Futuros passos incluem testar outros algoritmos e melhorar a preparação dos dados.
1. O documento discute como planejar testes e capacidade para MOSS 2007, incluindo como determinar a taxa de transferência necessária e criar ambientes e casos de teste.
2. É destacada a importância de se definir claramente os objetivos dos testes e de se saber o que medir para atingir esses objetivos.
3. Ferramentas como VSTT e SPTDataPop são apresentadas para auxiliar na criação de ambientes e casos de teste personalizados.
O documento apresenta o currículo e as informações sobre um curso de desenvolvimento web front-end ministrado por Tiago Antônio da Silva. O curso aborda HTML, CSS e JavaScript e inclui aulas, exercícios, provas e um trabalho final individual.
Monitorando APIs REST com o Application InsightsRenato Groff
1) O documento discute monitoramento de serviços REST usando o Application Insights do Azure.
2) Apresenta como o Application Insights coleta automaticamente métricas de desempenho para análise posterior.
3) Fornece dashboards com visualizações que ajudam a identificar problemas de performance e falhas.
Agile Trends 2018 - Além da Automação com Machine LearningEmerson Bertolo
O documento discute como o machine learning pode ser aplicado para melhorar os processos de automação de testes de software. Ele apresenta um caso em que modelos preditivos foram treinados com dados históricos de ciclos de teste para prever atrasos com 80% de acurácia. Também mostra como redes neurais podem ser usadas para detectar elementos de interface em telas e automatizar cliques por meio de visão computacional.
O documento discute a criação e exploração de experimentos de machine learning automatizados no Azure Portal. Ele explica brevemente o que é machine learning e seu fluxo de trabalho, apresenta o Azure Machine Learning Service e sua capacidade de machine learning automatizado, e fornece uma demonstração da gestão de modelos no serviço.
BluDotNet - Conhecendo o Team Foundation Server 2010Rafael Leonhardt
O documento descreve as funcionalidades do Team Foundation Server 2010 para planejamento, execução, build e automação, visibilidade e gerenciamento de projetos de desenvolvimento de software. Ele também discute a migração de outros sistemas para o TFS e demonstra algumas de suas funcionalidades.
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
Nesta sessão abordamos a performance de Sistemas de Informação desenvolvidos na plataforma ASP.NET com recurso a SQL Server com SGBD. Iremos explicar como surgem os problemas de performance em sistemas com alguns anos de existência e qual a abordagem a tomar, quando temos utilizadores insatisfeitos.
Abordaremos também alguns casos de sucesso no mercado a nível de sistemas de alta disponibilidade e como o mercado tem evoluído. De uma forma geral, pretendemos demonstrar técnicas de análise/tuning de performance em ASP.NET e sua evolução ao longo das várias versões, como também algumas técnicas de requisitos para obtenção e estruturação da informação.
Finalmente, o objetivo passa por divulgar procedimentos, técnicas e ferramentas que sirvam como uma referência que possam ser úteis caso surjam problemas de performance nos nossos sistemas de futuro, entre os quais : Do’s & Dont’s, Systematic Tuning, ASP.NET Trace, VS Profiling Tools, SQL Profiler entre outros.
Tarefa Data Mining - Classificação de TextosPaulo Lacerda
Este documento resume um projeto de classificação de receitas culinárias em categorias usando aprendizado de máquina. O autor treinou um classificador de Naive Bayes usando ingredientes de receitas e obteve uma acurácia de 57%. Futuros passos incluem testar outros algoritmos e melhorar a preparação dos dados.
1. O documento discute como planejar testes e capacidade para MOSS 2007, incluindo como determinar a taxa de transferência necessária e criar ambientes e casos de teste.
2. É destacada a importância de se definir claramente os objetivos dos testes e de se saber o que medir para atingir esses objetivos.
3. Ferramentas como VSTT e SPTDataPop são apresentadas para auxiliar na criação de ambientes e casos de teste personalizados.
O documento apresenta o currículo e as informações sobre um curso de desenvolvimento web front-end ministrado por Tiago Antônio da Silva. O curso aborda HTML, CSS e JavaScript e inclui aulas, exercícios, provas e um trabalho final individual.
Monitorando APIs REST com o Application InsightsRenato Groff
1) O documento discute monitoramento de serviços REST usando o Application Insights do Azure.
2) Apresenta como o Application Insights coleta automaticamente métricas de desempenho para análise posterior.
3) Fornece dashboards com visualizações que ajudam a identificar problemas de performance e falhas.
Agile Trends 2018 - Além da Automação com Machine LearningEmerson Bertolo
O documento discute como o machine learning pode ser aplicado para melhorar os processos de automação de testes de software. Ele apresenta um caso em que modelos preditivos foram treinados com dados históricos de ciclos de teste para prever atrasos com 80% de acurácia. Também mostra como redes neurais podem ser usadas para detectar elementos de interface em telas e automatizar cliques por meio de visão computacional.
O documento discute a criação e exploração de experimentos de machine learning automatizados no Azure Portal. Ele explica brevemente o que é machine learning e seu fluxo de trabalho, apresenta o Azure Machine Learning Service e sua capacidade de machine learning automatizado, e fornece uma demonstração da gestão de modelos no serviço.
BluDotNet - Conhecendo o Team Foundation Server 2010Rafael Leonhardt
O documento descreve as funcionalidades do Team Foundation Server 2010 para planejamento, execução, build e automação, visibilidade e gerenciamento de projetos de desenvolvimento de software. Ele também discute a migração de outros sistemas para o TFS e demonstra algumas de suas funcionalidades.
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
Nesta sessão abordamos a performance de Sistemas de Informação desenvolvidos na plataforma ASP.NET com recurso a SQL Server com SGBD. Iremos explicar como surgem os problemas de performance em sistemas com alguns anos de existência e qual a abordagem a tomar, quando temos utilizadores insatisfeitos.
Abordaremos também alguns casos de sucesso no mercado a nível de sistemas de alta disponibilidade e como o mercado tem evoluído. De uma forma geral, pretendemos demonstrar técnicas de análise/tuning de performance em ASP.NET e sua evolução ao longo das várias versões, como também algumas técnicas de requisitos para obtenção e estruturação da informação.
Finalmente, o objetivo passa por divulgar procedimentos, técnicas e ferramentas que sirvam como uma referência que possam ser úteis caso surjam problemas de performance nos nossos sistemas de futuro, entre os quais : Do’s & Dont’s, Systematic Tuning, ASP.NET Trace, VS Profiling Tools, SQL Profiler entre outros.
TDC - Testes e Sistemas legados #quemNunca - SC/2016Fernando Santiago
Esta apresentação aborda um estudo sobre testes de software, seus paradigmas e a aplicação da automação de testes em um sistema legado. Para a aplicação da metodologia de testes apresentada, foi utilizado como estudo de caso o sistema Sienge, sistema de gestão voltado a Indústria da Construção, desenvolvido em ambiente web. Este estudo apresenta e aplica técnicas de testes relacionadas a sistemas isentos de padrões que impedem a garantia da qualidade do sistema ao todo. Entretanto, o trabalho visa compreender como inserir as práticas de testes automatizados no ciclo de vida de desenvolvimento de um software utilizando uma abordagem pragmática.
Este documento apresenta o plano de aula de um curso de PHP e MySQL com 32 horas. O curso ensinará HTML, JavaScript, desenvolvimento web com PHP e integração com banco de dados MySQL. O plano detalha os tópicos a serem ensinados em cada aula e a avaliação inclui uma pesquisa, projetos semanais e um projeto final prático integrado com banco de dados.
O documento descreve a implementação de Java pela empresa PROCEMPA para desenvolver sistemas para o setor público de forma produtiva, flexível e de baixo custo. A empresa criou um framework com arquitetura padronizada usando Java, Hibernate, Struts e taglibs customizadas para aumentar a produtividade. O framework possibilitou o desenvolvimento de 19 projetos em 1,5 anos e continua em evolução para atender as necessidades do setor público.
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018Renato Groff
Renato Groffe é um especialista em tecnologia Microsoft com mais de 15 anos de experiência. Ele é um Microsoft MVP e MTAC e atua como autor técnico, palestrante e organizador de eventos sobre .NET. Seu perfil descreve suas credenciais e contatos.
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...Renato Groff
Apresentação sobre o uso do Application Insights (serviço que integra o Microsoft Azure) no monitoramento de APIs REST, utilizando também para isto o ASP.NET Core e o Azure App Service. Palestra realizada em 01/09/2018 durante o Azure Weekend 2018, evento promovido pelo grupo Campinas .NET na cidade de Campinas-SP.
O documento descreve um treinamento sobre performance e tunagem de ambientes Linux. Ele detalha a pesquisa realizada, os objetivos do treinamento, pré-requisitos, conteúdo e carga horária. O treinamento abordará tópicos como distribuições Linux para performance, gerenciamento de processos, sistemas de arquivos, ferramentas de monitoramento, benchmarking, tunagem para aplicações, virtualização e Docker.
Testes automatizados de aplicativos na Google Cloud Platform (GCP)
Esta apresentação foi feta com carinho para o pessoal de Manaus da comunidade I'am QA que organizou a TheBugConference.
O documento descreve um sistema para gerar indicadores de satisfação de clientes para montadoras de veículos. O sistema irá importar pesquisas de satisfação, gerar os indicadores, e disponibilizar relatórios. As tecnologias escolhidas foram Java, EJB, JPA, JSF e JBoss para aproveitar as vantagens da plataforma Java e padrões JEE.
Machine Learning: Do Notebook ao modelo em produçãoMarlesson Santana
O documento discute o pipeline completo de machine learning, desde a preparação dos dados até o deploy do modelo em produção. Ele introduz os principais conceitos de ML e descreve as etapas do pipeline, incluindo preparação dos dados, treinamento do modelo, deploy do serviço e feedback loop. Além disso, apresenta o MLflow como uma plataforma que organiza todo o pipeline de ML com reprodutibilidade, documentação e capacidade de deploy simplificado em diferentes ambientes.
TechEd 2011: Raio-X do SQL Server: Arquitetura Interna do Gerenciador de Ban...Fabrício Catae
1) O documento descreve a arquitetura interna do SQL Server, incluindo como armazena e indexa dados, gerencia a memória e executa consultas.
2) Os dados são armazenados em estruturas como IAM, GAM, SGAM e PFS e indexados usando índices agrupados ou não-agrupados.
3) O gerenciador de buffer armazena dados e índices na memória para rápido acesso, escrevendo-os periodicamente no disco através do processo de escrita preguiçosa.
Design Patterns para Tuning Pentaho com Ctoolse-Setorial
Uma "receita de bolo" com os passos comumente seguidos para tunar um dashboard, incluindo boas práticas, ferramentas e configurações. Os fontes do exemplo podem ser baixados livremente de http://www.e-setorial.com.br/pentahoday2017/DesignPatternsPentaho 09-12-57-284.zip
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...Renato Groff
Renato Groffe é um especialista em tecnologia .NET com mais de 15 anos de experiência. Ele é um Microsoft MVP e MTAC que apresenta sobre Application Insights e outras tecnologias. Neste documento, ele fornece uma visão geral do Application Insights, incluindo como ele funciona para monitorar aplicativos, métricas que pode rastrear e integrações com outras soluções.
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...Renato Groff
Apresentação realizada durante o DevOps Saturday, um evento promovido pelo grupo Campinas .NET na cidade de Campinas-SP em 10/11/2018. Esta palestra abordou a utilização do Azure Application Insights, Logic Apps e Slack no monitoramento de aplicações Web, fazendo também uso para isto do Azure App Service e do ASP.NET Core.
O documento resume o currículo de Eric Gallardo, um profissional de TI brasileiro com quase 20 anos de experiência em projetos para internet e gestão corporativa utilizando diversas linguagens e metodologias como .NET, Java, Scrum e ITIL. O treinamento aborda conceitos e frameworks como ASP.NET, MVC, WebForms, Entity Framework e AJAX/jQuery além de ferramentas como Visual Studio e plugins.
5 coisas que todo desenvolvedor deveria saber sobre sql serverMarcos Freccia
O documento apresenta 5 tópicos sobre SQL Server que todo desenvolvedor deveria saber: 1) Evitando uso de variáveis locais; 2) Conversão Implícita vs Index Seek; 3) Seletividade dos Índices; 4) Heap Table; 5) Utilização de SP_ em procedures. O palestrante é Marcos Freccia, especialista em SQL Server.
Este documento apresenta uma introdução aos sistemas de recomendação, descrevendo seus principais métodos, arquitetura e frameworks. Os três principais algoritmos de recomendação são discutidos: collaborative filtering, content-based e cold start. Métricas comuns para avaliar a qualidade das recomendações também são apresentadas.
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
O documento discute tendências e dicas para o desenvolvimento de software. Ele aborda tópicos como por que desenvolver software é difícil, motivos de falha em projetos, linguagens populares, boas práticas como teste e integração contínua, metodologias ágeis, tendências como computação em nuvem e NoSQL e por fim dicas para desenvolvedores.
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
O documento apresenta o framework Play! para desenvolvimento de aplicações web com Java. Apresenta uma introdução ao framework, instruções de instalação e configuração, criação de modelos, controllers e views, utilização de módulos e deploy da aplicação.
ORM (Object Relational Mapper) permite mapear objetos de programação orientada a objetos para tabelas em bancos de dados relacionais. Fornece métodos CRUD e abstrai queries SQL. Existem vários frameworks como Hibernate, Entity Framework e SQLAlchemy que implementam ORM para diferentes linguagens.
Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...Joel Pinho Lucas
O documento discute sistemas de recomendação na Globo, abordando o contexto de recomendações, famílias de algoritmos utilizados como recomendação baseada em item, baseada em usuário e filtragem colaborativa, e desafios como escalabilidade e cold start.
Boas práticas de desenvolvimento para Jupyter NotebooksJoel Pinho Lucas
O documento fornece recomendações de boas práticas para codificação em Jupyter Notebooks, incluindo usar um padrão de estilo de código como PEP8, usar nomes descritivos para variáveis e funções, evitar código duplicado, encapsular código em funções e classes, e remover código complexo do notebook sempre que possível.
Mais conteúdo relacionado
Semelhante a Utilizando Machine Learning e Java para classificar o conteúdo de páginas Web
TDC - Testes e Sistemas legados #quemNunca - SC/2016Fernando Santiago
Esta apresentação aborda um estudo sobre testes de software, seus paradigmas e a aplicação da automação de testes em um sistema legado. Para a aplicação da metodologia de testes apresentada, foi utilizado como estudo de caso o sistema Sienge, sistema de gestão voltado a Indústria da Construção, desenvolvido em ambiente web. Este estudo apresenta e aplica técnicas de testes relacionadas a sistemas isentos de padrões que impedem a garantia da qualidade do sistema ao todo. Entretanto, o trabalho visa compreender como inserir as práticas de testes automatizados no ciclo de vida de desenvolvimento de um software utilizando uma abordagem pragmática.
Este documento apresenta o plano de aula de um curso de PHP e MySQL com 32 horas. O curso ensinará HTML, JavaScript, desenvolvimento web com PHP e integração com banco de dados MySQL. O plano detalha os tópicos a serem ensinados em cada aula e a avaliação inclui uma pesquisa, projetos semanais e um projeto final prático integrado com banco de dados.
O documento descreve a implementação de Java pela empresa PROCEMPA para desenvolver sistemas para o setor público de forma produtiva, flexível e de baixo custo. A empresa criou um framework com arquitetura padronizada usando Java, Hibernate, Struts e taglibs customizadas para aumentar a produtividade. O framework possibilitou o desenvolvimento de 19 projetos em 1,5 anos e continua em evolução para atender as necessidades do setor público.
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018Renato Groff
Renato Groffe é um especialista em tecnologia Microsoft com mais de 15 anos de experiência. Ele é um Microsoft MVP e MTAC e atua como autor técnico, palestrante e organizador de eventos sobre .NET. Seu perfil descreve suas credenciais e contatos.
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...Renato Groff
Apresentação sobre o uso do Application Insights (serviço que integra o Microsoft Azure) no monitoramento de APIs REST, utilizando também para isto o ASP.NET Core e o Azure App Service. Palestra realizada em 01/09/2018 durante o Azure Weekend 2018, evento promovido pelo grupo Campinas .NET na cidade de Campinas-SP.
O documento descreve um treinamento sobre performance e tunagem de ambientes Linux. Ele detalha a pesquisa realizada, os objetivos do treinamento, pré-requisitos, conteúdo e carga horária. O treinamento abordará tópicos como distribuições Linux para performance, gerenciamento de processos, sistemas de arquivos, ferramentas de monitoramento, benchmarking, tunagem para aplicações, virtualização e Docker.
Testes automatizados de aplicativos na Google Cloud Platform (GCP)
Esta apresentação foi feta com carinho para o pessoal de Manaus da comunidade I'am QA que organizou a TheBugConference.
O documento descreve um sistema para gerar indicadores de satisfação de clientes para montadoras de veículos. O sistema irá importar pesquisas de satisfação, gerar os indicadores, e disponibilizar relatórios. As tecnologias escolhidas foram Java, EJB, JPA, JSF e JBoss para aproveitar as vantagens da plataforma Java e padrões JEE.
Machine Learning: Do Notebook ao modelo em produçãoMarlesson Santana
O documento discute o pipeline completo de machine learning, desde a preparação dos dados até o deploy do modelo em produção. Ele introduz os principais conceitos de ML e descreve as etapas do pipeline, incluindo preparação dos dados, treinamento do modelo, deploy do serviço e feedback loop. Além disso, apresenta o MLflow como uma plataforma que organiza todo o pipeline de ML com reprodutibilidade, documentação e capacidade de deploy simplificado em diferentes ambientes.
TechEd 2011: Raio-X do SQL Server: Arquitetura Interna do Gerenciador de Ban...Fabrício Catae
1) O documento descreve a arquitetura interna do SQL Server, incluindo como armazena e indexa dados, gerencia a memória e executa consultas.
2) Os dados são armazenados em estruturas como IAM, GAM, SGAM e PFS e indexados usando índices agrupados ou não-agrupados.
3) O gerenciador de buffer armazena dados e índices na memória para rápido acesso, escrevendo-os periodicamente no disco através do processo de escrita preguiçosa.
Design Patterns para Tuning Pentaho com Ctoolse-Setorial
Uma "receita de bolo" com os passos comumente seguidos para tunar um dashboard, incluindo boas práticas, ferramentas e configurações. Os fontes do exemplo podem ser baixados livremente de http://www.e-setorial.com.br/pentahoday2017/DesignPatternsPentaho 09-12-57-284.zip
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...Renato Groff
Renato Groffe é um especialista em tecnologia .NET com mais de 15 anos de experiência. Ele é um Microsoft MVP e MTAC que apresenta sobre Application Insights e outras tecnologias. Neste documento, ele fornece uma visão geral do Application Insights, incluindo como ele funciona para monitorar aplicativos, métricas que pode rastrear e integrações com outras soluções.
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...Renato Groff
Apresentação realizada durante o DevOps Saturday, um evento promovido pelo grupo Campinas .NET na cidade de Campinas-SP em 10/11/2018. Esta palestra abordou a utilização do Azure Application Insights, Logic Apps e Slack no monitoramento de aplicações Web, fazendo também uso para isto do Azure App Service e do ASP.NET Core.
O documento resume o currículo de Eric Gallardo, um profissional de TI brasileiro com quase 20 anos de experiência em projetos para internet e gestão corporativa utilizando diversas linguagens e metodologias como .NET, Java, Scrum e ITIL. O treinamento aborda conceitos e frameworks como ASP.NET, MVC, WebForms, Entity Framework e AJAX/jQuery além de ferramentas como Visual Studio e plugins.
5 coisas que todo desenvolvedor deveria saber sobre sql serverMarcos Freccia
O documento apresenta 5 tópicos sobre SQL Server que todo desenvolvedor deveria saber: 1) Evitando uso de variáveis locais; 2) Conversão Implícita vs Index Seek; 3) Seletividade dos Índices; 4) Heap Table; 5) Utilização de SP_ em procedures. O palestrante é Marcos Freccia, especialista em SQL Server.
Este documento apresenta uma introdução aos sistemas de recomendação, descrevendo seus principais métodos, arquitetura e frameworks. Os três principais algoritmos de recomendação são discutidos: collaborative filtering, content-based e cold start. Métricas comuns para avaliar a qualidade das recomendações também são apresentadas.
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
O documento discute tendências e dicas para o desenvolvimento de software. Ele aborda tópicos como por que desenvolver software é difícil, motivos de falha em projetos, linguagens populares, boas práticas como teste e integração contínua, metodologias ágeis, tendências como computação em nuvem e NoSQL e por fim dicas para desenvolvedores.
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
O documento apresenta o framework Play! para desenvolvimento de aplicações web com Java. Apresenta uma introdução ao framework, instruções de instalação e configuração, criação de modelos, controllers e views, utilização de módulos e deploy da aplicação.
ORM (Object Relational Mapper) permite mapear objetos de programação orientada a objetos para tabelas em bancos de dados relacionais. Fornece métodos CRUD e abstrai queries SQL. Existem vários frameworks como Hibernate, Entity Framework e SQLAlchemy que implementam ORM para diferentes linguagens.
Semelhante a Utilizando Machine Learning e Java para classificar o conteúdo de páginas Web (20)
Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...Joel Pinho Lucas
O documento discute sistemas de recomendação na Globo, abordando o contexto de recomendações, famílias de algoritmos utilizados como recomendação baseada em item, baseada em usuário e filtragem colaborativa, e desafios como escalabilidade e cold start.
Boas práticas de desenvolvimento para Jupyter NotebooksJoel Pinho Lucas
O documento fornece recomendações de boas práticas para codificação em Jupyter Notebooks, incluindo usar um padrão de estilo de código como PEP8, usar nomes descritivos para variáveis e funções, evitar código duplicado, encapsular código em funções e classes, e remover código complexo do notebook sempre que possível.
Discovering Lookalike audiences at scale for digital publishing with Spark MLlibJoel Pinho Lucas
This document discusses using Spark MLlib to discover lookalike audiences at scale for digital publishing. It describes a two-step approach: 1) using FP-Growth to find frequent patterns in a seed audience, and 2) calculating correlation indexes to identify lookalike users matching those patterns from a large user profile dataset. The approach allows advertisers to reach much larger potential audiences resembling a smaller seed group. Spark MLlib's FP-Growth algorithm is implemented to efficiently analyze large datasets without candidate generation. Unit testing and Docker are used to test and debug the Spark jobs.
Casos de Uso de Big Data e Ciência de Dados no MercadoJoel Pinho Lucas
Diante do crescente volume de dados e da cada vez maior diversidade de conteúdos na Web, faz-se necessário entender o comportamento de navegação dos usuários para desenvolver e utilizar técnicas de personalização de conteúdo. Dentro deste contexto, esta palestra dará uma visão geral de tecnologias utilizadas atualmente em Big Data, onde também serão debatidos tipos de perfis profissionais e competências técnicas exigidas para trabalhar na área de dados dentro da indústria. O palestrante também compartilhará a experiência no desenvolvimento de algumas arquiteturas de dados ao longo de sua carreira, destacando o desenvolvimento de um sistema de recomendação em uma startup de games e o de uma ferramenta de inteligência de dados aplicada a publicidade digital dentro de uma das maiores bases da dados da América Latina.
Building machine learning applications locally with sparkJoel Pinho Lucas
In times of huge amounts of heterogeneous data available, processing and extracting knowledge requires more and more efforts on building complex software architectures. In this context, Apache Spark provides a powerful and efficient approach for large-scale data processing. This talk will briefly introduce a powerful machine learning library (MLlib) along with a general overview of the Spark framework, describing how to launch applications within a cluster. In this way, a demo will show how to simulate a Spark cluster in a local machine using images available on a Docker Hub public repository. In the end, another demo will show how to save time using unit tests for validating jobs before running them in a cluster.
Conceitos e práticas em Sistemas de RecomendaçãoJoel Pinho Lucas
O documento discute sistemas de recomendação, incluindo técnicas como filtragem colaborativa e baseada em conteúdo, problemas comuns e desafios, e algoritmos como KNN e TF-IDF. Ele também fornece exemplos de casos e recursos para começar a desenvolver sistemas de recomendação.
O documento discute Big Data e sistemas de recomendação. Apresenta o que é Big Data, NoSQL, MongoDB e Hadoop. Também descreve sistemas de recomendação e como eles são usados em e-commerce. Por fim, fornece dicas sobre como entrar no mundo de Big Data, incluindo cursos online, blogs e eventos.
2. Agenda
• Personalização de conteúdo na Web
• Classificação de páginas Web baseada em interesses
• Classificação baseada em texto
• Implementação dos algoritmos
• Extensão para Latam (espanhol)
• Cases e Resultados
2
4. • Dados: 1.5 bilhões de novos registros / dia
• Métricas para medir eficiência: CTR (Click Through Rate)
50% maior
• Resposta rápida: RTB (Real Time Bidding) precisa ser
em até 300ms
4
Personalização de conteúdo na Web -
Tail Target
8. Classificação Baseada em Texto
Texto
Relevante
Extrator de Texto
Crawling
Representação de um link web:
1 15749 aluguel
2 12208 casa
3 11456 julho
4 10272 dia
5 9232 sao paulo
6 9177 procurar
7 8958 vender
8 8779 imóvel
9 8664 praia
10 8191 garagem
11 7626 carro
12 7580 preço
13 7453 quarto
14 7246 construção
…….
n
Extrator de Termos
Frequentes
Interesse Classificador
9. 1. Obter um conjunto de dados atribuindo um label (classe) em cada registro
2. Transformar (pré-processar) os dados e obter as features a serem
treinadas
3. Dividir o conjunto de dados entre conjunto de treino e conjunto de teste
4. Treinar o conjunto de treino para obter um modelo de classificação
5. Usar o conjunto de teste (retirar label) para avaliar o modelo
6. Retornar ao passo 4 se o resultado não for satisfatório
Aprendizagem Supervisionada - Classificação
9
10. Classificação Baseada em Texto
1. Obter um conjunto de dados atribuindo um label (classe) em cada registro
10
Crawler
1- http://www.futebolparatodos.com.ar/noticia1.php
2- http://www.futebolparatodos.com.ar/boca.php
3- http://www.futebolparatodos.com.ar/camp/1.php
4- http://www.futebolparatodos.com.ar/pagina2.php
5- http://www.futebolparatodos.com.ar/partidos.html
…
101- http://mundod.lavoz.com.ar/futbol/boca_juniors.asp
102- http://mundod.lavoz.com.ar/futbol/pagina1.html
103- http://mundod.lavoz.com.ar/futbol/river.php
104- http://mundod.lavoz.com.ar/futbol/pagina2.php
105- http://mundod.lavoz.com.ar/futbol/noticia_partido.php
…
3000- http://mundod.lavoz.com.ar/futbol/camp/equipos.php
Tamanho da amostra precisa ser representativo!!
11. Classificação Baseada em Texto
2. Preparar os dados e obter as features a serem treinadas
11
C. Filtrar Stop Words da língua em questão. Ex: eu, ao, para, é, etc. (Português)
B. Tokenize
A. Estrutura de dados onde as freqüência das palavras no texto sejam as
features (bag of words). Ex:
12. Classificação Baseada em Texto
2. Transformar (pré-processar) os dados e obter as features a serem
treinadas
12
D. Stemming de texto
Palavra Stem
computador comput
computadores comput
computar comput
bebezinho bebe
bebe bebe
bebezinhos bebe
bebezinha bebe
13. Classificação Baseada em Texto
2. Transformar (pré-processar) os dados e obter as features a serem
treinadas
13
E. Preparar o input baseado em TF*IDF (Term Frequency * Inverse Document Frequency)
Palavra TF IDF TF*IDF
gol 5 1.217 6.085
dia 8 0.142 1.136
brasil 3 0.987 2.961
trave 3 1.681 5.043
14. Classificação Baseada em Texto
3. Dividir o conjunto de dados entre conjunto de treino e conjunto de teste
80% treino
20% teste
60% treino
20% teste
20% validação
holdout set-validation
k-fold cross-validation
15. Classificação Baseada em Texto
4. Usar o conjunto de treino para obter um modelo de classificação
Classificador
Finanças
1 12946 investimento
2 12555 cotação
3 12443 renda
4 11762 câmbio
5 10642 lucro
6 9110 salário
7 8783 bolsa
8 8661 brasil
9 8562 imóvel
10 8388 bolso
11 8217 real
12 8067 economia
13 8016 moeda
15 7742 renda
Futebol
1 26682 gol
2 25256 jogo
3 19407 brasileirão
4 17268 time
5 15354 brasil
6 15297 copa
7 15117 jogador
8 15057 mundial
9 14425 atlético
10 14181 futebol
11 13081 partida
12 13042 vitória
13 12603 seleção
14 12301 bola
Saúde
1 20385 idoso
2 18449 remédio
3 12278 farmácia
4 11094 doença
5 10228 receita
6 10027 grave
7 9701 médico
8 9203 vida
9 8266 aposentadoria
10 7371 oral
11 7331 saúde
12 6901 pílula
13 6840 bula
14 6619 inss
Moda
1 42811 verão
2 37103 look
3 33971 desfile
4 28767 vestido
5 28149 moda
6 26167 março
7 26075 dia
8 23060 coleção
9 22901 modelo
10 21431 inverno
11 20444 bonita
12 19834 fashion
13 19353 festa
14 18471 peça
…
MODELO
Conjunto de
Treino
16. Classificação Baseada em Texto
5. Usar o conjunto de teste (retirar label) para avaliar o modelo
16
Matriz de Confusão
FUTEBOL MODA BELEZA CINEMA
FUTEBOL 956 9 11 24
MODA 1 890 104 5
BELEZA 3 28 967 2
CINEMA 22 37 26 915
17. Implementação dos Algoritmos
Apache Mahout:
• Projeto da Apache Software Foundation para disponibilizar algoritmos e
implementações relacionadas a Machine Learning
• Algoritmos para (predominantemente) Classificação, Filtragem
Colaborativa, Clustering, Conjunto de items frequentes
• Bibliotecas Java para operações matemáticas para machine learning,
álgebra linear e estatística
17
18. Implementação dos Algoritmos
Apache Mahout:
• Grande parte das implementações são rodam de maneira distribuída em
clusters Hadoop (Map-Reduce)
• Possui implementações single-node ou independentes do Hadoop
18
20. Implementação dos Algoritmos
Regressão Logística:
• Modelo de classificação usado para prever a probabilidade de ocorrência
de um evento
• Bastante utilizado para detecção de fraude, prever eficiência de anúncios
(clique), probalidade de compra de items, etc
20
21. Implementação dos Algoritmos
Regressão Logística:
• Função logística (Sigmoide):
21
• Equação com mais de uma variável (x) para estimar o valor do label:
Aprender valores dos coeficientes!
22. Implementação dos Algoritmos
Regressão Logística:
• Cost function (erro): leva em conta a diferença entre valor previsto e valor
observado
• SGD (Stochastic Gradient Descendent): algoritmo de otimização que
tenta minimizar a cost function iterativamente
22
23. Implementação dos Algoritmos
Online Logistic Regression:
• Algoritmo sequencial (não paralelo)
23
• Implementa SGD (online): iterar um a um dos exemplos do treino
25. Implementação dos Algoritmos
Adaptive Logistic Regression:
• Executa múltiplos algoritmos de SGD testando diferentes parâmetros
• Composto por 20 CrossFoldLearner
• Escolhe o algoritmo que apresentou melhor modelo
25
26. Implementação dos Algoritmos
26
1. Confusion Matrix / Precisão (> 96%)
2. Top Frequency Words
Avaliação dos Modelos Treinados:
Futebol
1 26682 gol
2 25256 jogo
3 19407 brasileirão
4 17268 time
5 15354 brasil
6 15297 copa
7 15117 jogador
8 15057 mundial
9 14425 atlético
10 14181 futebol
11 13081 partida
12 13042 vitória
13 12603 seleção
14 12301 bola
28. Extensão para Latam
• Modelos novos (Argentina, Colômbia, México, EUA)
• Sementes novas
• Stemmer novo
• Stop words por língua
• Identificar Interesses sensíveis ao fator local:
ex: Futebol, Política, Música, etc.
contra ex: Moda, Beleza, Mergulho
28
29. Extensão para Latam
29
México = 8745
Colômbia = 88
Argentina = 32
Chile = 23
Brasil = 3
Acessos por país:
Detecção do País
Algoritmo Detecção
de Língua
http://labs.cybozu.co.jp/en/
+
30. Cases e Resultados
Treinamento -
Algoritmo
Sites para Treino e
Teste
Lista de Categorias
no Label
Modelo
Lista de URLs com
Label atribuído
Off - line
Classificação
utilizando os
Modelos
Conteúdo Textual
Relevante do Link
Interesse
previsto ao Link
Online
31. Cases e Resultados
Problema: corridosblindados.org classificado como CorridaDeAventura
Estratégia: Inserir sites de “música narco” nas sementes de música
31
32. Cases e Resultados
Problema: notícias do MHM classificado como Futebol
Estratégia: filtrar páginas que passaram pelo crawler e que não são de Futebol
32
33. Cases e Resultados
Problema: mudança de conteúdo de times de futebol
Estratégia: atualizar sementes e re-treinar modelos periodicamente
33