Recursos sobre como relacionar informações estruturadas e semi- / não estruturadas [fechadas]

5

Eu não tenho um grande conhecimento em organização / recuperação de informações, mas conheço algumas maneiras de lidar com o problema. Para informações estruturadas, é possível usar OOish - tudo "has-a" ou "has-many" alguma outra coisa, e você navega no gráfico para encontrar relações entre as coisas. Para informações não estruturadas, você tem técnicas como pesquisa e marcação de texto. Eu sei sobre estruturas básicas de dados de CS e algoritmos para dados estruturados, mas o que eu estou interessado vai além disso. Quero saber como dados não estruturados podem ser relacionados a dados estruturados "de forma inteligente", ou seja, sem que os usuários tenham que entender explicitamente a hierarquia de objetos.

Quais são os recursos - artigos ou livros - que resumem a teoria da SC por trás dessas técnicas ou podem me apresentar a outras pessoas? Desde então, tem sido difícil comunicar exatamente com que tipo de problema eu estou lidando, aqui está um cenário de exemplo. É meu próprio texto e o domínio foi (radicalmente) ofuscado para proteger o cliente.

A wine enthusiast wants to build a website for her wine society. Wine farms could capture many wine prices and enter their locations. Users would search for wine tasting venues in their area. Or all wines which cost below X per bottle. Nothing difficult about that so far, because we're dealing with structured information in a straightforward graph of objects or database tables.

However, they also have advice articles (unstructured info), such as "10 things to look out for in a good Red" (sorry, we're stretching the limits of my knowledge about wine :). As a user, you'd want the website to display a link to the article when you're viewing wine farms. If the enthusiast decides to have a section where people can list "recipes for meals which go well with wine" on her website, she might also want the article to appear next to those recipes which go well with red wine. Now, you don't want the enthusiast who captures the data to have to link every new article to every meal (because it won't just be this one article that is relevant to recipes or wines); and you don't want meal authors to be bogged down by exactly which one, two or three articles are most relevant out of a library of 50. You certainly don't want to introduce a "red wine advice" field on every wine or meal. So that's where you might use tagging. Wines, recipes and the red wine advice article could all be tagged, "red". Great solution that really works for blogspot.com, right? Well yes, as long as the data capturers know that the "red" tag exists. Maybe they decide to use "Claret" instead. Doh! If there are only 5 tags, they probably get it right, but if there are 50 tags, or even just 20 they might not. Worse still you get the spam scenario where the author of a new article just applies every tag - "red", "white", "shiraz", "chenin blanc" etc.

At this point we need to consider other techniques, like text search. The wine is marked as a red, the article is chock full of the word "red wine". Done. Well, you might want to apply some of the data clustering techniques that can help you to better identify what a piece of text's main topics is. Or create an indexing process that drops out common words and punctuation. No point matching two items because they both use the word "but" a lot. Actually, the best results of all would probably be to use a combination of everything I've mentioned.

Você pode notar que neste exemplo meu tom se move de "Eu sei exatamente o que estou fazendo" para "tentar fazer algumas coisas como ...". Então, estou procurando recursos que me ensinem a lidar com a combinação de informações estruturadas e não estruturadas, pesquisa de texto com indexação inteligente e clustering, bem como quaisquer outras técnicas que eu não conheço ainda. Alguma discussão sobre os pontos strongs e fracos de cada um deles também seria apropriada.

    
por iftheshoefritz 14.03.2011 / 11:29
fonte

2 respostas

1

Não está claro para mim se você está procurando por informações realmente básicas sobre coisas como representação gráfica e passagem, em cujo caso quase qualquer boa estrutura de dados de livros servirá, ou se você está tentando descobrir uma maneira de inferir um modelo de estrutura a partir de informações relativamente não estruturadas, como se poderia fazer em projetos de mineração de dados.

Se é o segundo caso, e você entende os fundamentos dos gráficos, você pode dar uma olhada em Modelos Gráficos Probabilísticos (Koller e Friedman) e Introdução à Aprendizagem Relacional Estatística (Getoor e Taskar). Não cheguei muito longe nesses livros, mas eles têm um estilo que os torna mais úteis do que a média para programadores do setor como eu, que nunca passaram muito tempo em aulas de matemática na faculdade. Também Data Minding, Second Edition de Ian Witten é bastante pragmático.

Para uma cobertura mais superficial, mas também mais prática, veja Algoritmos da Web Inteligente, Haralambos Marmanis e Dmitry Babenko, e Inteligência Coletiva em Ação, de Satnam Alag.

    
por 14.03.2011 / 17:05
fonte
0

Dois livros parecem que você está procurando por estruturas de dados e algoritmos (mais ou menos)

  1. Estruturas de Dados e Análise de Algoritmo em C ++ (o código está nos princípios de c ++ são universais.)
  2. Introdução aos Algoritmos (algumas estruturas de dados, mas mais foco nos algoritmos usados para manipulá-los para fazer coisas como classificar, procura, etc)
por 14.03.2011 / 16:48
fonte