III SBA Simpósio Baiano de Arquivologia 26 a 28 de outubro de 2011 Salvador Bahia Políticas arquivísticas na Bahia e no Brasil CLASSIFICAÇÃO AUTOMÁTICA DE PATENTES COM O MODELO VETORIAL DE REPRESENTAÇÃO DE DOCUMENTOS Filipe Wall Mutz Graduando em Ciência da Computação, Departamento de Informática, Universidade Federal do Espírito Santo, filipemtz@gmail.com Elias de Oliveira Departamento de Arquivologia, Universidade Federal do Espírito Santo, elias@lcad.inf.ufes.br Weberson Luiz Fernandes Garcia Graduando em Arquivologia, Departamento de Arquivologia, Universidade Federal do Espírito Santo Resumo: O sistema de patente existe com obetivo de premiar inventores de novas tecnologias com o direito de exclusividade e, simultaneamente, manter o conhecimento acerca da criação sob domínio do estado e aberto à sociedade. No Brasil, o órgão responsável pela gerência de patentes é o Instituto Nacional da Propriedade Industrial (INPI) que recebe cerca de vinte mil novos pedidos de patentes por ano. Cada pedido passa por um processo de verificação minuciosa de novidade. Devido principalmente a essa grande demanda e o baixo número de técnicos para análise dos pedidos, o processo se torna lento e sueito a falhas. Apresentamos o modelo vetorial de representação de documentos como uma ferramenta computacional de auxilio à classificação de patentes. Nesse modelo, descrições de patentes são representadas como vetores matemáticos, de acordo com a freqüência de ocorrência de suas palavras. Assim, com a classificação manual de poucos textos, a máquina se torna capaz de classificar novas patentes por um processo de comparação vetorial, minimizando o trabalho dos profissionais técnicos. Nos experimentos realizados, a solução computacional proposta atribuiu a classe correta de 70% das patentes, de um conunto de 250 classificadas manualmente, em 1.5 segundos. Palavras-chave: Modelo Vetorial de Representação de Documentos; Bases de Patentes; Recuperação da Informação
INTRODUÇÃO A patente é um privilégio concedido e garantido pelo Estado de propriedade sob uma invenção ou modelo de utilidade, dado ao seu inventor através de um título oficial, esses documentos compreendem o pedido de depósito ainda pendente de concessão, a patente concedida e a patente extinta. Todas as patentes são reguladas pelo Instituto Nacional da Propriedade Industrial (INPI) <http://www.inpi.gov.br> com vistas ao interesse social e o desenvolvimento tecnológico e econômico do país de forma a possibilitar o seu uso em benefício da humanidade, uma vez que são divulgadas as inovações tecnológicas geradas pelas invenções; embora o seu inventor tenha por recompensa a concessão do direito de exclusividade para a exploração de sua patente, ou sea, 20 anos para invenção e 15 anos para modelo de utilidade. Para conceder uma nova patente, técnicos do INPI verificam minuciosamente a novidade dos produtos-candidatos e os classificam segundo a Classificação Internacional de Patentes. Esse processo é detalhado, porém lento, com duração média de oito anos. A expectativa é de que esse tempo aumente, á que nos últimos anos a procura pelo registro de patente demonstrou um significativo aumento e o método utilizado na classificação não sofreu a alteração necessária para acompanhar essa demanda. Indo ao encontro dessa pendência, esse trabalho traz uma ferramenta computacional para auxílio da classificação de novas patentes. Utilizamos técnicas da inteligência artificial como o Modelo Vetorial de Classificação de Documentos (SALTON; WONG; YANG, 1975 ) e o algoritmo k Nearest Neighbor (knn) (ROUSSOPOULOS; KELLEY; VINCENT, 1995) para ensinar ao computador como classificar novas patentes a partir de um conunto previamente rotulado por especialistas humanos. Os benefícios da utilização de uma ferramenta como a proposta são: a melhoria das condições de trabalho de técnicos devido à diminuição da carga de trabalho repetitivo, a redução do tempo de resposta a requisições de novas patentes e, logo, o aumento da produtividade das empresas que terão mais agilidade na inserção de novas tecnologias no mercado. O artigo está organizado segundo as seguintes seções: inicialmente são apresentadas as ferramentas centrais de nosso estudo: o Modelo Vetorial de Classificação de documentos e o algoritmo de classificação knn. Em seguida, é descrita a base de patentes criada para validação da tese proposta e os experimentos realizados. Finalmente, as conclusões extraídas do trabalho são apresentadas e discutidas. MODELO VETORIAL No modelo vetorial, os documentos são representados como vetores no espaço euclidiano de n dimensões, onde n representa o número de termos-palavras diferentes presente no conunto de textos indexados. Cada um desses vetores é uma seqüência de pesos que representam a relevância das palavras no documento. Esses pesos levam em consideração dois aspectos: a quantidade de vezes que ele ocorre no próprio documento e a freqüência de ocorrência total do termo no conunto de análise. Uma das propostas mais utilizadas na literatura para cálculo dessa ponderação é a função Term Frequency Inverse Document Frequency (TF IDF) (SALTON; WONG; YANG, 1975): N tf idf = di, *log( ) ni onde d i, é o número de vezes que um dado termo t i aparece em um documento d, N é o total de documentos no conunto e n i, o número de documentos em que o termo t i aparece.
Uma vez tendo a representação vetorial dos documentos, podemos fazer uma análise das estruturas de proximidade e distanciamento entre os textos. Uma forma de verificar o quão próximos são dois textos é calcular o cosseno do ângulo entre as respectivas representações vetoriais (BAEZA-YATES; RIBEIRO-NETO, 1999) : cos( d, d ) = i d d d i i * d = n k = 0 n k = 0 i, k, k w 2 i, k w * * w n k = 0 w 2, k onde d i é o módulo do vetor d i e w i,k indica o peso referente ao termo t k no documento d i, como descrito anteriormente. Um valor zero para o cosseno indica que os dois textos são tão dissimilares quanto é possível, á que não possuem palavras em comum. Seguindo o mesmo raciocínio, vemos que dois textos com similaridade máxima, isto é, com as mesmas palavras e estas na mesma quantidade, possuirão cosseno um. Para ilustrar o conceito apresentado, veamos um exemplo do procedimento de construção da representação vetorial de um conunto de resumos fictícios de patentes baseados em descrições reais. Seam os seguintes resumos de patentes: P0: DESENVOLVIMENTO DE APLICATIVOS PARA FACILITAR O ACESSO A INTERNET EM DISPOSITIVOS MÓVEIS E CRIAÇÃO DE INTERFACES DE PROGRAMAÇÃO PARA WIDGETS EM AMBIENTES MÓVEIS P1: TÉCNICAS PARA LOCALIZAÇÃO GEOGRÁFICA EM APLICATIVOS DE DISPOSITIVOS MÓVEIS. P2: DISPOSITIVOS PARA INALAÇÃO PARA SEREM USADOS COM UM RECIPIENTE DE AEROSSOL Desconsiderando as palavras com pouca relevância semântica stop words (BAEZA- YATES; RIBEIRO-NETO, 1999) como artigos, preposições, advérbios etc., e contando quantas vezes cada termo do conunto restante aparece no texto, podemos criar uma representação tabular de freqüência de termos nos textos (Tabela 1). Selecionando os termos APLICATIVOS, DISPOSITIVOS E MÓVEIS que aparecem em mais de um resumo (linhas sombreadas na Tabela 1) podemos gerar uma representação gráfica em três dimensões dos vetores relativos aos resumos P0, P1 e P2 (Figura 1). Observando esse gráfico, vemos claramente que os textos mais similares são P0 e P1. Verificamos esse fato calculando o cosseno entre as os vetores (Tabela 2). Transpondo a Tabela 1 e aplicando a função TF IDF sobre as freqüências, obteremos o que chamamos de matriz de indexação de um conunto de documentos. Nessa matriz, linhas representam documentos, colunas representam palavras e o item da linha i e coluna é o peso
do termo no texto i. Essa matriz é passada como parâmetro para o algoritmo de classificação, responsável por selecionar a provável classe dos documentos. Tabela 1 - Representação tabular da freqüência de palavras em um conunto de três descrições fictícias de patentes P0, P1 e P2. Linhas destacadas contêm palavras que aparecem em mais de um resumo. PALAVRA P0 P1 P2 ACESSO 1 0 0 AEROSOL 0 0 1 AMBIENTES 1 0 0 APLICATIVOS 1 1 0 CRIAÇÃO 1 0 0 DESENVOLVIMENTO 1 0 0 DISPOSITIVOS 1 1 1 FACILITAR 1 0 0 GEOGRÁFICA 0 1 0 INALAÇÃO 0 0 1 INTERFACES 1 0 0 INTERNET 1 0 0 LOCALIZAÇÃO 0 1 0 MÓVEIS 2 1 0 RECIPIENTES 0 0 1 TÉCNICAS 0 1 0 USADOS 0 0 1 WIDGETS 1 0 0 Tabela 2 - Cosseno entre três resumos fictícios de patentes. Observa-se que os textos P0 e P1 são os mais similares com cosseno 0.943. P0 P1 P2 P0 1.000 0,943 0,408 P1 0,943 1.000 0,577 P2 0,408 0,577 1.000 Figura 1 - Visualização gráfica da freqüência dos termos APLICATIVOS, MÓVEIS E DISPOSITIVOS no conunto de resumos de patentes P0, P1 e P2. Observa-se que os textos P0 e P1 são os mais próximos.
O ALGORITMO DE CLASSIFICAÇÃO knn Em reconhecimento de padrões, o algoritmo k Nearest Neighbor (knn) é um método para seleção de obetos baseado em um conunto de treino previamente classificado. Esse é um dos algoritmos mais simples para aprendizagem de máquina e freqüentemente utilizado a literatura (ROUSSOPOULOS; KELLEY; VINCENT, 1995). Consiste em classificar o obeto de acordo com a maioria dos votos de seus vizinhos mais próximos. Mais precisamente, uma métrica de distância é calculada entre cada item do grupo de teste e os elementos de treino. A classe mais comum nos k vizinhos mais próximos (k é um parâmetro inteiro positivo, tipicamente pequeno) de cada item de teste é eleita como a classe desse item. Se k = 1, então a classe atribuída ao elemento é a classe do item mais parecido com ele. Contextualizando o algoritmo em nosso trabalho, a classe atribuída a uma nova patente pelo algoritmo knn será a classe mais freqüente nos k textos mais próximas a ela. Como descrito na seção anterior, o cosseno foi usado como métrica de distância entre textos. Dessa forma, para cada nova patente que deveria ser rotulada pelo sistema, foi calculado o cosseno com relação aos textos do conunto de treino. Os k documentos que maximizavam o valor do cosseno eram selecionados e a classe mais freqüente nesse subconunto era eleita como a classe da nova patente. Uma observação técnica importante é que o cálculo dos cossenos se resume a uma multiplicação do vetor representante do documento pela matriz de indexação dos textos do conunto de treino, uma operação eficiente em ambientes de programação paralela. BASE DE PATENTES Criou-se uma base de patentes com obetivo de verificar as teses propostas e criar um ambiente de referência para estudos posteriores.
Até o momento, a base possui 250 patentes, dispostas em 10 classes (Figura 2). Cada item coletado é composto da descrição da patente e da classe que foi atribuída a ela. Os dados selecionados são reais e fazem parte do acervo online do INPI. Figura 2: Análise da distribuição das patentes por classes na base de dados criada para experimentação. EXPERIMENTOS E RESULTADOS O ponto de partida da experimentação foi utilizar o modelo vetorial de representação de documentos para criar uma matriz de indexação a partir dos documentos da base de patentes descrita na seção anterior. Essa matriz, com linhas descrevendo documentos, colunas representando palavras e cada item de uma linha i e coluna sendo o número de ocorrências da palavra no documento i, serve como entrada para os algoritmos de classificação. Vale ressaltar que foram desconsideradas as stop-words, isto é, palavras pouco valor semântico (pronomes, preposições etc.). Em seguida foram realizados dois tipos de experimentos: primeiro, foram realizados testes para calibração dos parâmetros do algoritmo k Nearest Neighbor (knn). Para esse primeira parte utilizamos uma porção da base de patentes e calibramos o algoritmo para aprender a classificar corretamente essa porção. Em seguida, o algoritmo foi posto a prova, utilizando uma outra porção da base ainda não apresentada ao algoritmo. Nessa fase o obetivo foi testar o algoritmo em seu aprendizado, realizado na fase anterior. Nessa parte do experimento o algoritmo knn deveria classificar novas patentes a partir de uma base prérotulada por especialistas humanos,ou sea á conheciamos suas classes. A fase de calibração, a primeira, constituiu-se de utilizar 80% das patentes como conunto de treino do algoritmo e, a segunda fase, constituiu-se de realizar a categorização do conunto restante. Observou-se que o valor k = 1 elevou ao máximo a taxa de acerto (número de patentes classificadas corretamente). Nossa intenção, depois dessa segunda fase, foi comparar a quantidade de textos que o algoritmo knn seria capaz de rotular corretamente, em relação a um técnico humano, e em quanto tempo. Observou-se que a taxa de acerto alcançada foi de 70% em um tempo de 1.5 segundos. Isso implica em uma redução de 99,99% do tempo
consumido por um técnico humano médio para classificar a mesma quantidade de patentes (supondo que um técnico médio gasta 20 minutos para classificar corretamente uma patente). CONCLUSÃO Esse trabalho descreveu um estudo da aplicação do modelo vetorial de representação de documentos, em associação com o algoritmo knn, para o desenvolvimento de uma ferramenta computacional para auxílio do trabalho técnico de classificação de patentes. Experimentos realizados com uma base de patentes criada pelo grupo de pesquisa comprovaram a validade da proposta. O algoritmo descrito foi capaze de rotular corretamente 70% das patentes em um tempo de 1.5 segundos. Isso implica em uma redução de 99,99% do tempo gasto por um técnico médio para classificar a mesma quantidade de itens. Com isso, vemos que a utilização da tecnologia de Inteligência Artificial no auxílio ao trabalho técnico de classificação é uma proposta válida e com perspectivas positivas. Vale ressaltar que uma gama de algoritmos e tecnologias da área de recuperação da informação podem igualmente ser aplicadas para melhorar tanto a qualidade quanto a eficiência da classificação. NOTAS E REFERÊNCIAS SALTON, G.; WONG, A.; YANG, C. S. A vector space model for automatic indexing. Communications of the ACM, New York, 1975. ROUSSOPOULOS, N.; KELLEY, S.; VINCENT, F. Nearest neighbor queries. Proceedings of the 1995 ACM SIGMOD international conference on Management of data, New York, 1995. BAEZA-YATES, R. A.; RIBEIRO-NETO, B. Modern Information Retrieval. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1999