Definindo um Type System para o Watson Knowledge Studio

Renato dos Santos Rosa Leal
As Máquinas que Pensam
3 min readMar 28, 2017

Este é o segundo artigo de uma série sobre o Watson Knowledge Studio (você pode encontrar o primeiro em: Treinando modelos customizados no IBM Watson utilizando machine learning).

Entendendo o problema

O primeiro passo de um projeto utilizando o Watson Knowledge Studio é a definição do Type System, modelo que descreve quais são as entidades e relacionamentos a serem extraídos do texto no momento de processamento.

Um prática muito boa é sentar junto do cliente e entender o problema de negócio a ser analisado antes mesmo de entrar no software. Seguem algumas perguntas que poderão te guiar nesse processo e definir se o WKS é realmente a melhor solução para o problema apresentado:

  • Qual informação desejamos extrair dos textos analisados?
  • Com essa informação em mãos realmente conseguiremos resolver o problema?
  • Os documentos aos quais temos acesso possuem esse tipo de informação?
  • Existem exemplos (dados) suficientes para realizar o treinamento? (Um bom treinamento exigirá algumas centenas de documentos).

Se você conseguiu responder a todas essas questões então está em um bom caminho. Podemos então desenhar nosso modelo.

Exemplo de Modelo de Entidades e Relacionamentos

OBS: dedique um bom tempo a essa etapa, se não for feita da maneira correta você terá um grande retrabalho pois necessitará refazer a anotação humana de todos os documentos, até mesmo aqueles que você já fez com o modelo “errado”.

Nosso exemplo

Por questão de simplicidade o domínio que escolhi foi o de comentários sobre celulares em sites de compras nacionais. A informação é de fácil acesso e o modelo não apresenta grandes variações.

Podemos definir o objetivo da nossa análise da seguinte forma:

Análise de comentários (reviews) sobre celulares postados em sites de e-commerce nacional de modo a identificar a popularidade dos modelos e marcas, as funcionalidades que apresentam e se estão falando bem ou mal sobre os mesmos.

Conceitos Teóricos

O WKS funciona utilizando um mecanismo chamado SIRE (Statistical Information and Relation Extraction) criado pela IBM e que consiste em dois tipos de anotações:

Entidades (entity types)

É uma classe ou categoria de um objeto a ser apresentado no texto. Exemplo: Pessoas, Organizações, Locais.

No nosso caso utilizaremos as seguintes entidades (é uma boa prática manter os nomes das entidades todas em maiúsculo):

  • MARCA
  • MODELO
  • FUNCIONALIDADE
  • POSITIVO
  • NEGATIVO

OBS: Ainda seria possível criar subtipos (subtypes) e papéis (roles) para as suas entidades como, por exemplo, criar uma entidade SENTIMENTO com os subtipos NEGATIVO e POSITIVO.

Relacionamentos (Relation Types)

É uma relação entre duas entidades definidas na etapa anterior. Exemplos de relacionamentos são: empregadoPor (PESSOA-ORGANIZACAO), sediadaEm (ORGANIZACAO-PAIS).

No nosso exemplo teremos seis relacionamentos:

  • referenteA (POSITIVO,NEGATIVO-MODELO,FUNCIONALIDADE) que representa quatro relacionamentos diferentes.
  • possui (MODELO-FUNCIONALIDADE)
  • fabrica (MARCA-MODELO).

É possível perceber que nossa modelagem não responde a todas perguntas possíveis: não temos como verificar se falam diretamente sobre uma marca. Como isso é algo que não era necessário para nosso problema inicial então não alteraremos o modelo, mas normalmente esse é um processo cíclico.

Finalizando

Um erro comum ao montar um type system no WKS é confundi-lo com uma ontologia. Você não quer mapear todo o conhecimento sobre um assunto, você deve inserir apenas aquelas entidades que serão úteis na extração de modo a solucionar o seu problema de negócio.

Não confunda o type system com uma ontologia.

No próximo artigo falaremos sobre a inserção de dados no WKS.

--

--