intrinsico / scripts-spotlight-onto

0 stars 0 forks source link

Indexação dos dados da Globo: o que fazer #1

Open jairofsouza opened 10 years ago

jairofsouza commented 10 years ago

Olá Renan, temos uma tarefa urgente aqui para você começar na segunda-feira. O pessoal da Globo nos disponibilizou a base deles para indexarmos [1]. Então quero que você indexe os dados da Globo numa versão jdbm do Spotlight no servidor privado que eu enviei para vc por email. A ideia é conter o indice dbpedia-pt + os dados da Globo. Me parece que os dados da Globo já possuem o relacionamento com os tipos da DBpedia. Importante é que queremos, no final, que a anotação anote uma entidade da Globo e não da Dbpedia. Para isso, o Pablo deu a dica no email abaixo. Crie um manual com o passo-a-passo de como indexar a base da globo. Vai fazendo isso durante o processo. O Pablo tinha me enviado um email já com outras dicas e me lembro também que na lista do spotlight uma garota tinha perguntado algo assim e ele respondeu. Só que não consegui encontrar os emails. Então, enfim, se tiver duvida, vai enviando pra gente. Código novo que vc for criar pra transformar essa base da globo no formato que queremos + qq outra coisa, vc vai colocar no repo do github privado [2].

[1] https://www.dropbox.com/s/57ooav2uonkkoah/dump_20130919.tar.tar.gz [2] https://github.com/intrinsic-ltda/scripts-globo

Abs, Jairo

PS: Esta é uma cópia do email enviado por mim no dia 05/10/2013 (24 dias atrás) com cópia para Renan e Pablo.

jairofsouza commented 10 years ago

Aqui, mais uma vez, Renan, toma uma abordagem incremental. Pega 10 URls de entidades da Globo que tem correspondentes mapeadas na DBpedia e indexa. Depois pega 100 ou já direto todas que tem correspondentes e indexa.

O segundo problema é o das as URIs que não tem correspondentes. Para essas temos que arranjar um jeito de extrair contexto pra elas, porque nao temos paragrafos da Wikipedia. Alguma ideia? Exato, usando o código da Carol (generalizado) pra processar um RDF e extrair os labels da "vizinhança" (properties, objects, types, etc.).

Resolve um probleminha pequeno antes do outro.

Sobre o JDBM, não tem mistério. Salva o contexto que você está obtendo naquele formato pignlproc tsv/json (não é o occs.tsv) e manda pra ele indexar. Tem manual lá no Wiki (procura por indexing, installation e internationalization). Tá num desses.

Abs, Pablo

PS: Cópia do email enviado pelo Pablo para o Renan e para Jairo no dia 09/10/2013.

jairofsouza commented 10 years ago

Dica do Pablo:

Zaknarfen commented 10 years ago

Esse email mesmo que eu me referenciei. O primeiro passo em si é:

Pega 10 URls de entidades da Globo que tem correspondentes mapeadas na DBpedia e indexa. Depois pega 100 ou já direto todas que tem correspondentes e indexa.

Então no caso vamo fazer um "merge" o índice será só o que tem na globo com correspondência na [wiki/db] pedia a princípio.

2013/10/29 jairofsouza notifications@github.com

Aqui, mais uma vez, Renan, toma uma abordagem incremental. Pega 10 URls de entidades da Globo que tem correspondentes mapeadas na DBpedia e indexa. Depois pega 100 ou já direto todas que tem correspondentes e indexa.

O segundo problema é o das as URIs que não tem correspondentes. Para essas temos que arranjar um jeito de extrair contexto pra elas, porque nao temos paragrafos da Wikipedia. Alguma ideia? Exato, usando o código da Carol (generalizado) pra processar um RDF e extrair os labels da "vizinhança" (properties, objects, types, etc.).

Resolve um probleminha pequeno antes do outro.

Sobre o JDBM, não tem mistério. Salva o contexto que você está obtendo naquele formato pignlproc tsv/json (não é o occs.tsv) e manda pra ele indexar. Tem manual lá no Wiki (procura por indexing, installation e internationalization). Tá num desses.

Vi que o Wiki tá andando. Bom trabalho aí! Mas ainda odeio o nome Statistical Backend.

"tf–idf is the product of two statistics, term frequency and inverse document frequency. "

All we do is statistical!

Abs, Pablo

PS: Cópia do email enviado pelo Pablo para o Renan e para Jairo no dia 09/10/2013.

— Reply to this email directly or view it on GitHubhttps://github.com/intrinsic-ltda/scripts-globo/issues/1#issuecomment-27304907 .

jairofsouza commented 10 years ago

Renan, esse é o primeiro PASSO não o primeiro INDICE, ok?

São dois problemas:

Agora, fazer um "merge" é diferente de fazer um "filtro". Fazer um merge significa pegar tudo que está no dbpedia e complementar com o que está na globo. É por aí. Fazer um filtro é separar o que está no dbpedia que tb está na globo e indexar essa parte. Tb é uma abordagem, talvez a globo queira isso num futuro (para ter só conceitos que eles possuem). Mas não acho que precisamos fazer isso agora.

cc: @carolvaladares @sandroacoelho @pablomendes

Zaknarfen commented 10 years ago

Mas se for pra pegar 10 URls de entidades da Globo que tem correspondentes mapeadas na DBpedia e indexar, isso seria um filtro não? Eu ainda tenho algumas perguntas:

1) O que quer dizer o "upper" dentro dos arquivos?

2) http://semantica.globo.com é o namespace deles? 3) Na DBpedia é separado em labels, instance types, redirects etc... Os arquivos da Globo tem tudo (labels, tipos etc)? se sim seria interessante separar pra ficar parecido com os da DBpedia?

4) As entidades da Globo que já estão mapeadas na DBpedia, eu acho elas como? por subject igual? object igual? URI igual? igual que eu digo é mesmo subject, por exemplo, no arquivo da Globo e num arquivo de labels pt vamos supor. 5) Tem vários arquivos de 1kb com extensão .ttl.graph. Esses arquivos são os tipos das resources? tem person, place, upper, sparql (esse sparql tem até porta 8890).

6) Tem algum lugar que explique o formato rdf desses arquivos? por exemplo tem um .graph com upper aí dentro do arquivo com entidades relativas ao upper tem

upper:name rdfs:comment "Nomes populares de uma inst\u00E2ncia. Exemplo: nomes pelo quais uma pessoa \u00E9 conhecida (e.g. Ronaldinho, Zico, Lula). N\u00E3o confundir com nome completo, uma outra propriedade com valor \u00FAnico e formal."@pt . upper:fullName rdfs:comment "Nome completo de Agente ou Objeto."@pt .

isso seria

rdf:type ? 7) Se tiverem várias properties, pro exemplo, tipos, labels etc... não vai ser só jogar no código da Carolina teria que modificar pra ficar genérico, mas como eu vou saber se é rdf:type ou outra coisa? tem como saber isso fácil? 8) Eles geraram esses arquivos usando qual ferramenta? esses .graph estão no formato LucidDB? teríamos que usar os .graph como guia né? cc: @carolvaladares @sandroacoelho @pablomendes