Como os motores de descoberta de conteúdo, como Zemanta e Open Calais trabalho?

votos
5

Eu queria saber como como serviço de semântica como o Open Calais descobre os nomes das empresas, ou pessoas, conceitos de tecnologia, palavras-chave, etc. a partir de um pedaço de texto. Será que é porque eles têm um grande banco de dados que elas coincidam com o texto de encontro?

Como é que um serviço como Zemanta saber o que as imagens sugerir a um pedaço de texto, por exemplo?

Publicado 22/08/2008 em 11:51
fonte usuário
Em outras línguas...                            


3 respostas

votos
9

Michal Finkelstein de OpenCalais aqui.

Em primeiro lugar, obrigado pelo seu interesse. Eu vou responder aqui, mas eu também incentivá-lo a ler mais sobre fóruns OpenCalais; há um monte de informações lá incluindo - mas não limitado a: http://opencalais.com/tagging-information http://opencalais.com/how-does-calais-learn sentir também livre para seguir-nos no Twitter (@OpenCalais ) ou e-mail para team@opencalais.com

Agora, para a resposta:

OpenCalais é baseado em uma década de pesquisa e desenvolvimento nas áreas de Processamento de Língua Natural e Text Analytics.

Apoiamos a completa "PNL Stack" (como gostamos de chamá-lo): De tokenization texto, análise morfológica e POS tagging, para análise superficial e identificando frases nominais e verbais.

Semântica entram em jogo quando olhamos para Entidades (aka Entidade Extração, reconhecimento de entidades mencionadas). Para esse efeito, temos um sistema baseado em regras sofisticado que combina regras de descoberta, bem como léxicos / dicionários. Esta combinação permite-nos identificar nomes de empresas / pessoas / filmes, etc., mesmo se eles não existem em qualquer lista disponível.

Para as entidades mais proeminentes (como pessoas, empresas) também executar a resolução de anáfora, referência cruzada e nome de canonização / normalização no nível de artigo, por isso vamos saber que 'John Smith' e 'Mr. Smith', por exemplo, são provavelmente referindo-se à mesma pessoa. Portanto, a resposta curta para sua pergunta é - não, não é apenas sobre a comparação com grandes bases de dados.

Eventos / Os fatos são realmente interessante porque eles podem tomar as nossas regras de descoberta de um nível mais profundo; encontramos relações entre entidades e rotulá-los com o tipo apropriado, por exemplo M & A (relações entre duas ou mais empresas), Alterações Emprego (relações entre empresas e pessoas), e assim por diante. Escusado será dizer que, a extração de Eventos / Fato não é possível para sistemas que são baseados unicamente em léxicos. Para a maior parte, o nosso sistema é ajustado para ser precisão-oriented, mas nós sempre tentar manter um equilíbrio razoável entre precisão e totalidade.

A propósito há algumas novas capacidades legais de metadados que sai no final deste mês portanto, fique atento.

Saudações,

Michal

Respondeu 04/05/2009 em 20:45
fonte usuário

votos
7

Eu não estou familiarizado com os serviços especificados, mas o campo de processamento de linguagem natural desenvolveu uma série de técnicas que permitem este tipo de extração de informações de texto geral. Como Sean afirmou, depois de ter termos candidatos, não é a difícil procurar esses termos com algumas das outras entidades no contexto e, em seguida, usar os resultados dessa pesquisa para determinar como você está confiante de que o termo extraído é uma entidade real de interesse.

OpenNLP é um projeto grande se você gostaria de brincar com processamento de linguagem natural. Os recursos que você nomeados provavelmente seria melhor realizado com Named Entity reconhecedores (NER) (algoritmos que localizam nomes próprios, em geral, e às vezes datas de bem) e / ou Word Sense Desambiguação (WSD) (por exemplo: a palavra 'banco' tem significados diferentes dependendo de seu contexto, e que pode ser muito importante quando extrair informações de texto Dadas as frases:. "o avião bancados esquerda", "o banco de neve foi alta", e "eles roubaram o banco" você pode ver como dissambiguation pode desempenhar um papel importante na compreensão da linguagem)

Técnicas geralmente dependem uns dos outros, e NER é uma das tarefas mais complexas, de modo a fazer NER com sucesso, geralmente você precisará tokenizers precisos (tokenizers linguagem natural, você mente - abordagens estatísticas tendem a se sair as melhores), derivações de cordas ( algoritmos que fundem palavras semelhantes a raízes comuns: assim palavras como informante e informante são tratados de forma igual), detecção de sentença ( 'Mr. Jones era alto.' é apenas uma frase, então você não pode simplesmente verificar se há sinais de pontuação), parte-of pichadores -speech (taggers POS), e FSD.

Há uma porta python (de partes) OpenNLP chamado NLTK ( http://nltk.sourceforge.net ), mas eu não tenho muita experiência com isso ainda. A maioria do meu trabalho tem sido com as portas # Java e C, que funcionam bem.

Todos estes algoritmos são específicos do idioma, é claro, e eles podem levar um tempo significativo para ser executado (embora, é geralmente mais rápido do que ler o material que você está processando). Desde o state-of-the-art é amplamente baseado em técnicas estatísticas, há também uma taxa de erro considerável para levar em conta. Além disso, porque os impactos da taxa de erro de todas as etapas, e algo como NER requer inúmeros estágios de processamento, (tokenize -> sentença detectar -> tag POS -> WSD -> NER) do composto taxas de erro.

Respondeu 30/08/2008 em 04:56
fonte usuário

votos
0

Abra Calais provavelmente usa tecnologia de análise linguagem e linguagem estática para adivinhar quais palavras ou frases são nomes, lugares, empresas, etc. Então, é apenas mais um passo para fazer algum tipo de busca por essas entidades e retornar dados de meta.

Zementa provavelmente faz algo semelhante, mas coincide com as frases contra meta-dados ligados às imagens, a fim de obter resultados relacionados.

Certamente não é fácil.

Respondeu 22/08/2008 em 18:58
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more