Agregador RSS PoliClipping

Esse artigo pretende apresentar brevemente o projeto de formatura de graduação feito por mim sob a orientação do Professor Jorge Kinoshita.

O objetivo deste projeto é criar um agregador de conteúdo (denominado  genericamente notícias daqui para frente) baseado em feeds RSS.
A ideia do projeto surgiu após o anúncio da desativação do Google Reader, quando vários usuários lamentaram o seu fim. Então, decidimos criar algo semelhante.

O agregador é capaz de realizar as seguintes funções:

assinatura de feeds;
sugestão de notícias potencialmente interessantes ao usuário;
geração de uma pagina inicial com as notícias recomendadas ao usuário.

RSS
O RSS, sigla pra Real Simple Syndication (“Distribuição Bem Simples”, em tradução livre), é um padrão que facilita a distribuição de conteúdo pela Internet.

Geradores de conteúdo, como portais de notícias ou blogs, disponibilizam um endereço que contém um documento RSS com um breve resumo das mais novas (geralmente um título, uma descrição e o link no qual o item pode ser acessado); este endereço é o que se chama feed RSS. O documento presente nos feeds RSS é atualizado por seus mantenedores, conforme novas notícias são geradas.

Um agregador RSS provê um serviço de assinatura de feeds RSS: o agregador checa periodicamente por novos documentos em feeds RSS e armazena as notícias lá presentes, para que o usuário possa acessá-las mais tarde. Assim, agregadores RSS permitem que seus usuários possam ter acesso a notícias de vários canais em um único lugar.
Classificação de notícias
Quando um usuário lê uma notícia através do PoliClipping, esta notícia é marcada como lida no banco de dados no qual ela foi armazenada; com base nas palavras contidas no título e na descrição das notícias lidas, um classificador é construído para avaliar a probabilidade de outras notícias provenientes dos feeds assinados pelo usuário pertencerem a cada uma de duas categorias: notícias interessantes ou desinteressantes para o usuário.

O classificador utilizado é o naive Bayes, um método simples de aprendizado supervisionado que utiliza a hipótese simplificadora de independência entre as palavras dada uma determinada categoria: em outras palavras, a ocorrência de uma palavra em uma notícia não influencia a probabilidade da ocorrência de outras palavras na mesma notícia.

Para determinar se uma notícia é interessante para o usuário, o classificador:

extrai as palavras do seu título e da sua descrição;
compara as palavras extraídas com as das notícias utilizadas no treinamento;
estima a probabilidade da notícia pertencer a cada uma das categorias (interessante ou desinteressante).

Para saber mais:

sobre RSS
sobre o classificador naive Bayes
acesse o repositório do projeto

VN:RO [1.9.11_1134]
0 Comentários

Sistema Imersivo para Criação e Manipulação de Esboços em 3D

Por caue.pan
Sistema Imersivo para Criação e Manipulação de Esboços em 3D

Este artigo tem o objetivo de apresentar o Projeto de Formatura desenvolvido em 2014 pelos alunos Cauê Felipe Brighenti Pan, Johnny Nicolas Yaya Chumpitaz e Ricardo Massakazu Ito, sob orientação do Pro. Dr. Romero Tori, do Departamento de Computação e Sistemas Digitais da Poli-USP.

 



Objetivo do Trabalho
Nosso projeto tem como principal objetivo desenvolver um sistema para criação de esboços em 3D dentro de um ambiente virtual. A criação do esboço se dará por meio de gestos com as mãos do usuário e será possível editar e interagir com o esboço, fazendo também uso de comandos de voz.

 
Motivação
Muitas aplicações podem se beneficiar de uma tecnologia que permita a geração de esboços em 3D. Entre elas, pode-se citar engenharia civil, arquitetura, medicina, produção artística e entretenimento.

Na engenharia civil e na arquitetura, esboços 3D podem ser utilizados para a auxiliar na explicação de maquetes que podem ser criadas ou carregadas para orientar o projeto de construções e design de ambientes. Na medicina, tais esboços podem auxiliar na simulação de procedimentos cirúrgicos ou na visualização da anatomia humana para ensino. No setor de entretenimento, há a possibilidade de aumentar a interação em jogos de tabuleiro, através da produção de miniaturas tridimensionais de personagens e ambientes. Ainda, um artista poderia utilizar esboços 3D na produção de suas obras e experimentação de técnicas de criação.

Além disso, este projeto poderá contribuir com o projeto VIDA (Virtual Interactive Distance-learning on Anatomy), que vem sendo desenvolvido em parceria com o LApIS (Laboratório de Pesquisa em Informática na Saúde) da EACH/USP, o Interlab (Laboratório de Pesquisa em Tecnologias Interativas) da POLI/USP e o Lpai (Laboratório de Pesquisa em Ambientes Interativos) do Centro Universitário de Senac.

O projeto VIDA visa o desenvolvimento de um ambiente virtual para ensino de anatomia, com base no Atlas Anatômico Virtual, projetando imagens em 3D que podem ser manipuladas com as próprias mãos do usuário. Com a adição da funcionalidade de esboço em 3D, será possível que o usuário esboce por cima do modelo 3D projetado, aumentando a sua interação.

