Non ho un grande background nell'organizzazione / reperimento delle informazioni, ma conosco alcuni modi per affrontare il problema. Per informazioni strutturate, è possibile passare a OOish - tutto "ha-a" o "ha-molti" qualcos'altro, e si naviga nel grafico per trovare relazioni tra le cose. Per informazioni non strutturate, hai tecniche come la ricerca del testo e il tagging. Conosco strutture e algoritmi di dati CS di base per dati strutturati, ma ciò che mi interessa va oltre. Voglio sapere come i dati non strutturati possono essere correlati ai dati strutturati "in modo intelligente", cioè senza che gli utenti debbano comprendere esplicitamente la gerarchia degli oggetti.
Quali risorse - articoli o libri - ci sono che riassumono la teoria del CS dietro queste tecniche o potrebbero introdurmi agli altri? Dal momento che finora è stato difficile comunicare esattamente quale tipo di problema ho a che fare, ecco uno scenario di esempio. È la mia stessa formulazione e il dominio è stato (radicalmente) offuscato per proteggere il 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.
Potresti notare che in questo esempio il mio tono si sposta da "So esattamente cosa sto facendo" per "provare a fare cose come ...". Quindi, sto cercando risorse che mi insegnino a gestire la combinazione di informazioni strutturate e non strutturate: tagging, ricerca testuale con indicizzazione intelligente e clustering, nonché qualsiasi altra tecnica che non conosco ancora. Sarebbe opportuno anche qualche discussione sui punti di forza e di debolezza di ciascuno.