Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR EXTRACTING AND MANAGING INFORMATION CONTAINED IN ELECTRONIC DOCUMENTS
Document Type and Number:
WIPO Patent Application WO/2011/100814
Kind Code:
A1
Abstract:
This invention relates to a method and system that use metadata to facilitate the extraction and enable the management of information contained in electronic documents. This metadata describes the content of the documents based on the composition of their structure and the manner in which the information in question is arranged in that structure. In addition to providing a description that makes it possible to automatically manage the models used for extraction, this metadata also defines a logical schema for managing the information extracted. The method begins with a preparation step (10) in which said metadata (1) and document samples (2) are collected and stored in the system. The training step (20) is then performed, in which the system uses said metadata (1) and respective document samples (2) to build and train the models (3) used for extraction. Finally, in the extraction step (30), the system receives a collection of electronic documents (4) and uses the trained models (3) to extract the information of interest. This information, once extracted, is stored (5) by the system in accordance with the logical schema defined using the metadata, enabling it to be managed immediately. The system enables the method to be applied even if the information is dispersed throughout large documents. In one preferred embodiment, the metadata is defined using an XSD (XML Schema Definition), and the document samples are labelled in an XML format, allowing them to be validated by that XSD.

Inventors:
BERTOLI MARTINS ALEXANDRE JONATAN (BR)
Application Number:
PCT/BR2011/000047
Publication Date:
August 25, 2011
Filing Date:
February 16, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BERTOLI MARTINS ALEXANDRE JONATAN (BR)
International Classes:
G06F17/30; G06F40/00
Foreign References:
US6044375A2000-03-28
EP1857930A22007-11-21
Other References:
HUI HAN ET AL.: "Automatic Document Metadata Extraction Using Support Vector Machines", PROCEEDINGS OF THE 2003 JOINT CONFERENCE ON DIGITAL LIBRARIES (JCDL '03), 2003
LUCIANO T. E. PANSANATO ET AL.: "Uma Análise de Metadados para o Acesso Unificado às Informaçôes dos Repositôrios de Ferramentas de Software Livre.", II CONGRESSO DE TECNOLOGIAS DE GESTÂO DE DADOS E METADADOS DO CONE SUL 16-17 SEPTEMBER 2004, 16 September 2004 (2004-09-16), pages 5
MIN-YUH DAY ET AL.: "Reference Metadata Extraction Using a Hierarchical Knowledge Representation Framework", SCIENCE DIRECT - DECISION SUPPORT SYSTEMS, vol. 43, 2007, pages 152 - 167, XP005827659
YING LIU ET AL.: "Tableseer: Automatic Table Metadata Extraction and Searching in Digital Libraries", JCDL '07, 17 June 2007 (2007-06-17)
Download PDF:
Claims:
Um método para extração e gerenciamento de informações contidas em documentos eletrônicos caracterizado por utilizar metadados que:

- contenham uma descrição da estrutura dos ditos documentos, indicando os elementos que compõem tal estrutura

- contenham uma descrição das informações a serem extraídas e a disposição destas informações em relação aos elementos que compõem aquela estrutura

- permitam determinar as possíveis sequências em que as informações aparecem nos ditos documentos

- permitam definir um esquema lógico a partir do qual as informações extraídas dos ditos documentos possam ser armazenadas e gerenciadas (i.e. modificadas, consultadas ou excluídas)

- possam ser criados, armazenados e mantidos independentemente dos documentos que eles descrevem

Um método de acordo com a reivindicação "1" caracterizado por:

- uma etapa de "preparação" (10) na qual são coletados os ditos metadados (1) e amostras de documentos (2)

- uma etapa de "treinamento" (20) na qual os ditos metadados (1) e respectivas amostras de documento (2) são utilizados para construir e treinar modelos (3) capazes de extrair informações de documentos

- uma etapa de "extração" (30), na qual os modelos já treinados (3) são utilizados para extrair informações de uma coleção de documentos eletrônicos (4), de modo que estas informações sejam armazenadas (5) e gerenciadas conforme um esquema lógico definido a partir dos ditos metadados

Um método de acordo com a reivindicação "2" caracterizado por a descrição da estrutura fornecida pelos ditos metadados (1) ser utilizada na etapa de treinamento (20) para, através da análise e decomposição desta estrutura, gerar e treinar modelos de segmentação que, aplicados sucessivamente aos documentos durante a etapa de extração (30), permitam identificar e refinar trechos relevantes destes documentos de modo a reduzir o escopo sobre as informações de interesse para ao final extraí-las

4. Um método de acordo com as reivindicações "2" ou "3" caracterizado por o texto contido nas amostras de documentos (2) coletadas na etapa de preparação (10) ser rotulado, ou seja, demarcado por rótulos indicando o tipo de informação a que se refere o texto associado àqueles rótulos

5. Um método de acordo com a reivindicação "4" caracterizado por os ditos metadados (1) serem utilizados na etapa de preparação (10) para validar os rótulos presentes nas amostras (2)

6. Um método de acordo com as reivindicações "2" ou "3" ou "4" ou "5" caracterizado por incluir uma etapa adicional de "testes" cujo objetivo é estimar o grau de precisão a ser oferecido na etapa de extração (30)

7. Um sistema computadorizado para extração e gerenciamento de informações contidas em documentos eletrônicos, constituído por uma ou mais unidades de processamento (CPUs) e um ou mais dispositivos de memória, configurado e operacionalizado por meio de programas computadorizados, caracterizado por utilizar metadados que:

— contenham uma descrição da estrutura dos ditos documentos, indicando os elementos que compõem tal estrutura

- contenham uma descrição das informações a serem extraídas e a disposição destas informações em relação aos elementos que compõem aquela estrutura

- permitam determinar as possíveis sequências em que as informações aparecem nos ditos documentos

- permitam definir um esquema lógico a partir do qual as informações extraídas dos ditos documentos possam ser armazenadas e gerenciadas (i.e. modificadas, consultadas ou excluídas)

- possam ser criados, armazenados e mantidos independentemente dos documentos que eles descrevem

8. Um sistema de acordo com a reivindicação "7" caracterizado por:

- armazenar os ditos metadados (1) e amostras de documentos (2)

- construir, treinar e armazenar modelos (3) capazes de extrair informações de documentos a partir dos metadados (1) e das amostras de documento (2) previamente armazenadas

- utilizar modelos já treinados (3) para extrair informações de uma coleção de documentos eletrônicos (4) e armazenar estas informações (5) de modo a permitir que sejam gerenciadas conforme um esquema lógico definido a partir dos ditos metadados

9. Um sistema de acordo com a reivindicação "8" caracterizado por utilizar a descrição da estrutura fornecida pelos ditos metadados (1) para, através da análise e decomposição desta estrutura, automaticamente gerar e treinar modelos de segmentação que, aplicados sucessivamente a cada um dos documentos (4), permitam identificar e refinar trechos relevantes destes documentos de modo a reduzir o escopo sobre as informações de interesse para ao final extraí-las

10. Um sistema de acordo com as reivindicações "8 ou "9" caracterizado por utilizar amostras de documentos (2) cujo texto é rotulado, ou seja, demarcado por rótulos indicando o tipo de informação a que se refere o texto associado àqueles rótulos

11. Um sistema de acordo com a reivindicação "10" caracterizado por utilizar os ditos metadados (1) para validar os rótulos presentes nas amostras (2)

12. Um sistema de acordo com as reivindicações "8" ou "9" caracterizado por a definição dos ditos metadados (1) ser realizada através de uma XSD (XML Schema Definitiorí)

13. Um sistema de acordo com a reivindicação "10" caracterizado por utilizar amostras de documentos (2) em formato XML de modo que a marcação das ditas amostras através da XML permita que o referido sistema identifique a rotulação atribuída ao texto daquelas amostras

14. Um sistema de acordo com a reivindicação "13" caracterizado por a definição dos ditos metadados (1) ser realizada através de uma XSD (XML Schema Definitiorí) e o referido sistema utilizar esta XSD para validar as marcações XML presentes nas amostras de documentos (2)

15. Um sistema de acordo com a reivindicação "14" caracterizado por gerar automaticamente a referida XSD a partir das marcações XML contidas nas amostras de documentos já armazenadas

16. Um sistema de acordo com a reivindicação "14" caracterizado por inserir automaticamente as marcações XML correspondentes aos rótulos em uma nova amostra, utilizando-se para isto de um modelo treinado a partir das amostras e da XSD já armazenadas

17. Um sistema de acordo com as reivindicações "8" ou "9" ou "10" ou "11" ou "12" ou "13" ou "14" ou "15" ou "16" caracterizado por estimar automaticamente o grau de precisão a ser oferecido na extração das informações através da aplicação de modelos já treinados sobre parte das amostras armazenadas

18. Um sistema de acordo com as reivindicações "8" ou "9" ou "10" ou "11" ou "12" ou "13" ou "14" ou "15" ou "16" ou "17" caracterizado por um processo servidor que permanece executando indefinidamente e ao qual outros processos e aplicações remotas possam a qualquer tempo se conectar para requisitar a execução dos serviços oferecidos pelo referido sistema

Description:
Relatório Descritivo da Patente de Invenção: "MÉTODO E SISTEMA PARA EXTRAÇÃO E GERENCIAMENTO DE INFORMAÇÕES CONTIDAS EM DOCUMENTOS ELETRÔNICOS"

Campo da Técnica

A presente invenção está relacionada à área de tecnologia da informação e gerenciamento de informações. Refere-se também a técnicas para processamento de texto em linguagem natural aplicadas na extração de informações. Mais particularmente, as possíveis formas de execução desta invenção pertencem a um método e sistema para extração e gerenciamento de informações contidas em documentos eletrônicos.

Estado da Técnica

A quantidade de documentos armazenados eletronicamente (i.e. documentos eletrônicos) aumentou drasticamente nas últimas décadas, tornando mais evidente a necessidade de extrair informações contidas nestes documentos. A extração de informações é realizada com o auxílio de programas computadorizados cuja finalidade principal é identificar informações de interesse que estejam contidas no texto dos documentos e disponibilizá-las em um formato estruturado que permita preencher os registros de uma base de dados.

Para os casos nos quais o texto apresenta uma certa regularidade

(por exemplo, um documento onde o texto contendo o nome do autor aparece em negrito após a expressão "autor:"), a extração pode ser feita simplesmente por meio da busca baseada em expressões regulares. Entretanto, esta abordagem só é eficaz quando os documentos possuem formato e estrutura bem definidos. Quando se pretende extrair informações de uma coleção de documentos contendo texto natural (i.e. texto livre formado por sentenças em linguagem natural) com organização e estrutura desconhecidas, são necessárias técnicas mais avançadas para identificar as informações de interesse. Uma dessas técnicas consiste em utilizar regras de rescrita para produzir marcações junto ao texto original (por exemplo, se a expressão anterior é igual a "autor:", então a próxima palavra deve ser rescrita com a marcação "nome_autor"). As regras devem ser formuladas por alguém que tenha conhecimento sobre suas normas de sintaxe, pois serão fornecidas como entrada para um programa computadorizado que deverá interpretá-las e aplicá-las aos elementos do texto submetido à extração. Na prática, alguns milhares de regras de rescrita podem ser necessários para lidar com todas as possíveis variações no texto. Por isso, as soluções que se baseiam puramente em regras de rescrita acabam se tornando muito caras para desenvolver e bastante complicadas de manter.

Com o crescimento da internet e da gama de informações acessíveis através da web, intensificaram-se as pesquisas sobre formas mais inteligentes e flexíveis de extração de informações, com destaque especial para a utilização de técnicas de aprendizado de máquina. Através destas técnicas, os programas são capazes de inferir suas próprias regras de extração a partir de exemplos previamente fornecidos a algum processo de treinamento. Estes exemplos, denominados amostras, aparecem normalmente na forma de texto rotulado, contendo marcações especiais (i.e. rótulos) junto ao seu conteúdo original para indicar o tipo de informação representada por uma palavra ou segmento de texto.

Técnicas mais recentes de aprendizado baseiam-se em modelos estatísticos, tais como autómatos probabilísticos (e.g. hidden Markov models) e classificadores de máxima entropia. Nas técnicas que utilizam autómatos probabilísticos, cada rótulo que aparece nas amostras é tratado como sendo o estado atribuído ao token (i.e. um número, palavra, pontuação ou símbolo presente no texto) demarcado por aquele rótulo, e o texto em si representa uma sequência provável de eventos capaz de disparar uma transição para um próximo estado. O treinamento consiste em calcular as probabilidades das transições de estado através da análise estatística das amostras. O modelo estatístico resultante do treinamento pode então ser aplicado para rotular um texto desconhecido. Técnicas que se baseiam em classificadores de máxima entropia, por sua vez, requerem a utilização de atributos (do original features) que correspondem a funções binárias para indicar presença ou ausência de alguma característica no texto. Os atributos são introduzidos nas amostras através de mecanismos auxiliares, seja na forma de funções pré-existentes capazes de gerar atributos que dependam apenas de características locais do texto (por exemplo, uma função para indicar se o texto está ou não em negrito), ou por funções que devam ser especialmente codificadas para identificar atributos que representem um conhecimento específico sobre o domínio em questão (por exemplo, uma função para indicar se a palavra "autor" aparece em algum lugar na frase). Nestas técnicas, o treinamento consiste em calcular o peso exercido pelos atributos sobre a probabilidade de cada rótulo, de forma que o rótulo mais provável para o token que está sendo processado seja determinado pelo conjunto de atributos relativos àquela posição do texto. Como explicado em A Maximum Entropy Approach to Natural Language Processing (Computational Linguistics, Vol. 22, No. 1, 1996, PP. 39-71), os atributos permitem representar conhecimento sobre o texto como um todo, promovendo a entropia (e aumentando a precisão) associada ao modelo estatístico.

Há também técnicas de aprendizado estatístico que combinam aspectos das técnicas citadas acima, como descrito por McCallum et Alli em "Maximum Entropy Markov Models for Information Extraction and Segmentation" (ICML-2000, PP. 591-598) e em "Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data" (ICML-2001, PP. 282-289). Estas técnicas permitem incorporar atrit tos a um modelo estatístico de transições de estado no qual a probabilidade dos rótulos fica condicionada não somente à probabilidade das transições de estado, mas também ao peso exercido por aqueles atributos em cada estado do modelo.

Sistemas computadorizados capazes de extrair informações a partir de texto não estruturado em linguagem natural em geral utilizam alguma das técnicas de aprendizado já mencionadas, ou a combinação destas. O método aplicado na extração de informações pode variar de acordo com a técnica suportada pelo sistema em uso. Contudo, para as técnicas de aprendizado estatístico, e que são de particular interesse para a presente invenção, o método utilizado pode ser generalizado em três etapas principais: uma etapa de preparação, que consiste em rotular amostras e executar determinadas tarefas requeridas pela técnica utilizada como, por exemplo, codificar funções para identificar a presença de atributos no texto ou especificar os estados e transições do modelo estatístico; uma etapa de treinamento, que consiste em estimar as probabilidades do modelo estatístico a partir da análise das amostras; e uma etapa final de extração, na qual novas sequencias de textos são rotuladas automaticamente de acordo com o modelo estimado durante o treinamento a fim de permitir a extração do texto associado aos rótulos de interesse. Sempre que houver alguma mudança no conjunto de amostras ou nas propriedades do modelo estatístico, a etapa de treinamento é repetida e recomenda-se a realização de testes para avaliar se as modificações tiveram um impacto positivo na precisão. Após a extração, as informações obtidas são armazenadas em arquivos ou inseridas em alguma base de dados (usualmente através da interconexão com um sistema de gerência de bases de dados relacional).

A aplicação de técnicas de aprendizado em sistemas para extração de informações é uma tendência na atualidade por não submeter o usuário à árdua tarefa de codificar regras. Isso faz com que os custos envolvidos no desenvolvimento de uma solução sejam menores. Entretanto, conforme mencionado em '"''Information Extraction: Distiling Structured Data from Unextructured Text" (ACM Queue, Novembro 2005), o custo associado à rotulação das amostras, ou seja, à etapa de preparação, ainda é significativo, pois podem ser necessárias algumas centenas de amostras rotuladas adequadamente para que se obtenha uma precisão aceitável. No caso de sistemas que utilizam técnicas de aprendizado estatístico, há também o custo associado a codificar funções para geração de atributos, particularmente no que diz respeito a atributos que representem conhecimento específico do domínio. Além disso, para que o sistema trabalhe apenas com as sequências válidas de rótulos, o usuário deve informar quais transições de estado são permitidas dentro do modelo estatístico (quando não informado, ou o sistema assume que todas as transições de estado serão permitidas, ou que serão permitidas somente as transições observadas nas amostras).

Outro problema comum aos sistemas de extração é a sua dificuldade em lidar diretamente com documentos extensos, com centenas ou milhares de páginas, nos quais as informações de interesse estão localizadas em partes específicas do texto (por exemplo, os atos legais do ministério da defesa publicados na seção II do diário oficial). A quantidade de recursos computacionais requerida para tratar as sequências muito longas através das técnicas de aprendizado pode inviabilizar a solução. Além disso, o sistema torna-se desnecessariamente ineficiente por ter que analisar partes irrelevantes do texto. Assim, para estes casos, normalmente é realizada uma etapa de pré- processamento que tenta extrair os trechos de interesse do documento original, sejam estes sentenças, parágrafos ou até mesmo seções inteiras de um documento. Este pré-processamento é dependente de conhecimento do domínio e da estrutura dos documentos e é, portanto, difícil de ser tratado de maneira genérica pelos sistemas de extração existentes. Na prática, para extrair informações de documentos mais extensos, os usuários destes sistemas (note-se que, no contexto desta invenção, o termo usuário é geralmente empregado para se referir a usuários especializados no desenvolvimento de aplicações que farão uso das informações extraídas) têm que subdividir o problema da extração em problemas menores utilizando-se, por exemplo, de técnicas de classificação e segmentação capazes de identificar os trechos relevantes para, enfim, submeter isoladamente cada trecho ao processo de extração das informações. Este é um processo tedioso e que provoca um aumento de custo na implementação da solução como um todo, além de exigir que os usuários possuam um conhecimento aprofundado sobre as técnicas de extração aplicáveis a cada sub-problema e sobre como configurar o sistema para aplicá-las.

De um modo geral, grande parte das dificuldades envolvidas em extrair informações de documentos em texto natural é o fato de que pouco ou nada se sabe sobre a estrutura e conteúdo destes documentos. Conforme será detalhado adiante, a presente invenção se baseia no uso de metadados que descrevem os documentos em termos de sua estrutura e das informações contidas naquela estrutura. Algumas invenções também partem da idéia de oferecer uma descrição complementar a respeito de informações possivelmente presentes em documentos. Por exemplo, a US-7493253 propõe o uso de uma ontologia para representar um domínio de conhecimento, e a partir dela encontrar fatos relevantes que possam estar presentes em documentos. Assim como em outras invenções cuja solução se baseia na existência de ontologias, o foco não está especificamente na extração de informações, mas na busca por sequências de texto contendo fatos inter- relacionados. Entretanto, a modelagem dos conceitos que constituem as ontologias, incluindo seus relacionamentos, regras, asserções, etc. em torno destes conceitos, é uma tarefa bem mais complexa do que a de simplesmente rotular amostras, o que explica a dificuldade em aplicar estas soluções para o problema da extração de informações. Outras invenções, também relacionadas ao campo da presente invenção, sugerem a aplicação de métodos para descrever automaticamente a estrutura dos documentos a fim de facilitar a extração. O método apresentado na patente US-6912555, por exemplo, baseia-se no fato de que detalhes sobre a estrutura de documentos possam ser obtidos a partir de suas características de formatação e da disposição gráfica de seu conteúdo, e introduzidos no texto original de modo a permitir que as informações de interesse sejam localizadas. Para tanto, o método assume que os documentos são "semi-estruturados". Contudo, se tais características de formatação ou visualização não estiverem presentes nos documentos, a aplicação do método torna-se ineficaz. Além disso, mesmo quando for possível obter automaticamente uma descrição sobre a estrutura dos documentos a partir de sua organização gráfica, a estrutura obtida pode não ser relevante para o problema em questão, deixando de oferecer detalhes importantes para que as informações de interesse sejam encontradas no texto.

No que diz respeito a soluções existentes para extração de informações, há também a questão associada ao gerenciamento das informações extraídas. Estas soluções preocupam-se apenas com o problema da extração das informações, e presumem que as informações extraídas devam ser transportadas para um sistema de gerência de bases de dados (SGBD) para que seja possível gerenciá-las. Essa transferência de dados pode se tornar uma tarefa complicada e que demanda tempo pois, além de exigir programas capazes de efetuar a transferência dos dados para o SGBD, requer que um modelo de dados esteja previamente implementado para acomodar as informações extraídas. Na presente invenção, esta questão também é solucionada através do uso dos metadados, que não só permitem gerar automaticamente os modelos utilizados na extração, mas também servem para definir um esquema lógico com base no qual as informações extraídas serão armazenadas e gerenciadas.

Objetivos da Invenção

O objetivo maior da presente invenção é proporcionar um método e sistema para facilitar a extração e o gerenciamento de informações contidas em documentos eletrônicos. Mais especificamente, são objetivos do método e sistema que constituem a presente invenção:

- reduzir o custo associado à etapa de preparação, ou seja, reduzir o custo envolvido na rotulação de amostras e em eventuais tarefas associadas às técnicas de aprendizado, particularmente no que diz respeito à codificação envolvida na representação de conhecimento dependente do domínio, e à análise e especificação de sequências válidas para os rótulos emitidos pelo modelo estatístico no processo de extração;

- permitir a sua aplicação e utilização de forma natural e facilitada para aqueles usuários que não possuam conhecimento aprofundado a respeito de técnicas de extração de informações, de modo que a escolha das técnicas utilizadas, assim como as tarefas associadas àquelas técnicas, sejam realizadas automaticamente e sem a necessidade da intervenção do usuário;

- permitir a sua aplicação em documentos extensos e com informações dispersas, sem exigir do usuário a execução ou configuração de etapas prévias para extrair os trechos relevantes;

- permitir o imediato gerenciamento das informações após extraí-las, sem que seja necessária a transferência destas informações para outras aplicações ou sistemas de gerência de bases de dados.

Lista de Figuras e Notação Utilizada

A descrição da invenção faz referência às figuras relacionadas a seguir.

A Figura 1 ilustra a execução do método descrito. As setas com pontas duplas indicam a sequencia de realização das etapas do método. As setas com pontas simples representam as entradas e saídas esperadas em cada uma das etapas, indicando o seu fluxo através do sistema descrito.

A Figura 2 apresenta um exemplo de definição de metadados. Os retângulos indicam os elementos que compõem a estrutura dos documentos. O retângulo de borda simples indica que o elemento aparece uma única vez no documento, enquanto o retângulo de bordas duplas representa elementos que podem aparecer repetidamente naquele documento. As elipses representam as informações de interesse a serem extraídas dos documentos.

A Figura 3 mostra um exemplo de modelo de extração gerado a partir dos metadados, com seus estados e transições. Os estados são representados por elipses e as setas indicam as transições entre estes estados.

As figuras 4A, 4B e 4C ilustram o processo de geração de modelos para segmentar sucessivamente o conteúdo de documentos durante a extração, com base na decomposição da estrutura fornecida pelos metadados. A figura 4A apresenta a geração dos modelos para o primeiro nível da estrutura descrita. As figuras 4B e 4C ilustram a geração dos modelos para os níveis subsequentes. A estrutura dos metadados descrita em cada nível aparece à esquerda na figura, enquanto o modelo correspondente que foi gerado (com seus estados e transições) aparece à direita.

Descrição da Invenção

O método e sistema que constituem a presente invenção fazem uso de metadados que descrevem o conteúdo dos documentos com base na composição de sua estrutura e no modo como as informações de interesse (i.e. informações consideradas relevantes e que devam ser extraídas dos documentos) aparecem dispostas naquela estrutura. As possíveis sequências ou agrupamentos das informações e o tipo de dado associado a cada informação são alguns dos aspectos descritos nos metadados. Quaisquer outros aspectos considerados importantes para facilitar a extração e permitir o gerenciamento das informações contidas nos documentos também podem estar representados nestes metadados.

A figura 1 ilustra a execução do método que constitui a presente invenção, em sua forma geral. O método se inicia com uma etapa de preparação (10) na qual os ditos metadados (1) e amostras de documento (2) são coletados e armazenados no sistema. Em seguida, é efetuada a etapa de treinamento (20), na qual o sistema utiliza os ditos metadados (1) e respectivas amostras de documento (2) para construir e treinar os modelos (3) utilizados na extração. Estes modelos permanecem no sistema, juntamente com outros dados necessários às técnicas de extração utilizadas. Finalmente, na etapa de extração (30), o sistema recebe uma coleção de documentos eletrônicos (4) e utiliza os modelos já treinados (3) para extrair as informações de interesse. As informações extraídas são armazenadas (5) pelo sistema de acordo com o esquema lógico definido a partir dos metadados, o que possibilita seu gerenciamento imediato.

As definições necessárias para que os metadados sejam criados no sistema são obtidas (possivelmente de forma automática) a partir de elementos presentes no conteúdo das amostras ou fornecidas à parte (por usuários e até mesmo por outros sistemas). De qualquer modo, para os propósitos desta invenção, os metadados são considerados logicamente independentes dos documentos que descrevem, podendo ser criados, armazenados e mantidos separadamente. Para cada coleção de documentos que compartilham informações de interesse e que serão submetidos à extração, há um agrupamento de metadados que descreve os documentos daquela coleção. A descrição fornecida nos metadados estabelece uma estrutura para os documentos, indicando quais os elementos que compõem aquela estrutura, bem como as informações de interesse contidas nestes elementos. Os elementos que formam a estrutura dos documentos correspondem a quaisquer segmentos de texto cujo conteúdo está semanticamente interligado, podendo por si conter outros elementos e assim formar estruturas aninhadas. A estrutura descrita nos metadados não precisa refletir exatamente a subdivisão utilizada na composição original do texto, ou seja, todas as suas seções, subseções, itens, sub-itens, e assim por diante. O mais importante é que esta estrutura seja capaz de caracterizar as possíveis sequências e agrupamentos das informações de interesse contidas naqueles documentos.

A figura 2 apresenta um exemplo de metadados que fornecem uma descrição para a revista de marcas do INPI considerando-se uma aplicação hipotética cujo objetivo principal é extrair as informações relativas a pedidos com exigência presentes na seção de comunicados, encabeçados pelo número e a data da edição correspondente. O elemento (representado na figura por um retângulo de borda simples) que descreve a seção de comunicados (104), é composto por um ou mais elementos (a repetição é representada na figura pelo retângulo de bordas duplas) que descrevem os respectivos pedidos com exigências (105). Para cada pedido com exigência, estão descritas as informações de interesse a serem extraídas (representadas por elipses), que são: número do pedido (106), data de envio (107), requerente (108), procurador (109), código do despacho (110) e o conteúdo do despacho (111). Outras seções da mesma revista não aparecem descritas nos metadados da figura 2, pois o exemplo presume que as informações contidas em outras partes do documento não são de interesse para a aplicação em questão. Embora não ilustrado neste exemplo, outros aspectos descritivos também podem constar na definição dos elementos ou informações que compõem os metadados como, por exemplo, o modo em que elementos ou informações aparecem agrupados no texto (sequencial ou aleatório), o seu número de ocorrências (mínimo e máximo) e o tipo de dado associado a cada informação (numérico, alfa-numérico, caractere, ou algum tipo mais especializado). Ressalte-se que a representação gráfica utilizada na figura 2 tem efeitos meramente ilustrativos, sem qualquer objetivo de estabelecer um formato ou notação a ser utilizado pela presente invenção na definição dos metadados.

Os metadados são utilizados na etapa de preparação para estabelecer as possíveis sequências nas quais os rótulos aparecem no texto das amostras. Isto significa que um rótulo só deve aparecer no texto das amostras quando a informação correspondente àquele rótulo estiver presente na descrição fornecida pelos metadados, respeitando-se a ordem em que estas informações aparecem nos metadados. Caso necessário, a definição dos metadados deve ser modificada para se adequar à ordem dos rótulos, levando-se em conta o conjunto de amostras como um todo. Por exemplo, se em uma determinada amostra o rótulo num jpedido antecede o rótulo data envio, mas se em outra amostra estes mesmos rótulos aparecem na ordem inversa, a definição dos metadados deve ser flexibilizada de forma que não imponha uma ordem específica a estes rótulos. Os tipos de dados atribuídos às informações de interesse também devem ser condizentes com o conteúdo demarcado pelos rótulos correspondentes. A partir da descrição fornecida nos metadados, o sistema que constitui a presente invenção é capaz de verificar se o conteúdo das amostras está de acordo com o esperado, reportando quaisquer inconsistências encontradas. O referido sistema poderá reportar ainda as alterações necessárias aos metadados para a sua adequação ao conteúdo das amostras oferecendo, se possível, a opção de efetuá-las automaticamente.

Ao iniciar a etapa de treinamento, o referido sistema utiliza a descrição fornecida nos metadados e respectivas amostras para gerar o modelo a ser aplicado durante a extração. A figura 3 apresenta um exemplo simplificado de modelo gerado a partir dos metadados definidos para a revista de marcas do INPI. A topologia do modelo gerado neste exemplo é essencialmente a de uma máquina de estados que especifica as sequências válidas de estados a serem atribuídas ao texto à medida que as transições são disparadas. Para cada elemento que compõe a estrutura dos metadados, foram gerados dois estados: um inicial e um final. Estes estados, denominados INl elem e FIM_ elem (onde elem é o nome do elemento correspondente que aparece descrito nos metadados), são utilizados para que o sistema reconheça o início e o fim do texto referente àquele elemento (e.g. os estados (203) e (208) gerados para reconhecer o início e fim de um pedido com exigências). Estados denominados TXT_inf (onde inf é o nome da informação correspondente) foram gerados para cada uma das informações de interesse que aparecem descritas nos metadados e que precisam ser armazenadas no sistema (e.g. o estado (201) que reconhece o número da edição da revista). Outros estados, denominados TXT_« (onde n é simplesmente um número sequencial capaz de identificar o estado), foram artificialmente introduzidos no modelo para permitir que o sistema processe o conteúdo de texto considerado irrelevante para a aplicação (e.g. o estado (204) utilizado para reconhecer o texto inicial da seção de comunicados que antecede o texto contendo o primeiro pedido com exigências). As transições entre os estados foram introduzidas no modelo levando-se em consideração a sequência em que os elementos e informações descritos nos metadados pudessem ocorrer no texto (e.g. a transição (205) que conecta o requerente (206) diretamente ao código do despacho (207) em razão de o nome do procurador ter sido descrito como uma informação opcional). Este exemplo assume que uma transição é disparada a cada novo token que aparece no texto. Assim, transições circulares também foram introduzidas no modelo gerado, para que este possa reconhecer informações cujo valor é formado por múltiplos tokens (e.g. a transição circular (202) adicionada ao estado correspondente à data da edição, para reconhecer os diversos tokens que constituem aquela data, i.e. dia, mês, ano, preposições, separadores, etc, como sendo parte da mesma informação). Ressalte-se que o modelo da figura 3 e o processo descrito para gerá-lo servem apenas para exemplificar como o referido sistema poderia utilizar os metadados definidos durante a preparação para gerar o modelo de extração que será submetido ao treinamento. Não se pretende com isso restringir a presente invenção a um processo de geração, técnica ou modelo de extração em específico.

O modelo gerado é treinado pelo sistema com base no conteúdo das amostras, ou seja, certas propriedades observadas no texto das amostras (como, por exemplo, a frequência e o posicionamento das informações no texto) são utilizadas para estimar os parâmetros associados ao modelo em questão. A topologia exata do modelo gerado, bem como quais parâmetros precisam ser estimados, serão determinados pela técnica de extração utilizada pelo sistema. Por exemplo, para máquinas de estado probabilísticas tais como os modelos de Markov, estes parâmetros são as probabilidades associadas às transições de estado. Já para modelos de máxima entropia, os parâmetros que precisam ser estimados são os pesos associados aos atributos (i.e. features) do modelo. Técnicas que combinam ambas as abordagens, como MEMMs (Maximum Entropy Markov Models) e CRFs {Conditional Random Fields), têm como parâmetros a serem estimados tanto as probabilidades das transições como os pesos associados aos atributos incorporados ao modelo. A presente invenção não se restringe a uma única técnica de extração. Até mesmo técnicas baseadas em regras de rescrita poderiam ser utilizadas pelo sistema (neste caso, as próprias regras seriam os parâmetros estimados durante o treinamento). Modalidades de execução do referido sistema podem oferecer a funcionalidade de selecionar automaticamente a técnica (dentro de um suposto conjunto de técnicas nele implementadas) a ser aplicada em cada caso. A seleção da técnica pode ser determinada a partir de uma configuração prévia do sistema ou até mesmo por meio de heurísticas sobre os metadados e amostras (por exemplo, a quantidade de elementos e sub-elementos que compõe a estrutura descrita nos metadados, o número de páginas das amostras, a percentagem de texto rotulada nas amostras, etc). Note-se que tal funcionalidade está de acordo com um dos objetivos estipulados anteriormente para a presente invenção, o qual estabelece que a sua utilização seja natural e facilitada mesmo para aqueles que não possuam um conhecimento aprofundado sobre as técnicas de extração aplicadas.

Além de permitir gerar um modelo que reproduza as possíveis sequências de rótulos a serem emitidos durante a extração, a descrição fornecida pelos metadados e respectivas amostras também é utilizada para enriquecer o modelo com base em certas características do texto que sejam dependentes de conhecimento do domínio. Quando expressas nos metadados, estas características podem ser incorporadas ao modelo como parâmetros adicionais. Dependendo da técnica de extração utilizada, estes parâmetros podem ser novos estados e transições, atributos ou até regras. A modelagem de características que expressam conhecimento do domínio permite aumentar o grau de precisão obtido durante a extração. Considere-se, por exemplo, que o código do despacho de um pedido de marca seja um texto formado apenas por três caracteres numéricos cujos valores possíveis são 002, 003, 009, 010, 011, 012 e 030, e que este conhecimento esteja expresso nos metadados por algum tipo de dado especializado (e.g. uma enumeração). Pela análise do tipo de dado associado ao código do despacho, o sistema poderia gerar atributos tais como eh_cod_002, eh_cod_003, eh_cod_009, etc, para indicar se o texto encontrado corresponde a algum dos códigos listados naquele tipo de dado. Observe-se que outras características que não dependam de conhecimento de domínio (e.g. o texto está em negrito, a primeira letra é maiúscula, etc.) também podem ser incorporadas pelo sistema ao modelo gerado com base na análise do conteúdo das amostras.

Na presente invenção, os metadados também são utilizados pelo referido sistema para gerar e treinar modelos capazes de segmentar sucessivamente o conteúdo dos documentos durante a extração, de modo a identificar os trechos relevantes do texto e assim reduzir o escopo sobre as informações de interesse. Quando este modo de segmentação estiver ativado no sistema, em vez de um modelo único linearizado (como aquele apresentado na figura 3), diversos modelos serão gerados a partir da decomposição da estrutura descrita nos metadados, conforme os elementos presentes em cada um de seus níveis de composição. Para ilustrar este processo, suponha-se que a estrutura descrita nos metadados esteja carregada na memória do sistema na forma de uma árvore como a da figura 2, onde o elemento (100) é a raiz desta árvore. Neste exemplo, o primeiro nível compreende os elementos (101) e (104) que descendem do elemento raiz (i.e. filhos da raiz), o segundo nível compreende os elementos (102), (103) e (105) (i.e. todos os netos do elemento raiz), e assim por diante. A cada nível na estrutura do documento, um modelo é gerado para cada grupo de elementos ou informações que descendam de um mesmo elemento no nível imediatamente anterior (ou seja, os elementos que possuem o mesmo elemento pai farão parte do mesmo modelo). A figura 4A ilustra este processo para o primeiro nível de decomposição (onde aparecem os elementos filhos da raiz) da estrutura apresentada anteriormente na figura 2. As figuras 4B e 4C, respectivamente, ilustram este mesmo processo para os segundo e terceiro níveis de decomposição. Durante a extração, trechos cada vez menores são automaticamente extraídos dos documentos pela aplicação sucessiva dos modelos gerados, ou seja, o documento vai sendo segmentado de acordo com a estrutura aninhada que o define, até que seja atingido o seu nível mais refinado, que neste caso é o nível que contém as informações de interesse. Esta estratégia de segmentação é particularmente interessante quando os documentos são muito extensos e quando as informações a serem extraídas estão localizadas em seções específicas do texto, pois evita o processamento desnecessário de partes irrelevantes do documento, promovendo a eficiência do método como um todo. Isto vai de encontro com o objetivo estabelecido anteriormente para a presente invenção, no que se refere a permitir a sua aplicação em documentos extensos e com informações dispersas, sem exigir do usuário a execução ou configuração de etapas prévias para extrair os trechos relevantes.

O processo de segmentação sucessiva, conforme descrito acima, também permite que técnicas de extração distintas sejam aplicadas pelo referido sistema em cada nível de decomposição da estrutura fornecida nos metadados. Por exemplo, no primeiro nível, uma técnica simples de classificação linear pode ser utilizada para determinar se o texto pertence ou não à seção de comunicados. Já no segundo nível, uma técnica de classificação baseada em máxima entropia é aplicada para classificar o texto do segmento extraído no primeiro nível como pertencente ou não a um pedido com exigências. Finalmente, no terceiro nível, uma técnica baseada em autómatos probabilísticos é empregada para decodificar e rotular a sequência de informações de cada segmento extraído no nível anterior (sendo que cada um destes segmentos contém o texto de um pedido com exigências). Note-se que os modelos gerados pelo sistema serão treinados de acordo com a técnica correspondente. O referido sistema poderá selecionar automaticamente qual técnica de extração será utilizada para cada modelo gerado em cada nível com base em fatores tais como o tamanho médio das amostras, a quantidade de níveis na composição estrutural dos documentos, ou a quantidade de estados em cada nível. Ressalte-se a possibilidade de que a seleção das técnicas utilizadas, quando realizada automaticamente pelo sistema, seja monitorada ou até modificada pelo usuário, de acordo com a necessidade.

Após o treinamento, os modelos gerados, assim como os valores estimados para os respectivos parâmetros, ficam armazenados no referido sistema. Quando armazenados, estes modelos permanecem associados aos metadados a partir dos quais eles foram gerados. Para cada definição de metadados e respectivas amostras utilizadas na etapa de treinamento, haverá um conjunto de modelos já treinados, o que irá habilitar o sistema a aplicar a etapa de extração sobre a coleção de documentos correspondente. O treinamento deverá ser repetido caso os metadados sejam modificados ou novas amostras sejam adicionadas. Se isso ocorrer, os modelos previamente armazenados serão descartados pelo sistema e substituídos por novos modelos produzidos durante o treinamento.

Os modelos treinados também podem ser utilizados pelo referido sistema para rotular novas amostras, num processo automatizado e incremental, permitindo que seja criada uma nova amostra a partir de um documento não rotulado. Para isso, basta que o sistema aplique a técnica de extração referente ao modelo treinado sobre o documento fornecido como amostra. Contudo, nenhuma informação será efetivamente extraída ou armazenada pelo sistema. Em vez disso, o sistema irá rotular o conteúdo daquele documento, e armazená-lo juntamente com as outras amostras. E responsabilidade do usuário verificar se a amostra foi rotulada de acordo, e cabe ao sistema permitir que ele realize quaisquer ajustes porventura necessários ao conteúdo daquela amostra.

O sistema que constitui esta invenção também permite a realização de uma etapa adicional de testes após o treinamento para estimar a precisão oferecida pelos modelos gerados antes de proceder à etapa de extração. Durante os testes, apenas uma parte das amostras já armazenadas no sistema é utilizada para o treinar os modelos. Uma outra parte das amostras é reservada para testes. A seleção das amostras utilizadas para os testes pode ser feita aleatoriamente pelo referido sistema. Quando a seleção é aleatória, pode-se optar por um particionamento baseado em valores previamente especificados (e.g. 40% das amostras para testes e os outros 60% para treinamento) na configuração do sistema. A estimativa do grau de precisão é feita da forma usual, ou seja, o conteúdo original (não rotulado) das amostras reservadas para testes é submetido à extração, e a precisão é calculada automaticamente pelo sistema através da razão entre a quantidade de informações extraídas corretamente e a quantidade de informações originalmente rotuladas. Portanto, no contexto da presente invenção, a etapa de testes consiste basicamente em aplicar, sobre o conteúdo original dos documentos utilizados como amostras, a técnica de extração correspondente aos modelos gerados e já treinados pelo sistema, com a ressalva de que o conteúdo extraído serve apenas para o estimar o grau de precisão, e será subsequentemente descartado.

Na etapa de extração, os modelos já treinados são utilizados pelo referido sistema para extrair informações de documentos. No contexto da presente invenção, as informações extraídas são automaticamente verificadas e armazenadas de acordo com um esquema lógico que facilite o seu gerenciamento. Este esquema lógico é derivado da definição dos metadados referente àqueles documentos sendo submetidos à extração. Ou seja, a estrutura descrita nos metadados serve como base para determinar a organização lógica das informações armazenadas, estabelecendo uma rota de acesso àquelas informações a fim de permitir o seu gerenciamento. Vale salientar a possibilidade de que o conteúdo completo dos documentos, e não apenas as informações de interesse, seja armazenado pelo sistema de acordo com o referido esquema lógico, o que permitiria também recuperar o contexto do qual as informações foram extraídas.

Modalidades de execução do referido sistema devem oferecer a possibilidade de acessar as informações armazenadas de acordo com o esquema lógico definido a partir dos metadados, seja para fins de consulta, atualização ou exclusão daquelas informações. Note-se que a forma exata dos comandos ou expressões utilizadas na consulta, atualização ou exclusão das informações armazenadas irá depender das interfaces de acesso disponibilizadas em cada modalidade. Não se pretende restringir a presente invenção a quaisquer interfaces, linguagens ou conjunto de comandos em específico (uma forma preferível de execução que inclui comandos e uma linguagem de consulta para acessar as informações é detalhada mais adiante).

Em resumo, os metadados que descrevem os documentos são fundamentais para a aplicação e utilização do método e sistema que constituem a presente invenção, pois são utilizados ao longo de todas as etapas do referido método. Além de proporcionarem uma descrição que permita gerar automaticamente os modelos utilizados na extração, os metadados utilizados para descrever os documentos também definem um esquema lógico para o gerenciamento das informações extraídas. Os principais aspectos inovadores da presente invenção estão, portanto, relacionados à descrição fornecida pelos metadados e ao modo em que o referido sistema utiliza estes metadados durante a aplicação do método. Mais especificamente, as inovações proporcionadas pela presente invenção, e suas respectivas vantagens, são as seguintes:

- inovação: na etapa de preparação, a descrição fornecida nos metadados é utilizada pelo sistema para validar o conteúdo das amostras; vantagens: maior consistência e confiabilidade na preparação, e consequente redução dos custos associados à ocorrência de amostras rotuladas de forma incorreta;

- inovação: na etapa de treinamento, a descrição fornecida nos metadados é utilizada pelo sistema para gerar automaticamente os modelos que serão treinados e aplicados na extração (ou na rotulação de novas amostras); vantagens: facilidade e eficiência na aplicação do método, pois o usuário não precisa se preocupar em fornecer os parâmetros do modelo, e nem sequer tomar conhecimento de quais técnicas de extração serão utilizadas pelo sistema;

inovação: na etapa de treinamento, a descrição fornecida nos metadados é utilizada pelo sistema para incorporar conhecimento dependente do domínio aos modelos gerados; vantagens: diminuição de custo durante a etapa de preparação, pois o sistema não requer que os usuários codifiquem "manualmente" as propriedades do modelo capazes de expressar aquele conhecimento; inovação: na etapa de treinamento, a estrutura descrita nos metadados é automaticamente utilizada pelo sistema para, através de um processo de decomposição daquela estrutura, gerar e treinar modelos de segmentação que, aplicados sucessivamente aos documentos durante a extração, permitem identificar e refinar os trechos relevantes, reduzindo o escopo sobre as informações de interesse; vantagens: diminuição de custo na aplicação do método por evitar que usuários tenham que solucionar separadamente o problema de extrair os trechos relevantes, e aumento da escalabilidade, pois o sistema é capaz de tratar, de forma mais eficiente, casos nos quais os documentos são extensos e cuja estrutura é complexa ou quando as informações a serem extraídas encontram-se em partes específicas dos documentos, além de casos em que os recursos computacionais são limitados;

inovação: as informações extraídas pelo sistema são automaticamente verificadas, armazenadas e disponibilizadas para gerenciamento através de um esquema lógico definido de acordo com os metadados; vantagens: integração e eficiência na aplicação do método e consequente diminuição do custo associado ao gerenciamento das informações, pois permite que o usuário, a partir de um esquema lógico que ele já conhece, consulte ou modifique as informações armazenadas imediatamente após a extração, sem a necessidade de convertê-las nem transferi-las para outros sistemas de gerenciamento de dados.

A forma preferível de execução para a presente invenção é apresentada a seguir.

Forma Preferível de Execução

Em sua forma preferível de execução, o sistema que constitui a presente invenção é implementado através de um ou mais sistemas computadorizados. Entende-se por um sistema computadorizado qualquer combinação que envolva uma CPU (unidade central de processamento), um barramento lógico para comunicação com esta CPU, dispositivos de memória ou armazenamento, interfaces para conexão com outros dispositivos ou equipamentos, além de programas computadorizados para operacionalização do sistema.

Nesta forma de execução, os serviços implementados pelo referido sistema são disponibilizados aos usuários através de um conjunto de comandos de alto nível. Estes comandos, ao serem recebidos pelo sistema, são interpretados e traduzidos em chamadas internas de programas que realizam os serviços requisitados. A tabela 15 contém uma breve descrição dos principais comandos oferecidos pelo sistema e serve como referência para os exemplos apresentados mais adiante. Note-se que este conjunto de comandos é específico desta forma de execução da presente invenção. Modalidades alternativas de execução poderiam disponibilizar os serviços do sistema através de comandos distintos ou até interfaces de acesso diversas como, por exemplo, uma API {Application Program Interface) cujas rotinas oferecidas corresponderiam aos serviços em questão.

Com relação ao método que constitui esta invenção, sua forma preferível de execução utiliza-se dos comandos disponíveis no sistema na realização de cada uma de suas etapas. A tabela 1 apresenta um exemplo de sequência de comandos utilizada na etapa de preparação. O exemplo se inicia com a criação de uma nova coleção de documentos (linha 1). Em seguida, são fornecidas a definição de metadados (linhas 2-3) e as respectivas amostras (linhas 4-7) para a coleção em questão.

TABELA 1 - Exemplo de sequência de comandos para a preparação

Nesta forma preferível de execução, uma coleção de documentos é basicamente uma área na memória do sistema destinada ao armazenamento de todo o conteúdo referente a um grupo de documentos com estrutura similar e que podem ser, portanto, descritos pelos mesmos metadados e representados pelo mesmo conjunto de amostras. As amostras adicionadas à coleção são rotuladas através da XML {eXtensible Markup Languagé). A definição dos metadados, por sua vez, é fornecida através de uma XSD {XML Schema Definition, i.e. definição de esquema XML). Se for conveniente, a XSD poderá ser gerada automaticamente a partir da marcação XML presente nas amostras. A tabela 2 apresenta um exemplo de XSD utilizada para definir os metadados apresentados anteriormente na figura 2.

LINHA CÓDIGO XML

1 <?xml version="1.0" encoding="UTF-8"?>

2 <!- inpi_.marcas.xml schema ->

3 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0">

4 <xsd:element name="inpi_marcas">

5 <xsd:complexType mixed="true">

6 <xsd:sequence>

7 <xsd:element name="cabecalho" minOccurs="1">

8 <xsd:complexType mixed="true">

9 <xsd:sequence>

10 <xsd:element name="num_revista" type="xsd:integer"

11 minOccurs="1'7>

12 <xsd:element name =,, data_edicao" type="xsd:string"

13 minOccurs="1"/>

14 </xsd:sequence>

15 </xsd:complexType>

16 </xsd:element>

17 <xsd:element name="comunicados" minOccurs="1">

18 <xsd:complexType mixed="true">

19 <xsd:sequence>

20 <xsd:element name="pedido_com_exigencias"

21 type= n tipoj3edido_com_exlgencia"

22 minOccurs="1 " maxOccurs="unbounded'7>

23 </xsd:sequence>

24 </xsd:complexType>

25 </xsd:element> LINHA CÓDIGO XML

26 </xsd:sequence>

27 </xsd:complexType>

28 </xsd:element>

29 <xsd:complexType name="tipo_pedido_com_exigencla" mixed="true">

30 <xsd:sequence>

31 <xsd:element name="num_pedido" type="xsd:integer"

32 minOceurs= 7>

33 <xsd:element name="data_envio" type="xsd:string"

34 min0ccurs="1 >

35 <xsd:element name=" requerente" type="tipo_nome_pessoa"

36 minOccurs="1'7>

37 <xsd:element name="procurador" type="tipo_nome_pessoa"

38 minOccurs="0"/>

39 <xsd:element name="cod_despacho" type="tipo_despacho"

40 minOccurs="1 ,, />

41 <xsd:element name="txt_despacho" type="xsd:string"

42 minOccurs="r7>

43 </xsd:sequence>

44 </xsd:complexType>

5 <xsd:simpleType name="tipo_nome_pessoa">

46 <xsd:restriction base="xsd:string">

7 <xsd:pattern value="([A-Zl([A-Za-z])+ )+ >

48 </xsd:restriction>

49 </xsd:simpleType>

50 <xsd:simpleType name= n tipo_despacho">

51 <xsd:restriction base="xsd:string">

52 <xsd:length value="37>

53 <xsd:enumeration value="002 > UNHA CÓDIGO XML

54 <xsd:enumeration value="0037>

55 <xsd:enumeration value="009 >

56 <xsd:enumeration value= n 010 >

57 <xsd:enumeration value="0H7>

58 <xsd:enumeration value="0127>

59 <xsd:enumeration value= n 0307>

60 </xsd:restriction>

61 </xsd:simpleType>

62 </xsd:schema>

63

TABELA 2 - Exemplo de XSD utilizada na definição de metadados

Nesta forma de execução, os elementos que aparecem na XSD definem a composição dos elementos e informações que deverão estar descritos nos metadados armazenados pelo sistema durante a etapa de preparação. Mais especificamente, os elementos associados a um tipo de dado simples (e.g. integer, string, etc.) definem as informações de interesse em seu nível mais refinado (e.g. o elemento num jpedido na linha 31 da tabela 2), enquanto os elementos associados a um tipo de dados complexo (i.e. ComplexTypé) definem a estrutura (eventualmente aninhada) na qual aquelas informações devem estar contidas (e.g. o elemento pedido com exigências na linha 20 da tabela 2). Demais definições sobre os elementos da XSD também podem estar incluídas na descrição fornecida pelos metadados. O tipo de agrupamento (e.g. sequence, choice, ali) que aparece na definição dos tipos complexos é particularmente importante, pois permite que o sistema determine as possíveis sequências de rótulos a serem produzidas. A declaração mixed="true" presente em um tipo de dados complexo possibilita ao sistema reconhecer quando as informações de interesse contidas naquele tipo poderão aparecer intercaladas com algum conteúdo de texto qualquer (e.g. o tipo de dado tipo _pedido com exigência na linha 29 da tabela 2). Já as declarações de mínimo e máximo de ocorrências (i.e. minOccurs e maxOccurs) atribuídas a um elemento da XSD permitem que o sistema identifique quando aquele tipo de informação é opcional e quando pode aparecer repetidas vezes no texto.

Observe-se que esta forma de execução não pretende restringir a invenção para que a definição dos metadados utilize um formato ou linguagem específicos. Outras modalidades de execução podem utilizar alternativas similares como, por exemplo, definições de tipos de documento (i.e. DTDs) e Relax NG. De modo geral, qualquer alternativa que seja capaz de acomodar as definições necessárias aos metadados é considerada uma aplicação do método e sistema descritos na presente invenção. Contudo, para esta forma de execução, na qual as amostras de documentos serão fornecidas em XML, as XSDs são uma escolha particularmente adequada. Isto é devido ao fato de haver diversas ferramentas disponíveis para verificar a consistência de documentos XML a partir de XSDs, em um processo denominado validação. Vale ressaltar que a XSD é, também, um documento XML, e pode ser processado como tal pelo sistema utilizando-se de ferramentas existentes para processamento de documentos XML.

Ao serem associadas a uma coleção de documentos, a XSD e respectivas amostras em XML serão imediatamente armazenadas pelo sistema. Ressalte-se que qualquer formato interno é válido para o armazenamento dos metadados e amostras. Para fins de edição ou visualização, o sistema oferece comandos para recuperar a XSD e a XML das amostras associadas a uma determinada coleção de documentos. A tabela 3 apresenta um exemplo de uso destes comandos (linhas 1-3). Em modalidades alternativas de execução que utilizem um outro formato interno para armazená-las, tanto a XSD quanto as amostras em XML serão propriamente reconstruídas pelo sistema com base no conteúdo armazenado.

LINHA COMANDO

1 inspect document collection INPI get definition

2 inspect document collection INPI get sample amostra_1

3 inspect document collection INPI get sample amostra_2

4

TABELA 3 - Comandos para a recuperar metadados e amostras

Nesta forma preferível de execução, a rotulação das amostras é realizada através de marcações XML introduzidas junto ao texto original, respeitando-se a estrutura descrita na XSD. A tabela 4 contém um exemplo de uma amostra de documento em XML rotulada de acordo com a XSD da tabela 2.

LINHA CÓDIGO XML

1 <?xml version="1.0" encoding= n UTF-8"?>

2 <inpi_marcas>

3 <cabecalho>MARCAS

4 REVISTA DA PROPRIEDADE INDUSTRIAL No.

5 <num_revista>9819< num_revista>

6 <data_edicao>27 de dezembro de 1855</data_edicao>

7 SEÇÃO II

8 REPÚBLICA FEDERATIVA DO BRASIL

9 Presidente

10 Casimiro de Abreu

11 LINHA CÓDIGO XML

12 </cabecalho>

13 <comunicados>

14 RPI 9819 de 27/12/1855

15 Pedido de Registro de Marca aguardando

16 Cumprimento de Exigência Formal

17 <pedido_com_exigencias>

18 Pedido: <num_pedido>989891910</num _pedido>

19 Data de Envio: <data_envio>25/09/1855</data_envio>

20 Requerente: <requerente>Academia de Letras</requerente>

21 Procurador: <procurador> Joaquim Machado de Assis</procurador>

22 Cod Despacho: <cod_despacho>011</cod_despacho>

23 <txt_despacho>0 elemento nominativo declarado é diferente do contido na figura

24 enviada.</txt_despacho>

25 </pedido_com_exigencias>

26

27 </comunicados>

28

29 </inpi_marcas>

30

TABELA 4 - Exemplo de amostra de documento em XML Uma das vantagens de utilizar o formato XML para rotular amostras é que qualquer editor de textos permite que o usuário realize esta tarefa. Ambientes gráficos também podem ser oferecidos para visualizar as amostras e introduzir automaticamente as marcações XML a partir do conteúdo selecionado pelo usuário. Após terem sido rotuladas, basta um parser XML compatível com a implementação do sistema para efetuar a validação das amostras e assim garantir que a marcação presente nas mesmas esteja consistente com os metadados definidos na XSD. A tabela 5 exemplifica o uso de comandos para validar amostras (linhas 1-2) a partir da XSD associada à coleção correspondente. Após ser validada com sucesso, a amostra poderá ser utilizada pelo sistema durante a etapa de treinamento.

TABELA 5 - Comandos para validação das amostras Caso os documentos e suas amostras estejam em outro formato (e.g. pdf, html, doe, rtf, etc), o referido sistema irá converter o conteúdo daquele documento para o formato XML. Nesta forma preferível de execução, tal conversão é implementada através de módulos para importação de documentos que podem ser plugados ao sistema (i.e. plug-ins). A importação consiste essencialmente em gerar um documento XML contendo o texto do documento original e preservando, sempre que possível, aspectos relativos à aparência e formatação do texto (e.g. tamanho, tipo e estilo da fonte, alinhamento, etc). Estes aspectos ficam representados por entidades XML incorporadas ao texto. Um exemplo de como isso pode ser feito é apresentado na tabela 6. Neste exemplo, as entidades introduzidas no texto indicam que o estilo "text title" é aplicado ao texto "MARCAS" (linha 3). O estilo "text normal" é então aplicado ao texto que aparece em seguida (linha 4), sendo que o efeito "font_bold" (supostamente negrito) modifica o formato do texto contendo o número da revista (linha 5). A interpretação destas entidades é particularmente importante quando for necessário visualizar o documento em seu formato original. Além disso, durante o treinamento e extração, as entidades XML podem ser convertidas em propriedades do modelo (a coleção pode ser configurada para indicar se as características de formatação do texto devem ou não ser levadas em conta pela técnica de extração em uso). Note-se que as marcações XML correspondentes aos rótulos serão introduzidas na amostra somente após a importação.

TABELA 6 - Documento importado com entidades XML junto ao texto

Modalidades alternativas de execução podem também utilizar marcações XML especiais (e.g. <feature name="text_title"/>) em vez de entidades durante a importação. Entretanto, o uso de entidades oferece a vantagem de que estas não precisam aparecer na estrutura descrita pela XSD, podendo ser facilmente ignoradas pelo par ser XML durante a validação das amostras. A possibilidade de incorporar propriedades ao texto através de entidades XML não se restringe a um conjunto específico de características de formatação. Quaisquer outras propriedades que pudessem eventualmente adicionar conhecimento aos modelos durante o treinamento e a extração poderiam ser introduzidas nas amostras pelo módulo de importação.

Nesta forma preferível de execução, o sistema também é capaz de gerar uma XSD contendo a definição dos metadados. A geração da XSD é realizada automaticamente a partir das marcações XML presentes nas amostras e o conteúdo delimitado por estas marcações, de maneira que a descrição contida nesta XSD esteja condizente com tais marcações. Por exemplo, marcações XML que contém apenas texto, ou seja, não contém outras marcações mais internas, serão mapeadas na XSD para um elemento de um tipo de dados simples. Neste caso, cabe ao sistema identificar se o conteúdo do texto demarcado é numérico, alfanumérico, ou até mesmo uma enumeração dos valores possíveis, e atribuir (ou gerar) um tipo de dado condizente para o elemento correspondente. Já as marcações XML que englobam marcações mais internas são mapeadas para elementos de tipos de dados complexos. Neste caso, o sistema analisa a sequência em que as marcações mais internas aparecem em cada amostra a fim de determinar o tipo de agrupamento (e.g. sequence, choice, ali) mais apropriado para os sub- elementos. As amostras, após utilizadas para gerar a XSD, serão tidas pelo sistema como amostras já validadas. A tabela 7 exemplifica o uso de comandos para gerar a XSD automaticamente a partir das amostras. Neste exemplo, algumas amostras são inicialmente adicionadas à coleção (linhas 1- 4). Em seguida (linha 5), as amostras são utilizadas pelo sistema para gerar a definição de metadados (ou seja, a XSD) referente àquela coleção. Note-se que a XSD gerada irá substituir a XSD existente, podendo ser posteriormente recuperada (através do comando i nspect) e modificada pelo usuário de acordo com a sua necessidade.

LINHA COMANDO

1 alter document collection INPI add sample amostraj

2 from http://localhost inpi_marcas/marcas_amostra_1.xml

3 alter document collection INPI add sample amostraj!

4 from 'http://localhost/inpi_marcas/marcas_amostra_2.xml LINHA COMANDO

5 alter document collection INPI build definition from samples

6

TABELA 7 - Comando para gerar a XSD a partir de amostras

Coleções de documentos já preparadas, ou seja, coleções que contenham amostras já validadas a partir de sua XSD, podem ser submetidas ao treinamento. A tabela 8 apresenta um exemplo no qual a sessão de treinamento é iniciada para uma coleção de documentos (linha 1).

TABELA 8 - Comando para iniciar uma sessão de treinamento Nesta forma preferível de execução, os modelos de extração gerados durante o treinamento são modelos CRF {Conditional Random Fields). Em sua configuração padrão, o sistema opera de modo a segmentar sucessivamente os documentos, utilizando-se dos modelos de segmentação gerados a partir da decomposição dos elementos de tipos complexos (i.e. elementos compostos) presentes na XSD. Modelos CRF são gerados a cada nível de decomposição, conforme ilustrado pelas figuras 4A, 4B e 4C. Quando a segmentação não é desejável, cabe ao usuário configurar o sistema de modo a desabilitar o seu uso. Neste caso, o sistema irá gerar um único modelo CRF cuja topologia representa a linearização da estrutura descrita na XSD em todos os seus níveis (similar ao modelo da figura 3). Os estados e transições de cada CRF serão gerados de acordo com a definição dos elementos que compõem a XSD. Em particular, o tipo de agrupamento associado a elementos compostos permite identificar as transições necessárias entre os estados correspondentes a seus sub-elementos. Estados artificiais são introduzidos no CRF para tratar o texto anexo às informações contidas em elementos que incluam a declaração mixed= "true ". O número de ocorrências de cada elemento (seja simples ou composto) é utilizado para identificar transições adicionais entre os estados correspondentes do CRF. Assim, de maneira semelhante ao processo descrito anteriormente, diversos aspectos descritos na XSD a respeito de cada elemento são levados em conta para determinar a topologia dos CRFs gerados durante o treinamento. Outras modalidades de execução podem utilizar modelos de classificação (tais como os modelos baseados puramente em máxima entropia) de maneira a treiná-los para reconhecer o início e fim do texto nos níveis mais externos da estrutura descrita na XSD. Esta opção garantiria um treinamento mais eficiente mesmo nos casos em que sequências de texto muito longas estivessem presentes nas amostras.

Durante o treinamento, o referido sistema converte o conteúdo das amostras já validadas para um formato apropriado para treinar os CRFs. Este formato é similar a uma matriz contendo uma linha para cada token do texto da amostra. Em cada linha, são indicados os atributos presentes naquela posição do texto, e o rótulo correspondente. A tabela 9 apresenta parte de uma amostra neste formato. Alguns dos atributos inclusos no CRF são gerados a partir de funções pré-existentes no sistema que realizam a análise do texto (e.g. o atributo f_sbto, para indicar que a classe gramatical da palavra é um substantivo). O restante dos atributos é gerado a partir de funções que analisam os metadados e o conteúdo das amostras, de forma a incorporar conhecimento de domínio durante o treinamento (Q.g. Jnicio MARCAS, para indicar uma seção do texto que se inicia com a palavra "MARCAS"). TOKEN ATRIBUTOS RÓTULO

MARCAS fjnaiuscula, f_sbto, fJnicio_MARCAS, ... <cabecalho.txt_0>

REVISTA Lmaiuscula, f_sbto, f_singular, ... <cabecalho.txt_0>

DA fjnaiuscula, f_prep, ... <cabecalho.txt_0>

PROPRIEDADE Lmaiuscula, f_sbto, ... <cabecalho.txt_0>

INDUSTRIAL Lmaiuscula, f_adjt, ... <cabecalho.txt_0>

No. Labrv, ... <cabecalho.txt_0>

9819 fjiumerica, f_anterior_eh_No,... <cabecalho.num_revista>

27 Lnumerica, ... <cabecalho.data_edicao> de f_minuscula, Lprep, ... <cabecalho.data_edicao> dezembro Lminuscula, f _prep, f_mes12, ... <cabecalho.data_edicao> de Lprep, ... <cabecalho.data_edicao>

2043 Lnumerica, ... <cabecalho.data_edicao>

TABELA 9 - Amostra no formato de treinamento

Os CRFs são treinados através de métodos de otimização numérica (v. "Shallow parsing with conditional random fields", HLT-NAACL-2003). Nesta forma preferível de execução, além do comando para iniciar uma sessão de treinamento, o sistema oferece um comando para terminar o treinamento mesmo que a convergência numérica ainda não tenha sido atingida. Quando este comando é executado, o processo numérico é interrompido pelo sistema e os parâmetros do modelo serão aqueles estimados até o ponto no qual o treinamento foi interrompido. A tabela 10 exemplifica o uso deste comando (linha 1). O exemplo também demonstra o uso do comando para obter dados relativos à última sessão de treinamento (linha 3). Estes dados são retornados pelo sistema em um formato que inclua essencialmente o estado da sessão de treinamento (nova, iniciada ou terminada), número de iterações realizadas, parâmetros do modelo e valores estimados.

TABELA 10 - Comando para terminar uma sessão de treinamento

O modelo gerado e os parâmetros estimados são armazenados pelo sistema imediatamente após o término do treinamento, permanecendo associados à coleção de documentos em questão. Uma coleção que possui um modelo já treinado pode ser utilizada para auxiliar na rotulação de novas amostras. A amostra, neste caso, é tratada como um documento qualquer que precise ser rotulado. Internamente no sistema, isso corresponde a ter o texto da amostra armazenado no formato da tabela 9, mas cuja coluna dos rótulos ainda está vazia e precisa ser preenchida automaticamente pelo modelo treinado. Uma vez rotulado, o conteúdo da tabela é utilizado pelo sistema para introduzir as marcações XML na amostra, de acordo com os rótulos que foram atribuídos ao texto. A nova amostra, agora rotulada, é tida como validada pelo sistema, e pode ser utilizada nos treinamentos subsequentes. O comando para rotular amostras é exemplificado na tabela 11. Neste exemplo, uma amostra em XML (ainda não rotulada) é criada a partir da importação de um documento no formato pdf (linhas 1-2). Em seguida (linha 3), a referida amostra é submetida ao processo de rotulação automática através do comando correspondente (linha 3). LINHA COMANDO

1 alter document collection INPI add sample amostra_1

2 from http://localhost/inpi_marcas/marcas_amostra_1.pdf

3 alter document collection INPI label sample amostra_1

4

TABELA 11 - Comando para rotular uma amostra O sistema também oferece comandos para submeter uma coleção a uma etapa de testes. Estes comandos são apresentados na tabela 12. Ao ser iniciada a sessão de testes (linha 1), o sistema realiza um treinamento parcial que inclui somente parte das amostras já validadas (escolhidas aleatoriamente em uma percentagem definida de acordo com a configuração do usuário) e aplica os modelos na rotulação das amostras restantes. Na sequência (linha 3), o comando i nspect é utilizado para obter informações sobre os resultados do testes (ou do andamento destes, caso a sessão de testes ainda não tenha sido completada).

TABELA 12 - Comandos utilizados na etapa de testes A etapa de extração poderá ser iniciada a partir do momento em que uma coleção já estiver associada a modelos treinados. Contudo, se os modelos treinados para aquela coleção estiverem desatualizados com relação a seus metadados e amostras, a extração não será permitida até que um novo treinamento seja realizado. O comando nsert é utilizado para extrair informações de um documento e inseri-las na coleção em questão. Internamente, o comando insert converte o documento fornecido como entrada para um formato similar ao da tabela 9, exceto que a coluna dos rótulos ainda estará vazia. Em seguida, o comando utiliza os modelos treinados daquela coleção para rotular automaticamente cada token do texto de modo a completar a tabela. O rótulo atribuído indica o elemento (ou grupo de elementos, para estruturas aninhadas) no qual o token de texto está contido (e.g. <cabecalho.data_edicao>). Isso permite que o sistema reconstrua o conteúdo original do documento ao mesmo tempo em que as marcações XML correspondentes são introduzidas no texto. O documento que resulta deste procedimento, agora um documento XML estruturado, é armazenado pelo sistema na área correspondente à coleção em questão. Assim, nesta modalidade de execução, o conteúdo dos documentos é extraído de forma integral e armazenado juntamente com as informações de interesse no formato XML. Antes que o documento XML resultante seja armazenado na coleção, o sistema poderá validá-lo perante a XSD correspondente para assim verificar se a marcação XML está de acordo com a descrição fornecida nos metadados (quaisquer falhas porventura encontradas nesta validação seriam reportadas durante a execução do comando nsert). Observe-se que outras modalidades de execução desta invenção podem armazenar as informações em um formato interno diferente do XML, mas é importante que este formato estabeleça uma correspondência entre os segmentos de texto extraídos e os elementos da estrutura descrita nos metadados de modo a preservar o contexto no qual aquelas informações estavam contidas. A tabela 13 apresenta um exemplo dos comandos utilizados na etapa de extração. O conteúdo de cada documento é extraído e inserido na coleção pelo comando i nsert (linhas 1-3). As informações extraídas são perpetuadas no sistema através do comando commi t (linha 5). LINHA COMANDO

1 insert document from http://localhost/inpi_marcas/marcas_2010.pdf into IN PI 2 insert document from http://localhost/inpi_marcas/marcas_2011.pdf into INPI 3 insert document from http://localhost/inpi_marcas/marcas_2012.pdf into INPI 4

5 commit

6

TABELA 13 - Comandos utilizados na etapa de extração

Uma vez extraído, o conteúdo inserido em uma coleção de documentos pode ser consultado a qualquer tempo através do comando sel ect, ou removido pelo comando del ete. Nesta forma preferível de execução, as expressões de busca para estes comandos são especificadas através da linguagem XPath. As expressões XPath serão interpretadas e analisadas pelo sistema de acordo com a descrição fornecida pela XSD da coleção em questão (ou seja, a XSD define o esquema lógico que irá determinar as consultas válidas para aquela coleção). Considere-se como exemplo, a seguinte consulta: buscar, na coleção das revistas de marcas do INPI, todos os pedidos com exigências cujo nome do procurador comece com 'João Cabral' e cuja data de edição da revista pertença ao ano de 2008. A tabela 14 mostra o comando (linhas 1-4) contendo a expressão de busca para esta consulta. O resultado da consulta será composto por nodos XML, conforme especificado na linguagem XPath. Em outra modalidade de execução desta invenção, a XSLT (eXtensible Stylesheet Language Transformations) pode estar integrada ao sistema a fim de permitir que o resultado das consultas seja automaticamente transformado para outros formatos (e.g. HTML) e transferido para outros sistemas. Modalidades de execução alternativas podem adotar outras linguagens baseadas em XML para o tratamento das consultas, a exemplo da XQuery, capaz não apenas de consultar as informações armazenadas no sistema, mas também de converter o resultado das consultas para o formato desejado.

TABELA 14 - Comando para consultar informações extraídas Nesta forma preferível de execução, os comandos são executados a partir de um processo servidor, que permanece ativado indefinidamente. Outros processos e aplicações remotas podem a qualquer tempo se conectar a este servidor e requisitar a execução dos comandos oferecidos pelo sistema. Cabe ao processo servidor a tarefa de autenticar e gerenciar as conexões remotas, bem como responder de forma apropriada às requisições efetuadas por meio daquelas conexões. O processo servidor recebe as requisições com os comandos e as repassa aos módulos internos do sistema responsáveis pela sua execução, que após executá-las irão informar o resultado. Ao receber o resultado sobre aquela execução, o processo servidor repassa este resultado ao processo que inicialmente fez a requisição. É preciso que, nesta forma preferível de execução desta invenção, o servidor do sistema seja capaz de receber e executar múltiplas requisições simultaneamente e coordená-las de modo que o conteúdo armazenado não se torne corrompido ou inconsistente. Técnicas de implementação tradicionalmente associadas ao gerenciamento concorrente de dados podem ser adaptadas a esta forma de execução do sistema para garantir consistência durante o armazenamento das informações. As requisições contendo os comandos a serem executados são enviadas ao processo servidor através de um protocolo de comunicação, que é determinado pela configuração do sistema. Nesta forma preferível de execução, o sistema utiliza o protocolo http para esta tarefa (os comandos são codificados na uri de conexão enviada ao servidor ou encapsulados no corpo da requisição via post, possivelmente através de um formato padronizado como SOAP). Em modalidades alternativas de execução, variantes seguras destes protocolos (e.g. https) também podem ser empregadas na comunicação com o processo servidor. Cabe aos processos (ou aplicações) clientes a tarefa de se conectar ao processo servidor através do protocolo esperado pelo sistema para então enviar requisições contendo os comandos a serem executados.

A tabela 15 contém uma breve descrição dos principais comandos oferecidos pelo sistema, para esta forma preferível de execução (parâmetros aparecem entre "<" e ">").

COMANDO DESCRIÇÃO

c reate document col lection Cria uma nova coleção de documentos denominada

<nome_co ~ l >

<nome_col >

al ter document col l ection Atribui os metadados definidos pela XSD localizada <nome_col> set defi n t on

em <url_xsd> à coleção denominada from <url_xsd>

<nome_col>

al ter document coll ection Adiciona à coleção denominada <nome_col> a <nome_col> add sample

amostra identificada por <nome_amostra> cujo <nome_amostra> from

<ur " l_amostra> conteúdo está localizado em <url_amostra> al ter document coll ection Remove a amostra identificada por <nome_col> remove sample

<nome_amostra> da coleção denominada <nome_amost ra>

<nome_col> COMANDO DESCRIÇÃO alter document collection Cria e atribui uma definição de metadados para a <nome_col> build defin ti on

coleção denominada <nome_col> a partir do from samples

conteúdo das amostras até então adicionadas alter document collection Valida a amostra pertencente à coleção <nome_col> vali date sample

<nome_col> identificada por <nome_amostra> <nome_amostra>

alter document collection Rotula automaticamente a amostra identificada por <nome_col> label sample

<nome_amostra> pertencente à coleção <nome_amostra>

denominada <nome_col>

alter document collection Inicia a sessão de treinamento para a coleção <nome_col> start training

denominada <nome_col>

alter document collection Antecipa o término da sessão de treinamento para <nome_col> stop traini ng

a coleção <nome_col >

alter document collection Inicia a sessão de testes para a coleção <nome_col> start testi ng

denominada <nome_col>

alter document collection Antecipa o término da sessão de testes para a <nome_col> stop testing

coleção <nome_col >

inspect document collection Retorna o conteúdo da XSD correspondente à <nome_col> get defini ti on

definição de metadados atribuída à coleção denominada <nome_col>, caso exista

inspect document collection Retorna uma lista com os nomes das amostras <nome_col> li st samples

pertencentes à coleção denominada <nome_col> i nspect document col lection Retorna o conteúdo XML da amostra identificada <nome_col> get sample

por <nome_amostra> pertencente à coleção <nome_amostra>

denominada <nome_col >

i nspect document collection Retorna informações sobre a sessão de <nome_col> get training

treinamento referente à coleção denominada i nfo

<nome_col >

inspect document collection Retorna informações sobre a sessão de testes <nome_col> get testi ng info

referente à coleção denominada <nome_col> COMANDO DESCRIÇÃO insert document from Insere o conteúdo extraído do documento <ur " l_documento> nto

localizado na uri <url_documento> na coleção <nome_col>

denominada <nome_col >

delete <expressao_xpath> Exclui da coleção denominada <nome_col> as from <nome_co " l >

informações que satisfazem a expressão de busca <expressao_xpath>

select <expressao_xpath> Retoma as informações contidas na coleção from <nome_col>

denominada <nome_col> que satisfazem a expressão de busca <expressao_xpath> commi t Perpetua todas as modificações realizadas pelos comandos insert e delete desde o término da sessão de treinamento ou desde a última vez que o comando commi t foi executado com sucesso rol 1 back Desfaz todas as modificações realizadas pelos comandos insert e delete desde o término da sessão de treinamento ou desde a última vez que o comando commi t foi executado com sucesso

TABELA 15 - Comandos do sistema