Acreditamos, pois, que o produto final desse Projeto de Formatura tem vasta aplicabilidade, o que justifica sua realização, e ainda não existe um produto deste tipo disseminado na sociedade. Além disso, há grande potencial de aprendizado para a equipe do projeto, já que nenhum dos componentes tem experiências anteriores sobre esse assunto.

 
Ferramentas empregadas
Para possibilitar a criação dos esboços tridimensionais em um ambiente de realidade virtual, foram utilizadas as seguintes ferramentas:

Oculus Rift: responsável pela imersão visual do usuário, o Oculus Rift é um HMD (Head-Mounted Display) especializado em Realidade Virtual e desenvolvido pela empresa Oculus VR.]


 

Leap Motion: equipamento que reconhece movimentos dos dedos/mãos do usuário. Segundo a fabricante, a precisão chega a até um centésimo de milímetro.


 

Unity3D: ferramenta poderosa criada pela Unity Technologies, bastante difundida e que permite o desenvolvimento de jogos tanto em 2D quanto em 3D.

 

Além disso, foi adicionado suporte ao uso de mouse, teclado e monitor, para contemplar casos de uso em que o usuário não dispõe do Leap Motion e/ou Oculus Rift. Por fim, foi adicionado suporte a comandos de voz, para complementar a experiência do usuário em situações nas quais os gestos não são suficientes.

 
Resultados
As funcionalidades disponíveis ao término do projeto são:

Criação de linhas e superfícies em três dimensões;
Alteração de cor;
Remoção total ou parcial do esboço;
Desfazer/refazer ações;
Alteração de escala do esboço em uma, duas ou três dimensões;
Seleção, translação e rotação de esboços;
Geração de formas vetorizadas (círculos e retas) a partir de esboços imperfeitos criados pelo usuário.

A imagem a seguir exibe uma situação típica de uso do sistema de Esboços 3D:

 

Um exemplo de esboço produzido através do sistema:

 

 

VN:RO [1.9.11_1134]
0 Comentários

Localizador energeticamente eficiente para Android baseado em GPS, acelerômetro e bússola

Localizador energeticamente eficiente para Android baseado em GPS, acelerômetro e bússola

Esse artigo pretende apresentar brevemente o projeto de formatura de graduação feito por mim, João Victor Henna Sallaberry e Thales Santos, que consiste em melhorar a eficiência energética do sistema de localização GPS do Android, usando o acelerômetro e a bússula para auxiliar no posicionamento espacial.

(mais)

VN:RO [1.9.11_1134]
0 Comentários

Mulheres na computação em 2014

Mulheres na computação em 2014

Dia 8 de março foi o Dia Internacional da Mulher. Esse dia é considerado um dia de luta pela igualdade de gênero. Por isso, gostaria de propor uma reflexão sobre o papel e a atual situação das mulheres nas carreiras ligadas à computação.

(mais)

VN:RO [1.9.11_1134]
1 Comentário

Laravel, o framework PHP que me fez voltar a gostar de programar

Laravel, o framework PHP que me fez voltar a gostar de programar

No meu segundo estágio do COOP, usei alguns frameworks Java que mais atrapalhavam do que ajudavam…

Depois, trabalhando na Fábrica de Aplicativos, não cheguei a programar, mas vi o sofrimento dos meus colegas com outro framework (que não merece um link).

Isso me causou um probleminha com frameworks… com algumas discussões acaloradas com o pessoal do Kauplus e da Plataformatec (sim, esse post tem bastante jabá) sobre Rails.

Tendo isso embuído em meu ser, quando decidi fazer meu conversor de canal de YouTube para podcast, nem pensei em usar framework… fiz tudo em PHP puro! Like a boss!

Porém, quando chegou o momento de crescer, de ter ACL, código organizável, evitar SQL Injection etc., cheguei à conclusão de que teria que partir pra um framework pra não ficar maluco cuidando de cada um desses detalhes manualmente. (mais)

VN:RO [1.9.11_1134]
17 Comentários

Lean Startup… é de comer?

Lean Startup… é de comer?

Comecei a escrever um post que falava basicamente sobre alguns dos meus projetos pessoais… como foram criados… os problemas que tive… as soluções que adotei… os frameworks que usei… enfim, muitas coisas que tinham uma conexão para mim, mas que precisaria de um livro para fazerem sentido para o leitor.

Percebi que não fazia sentido escrever uma bíblia intitulada “Lean Startup, Laravel, Tubelivery, Faviconit e mais algumas coisas aleatórias” – esse era o título do post – e resolvi picotar em posts menores e mais focados.

Nesse primeiro falarei sobre Lean Startup (Startup Enxuta, em português), falando um pouco sobre minha experiência usando esta metodologia de criação de produtos e mercados. (mais)

VN:RO [1.9.11_1134]
0 Comentários

Navegação robótica em ambiente contínuo controlada por políticas discretas relacionais

Navegação robótica em ambiente contínuo controlada por políticas discretas relacionais

Projeto de formatura dos alunos Daniel Teixeira Silva, Rodrigo Tamiazzo do Nascimento e Thiago Luis Bardella dos Santos, do curso de Engenharia de Computação da Escola Politécnica da Universidade de São Paulo, sob a orientação da professora Anna Helena Reali Costa. Este projeto descreve um sistema de controle da navegação robótica em um ambiente real, obedecendo políticas discretas relacionais.

(mais)

VN:RO [1.9.11_1134]
1 Comentário
Get Adobe Flash playerPlugin by wpburn.com wordpress themes