Knowledge Base come costruirla?

di il
3 risposte

Knowledge Base come costruirla?

Buongiorno a tutti,

vorrei chiedervi un'informazione su un argomento che sto faticando a comprendere,

avete idea di come si può costruire una base di conoscenza (knowledge base) ?

mi spiego meglio, 

se per esempio sono un'azienda e dispongo di una base di dati (per esempio un database mySql) e di alcuni documenti in formato HTML caricati su un server web

come posso, da questa base di dati e da questi documenti, costruire una base di conoscenza?

ho capito che dovrei utilizzare un Endpoint Sparql per interrogare la base di conoscenza,

ma non riesco a capire come si può creare una base di conoscenza

studiando dalle slide del corso di Linked Data e Web Semantico e dalle lezioni frequentate, 

ho capito che bisogna estrarre conoscenza da queste fonti mediante appositi framework per poi costruire il "DATABASE RDF" (nelle lezioni chiamato così)

e successivamente interrogare questo database che include informazioni in formato RDF mediante un Endpoint Sparql

però non mi è ben chiaro come si arriva a questo Database RDF che credo sia la "Base di conoscenza"

nel senso, io ho i miei documenti html con annotazioni RDF ed ho la mia base dati che interrogo mediante una API e mi faccio restituire i dati in formato json

quello che non capisco è come faccio a convertire queste entità in maniera dinamica in una base di conoscenza?

3 Risposte

  • Re: Knowledge Base come costruirla?

    "knowledge base" e' uno dei primi concetti usato in ambito Intelligenza Artificiale per rappresentare la "conoscenza umana".

    Fondamentalmente e' un GRAFO i cui nodi rappresentato i "concetti" ed i "valori" e gli archi le "relazioni".

    Il grafo ha una struttura "standard":

    <oggetto, chiave, valore>

    dove 'valore' puo' essere un valore 'atomico' (numerico, stringa, ...) oppure un'altro nodo del grafo.

    Si chiama: "rappresentazione estrinseca", al contrario di una classe in OOP in cui la rappresentazione e' "intrinseca". La differenza principale e' che nella "rappresentazione estrinseca" puoi "aggiungere" attributi/valori a piacimento, basta usare nomi nuovi delle chiavi. E qui c'e' tutto un meccanismo basato sui namespace XML che semplifica (? in "theoria" :-) ) la vita.

    La rappresentazione piu' usata e' mediante RDF

    https://www.w3.org/TR/rdf-syntax-grammar/

    Esistono anche DBMS che supportano RDF

    https://en.wikipedia.org/wiki/Triplestore

    Ora, entra in gioco la "semantica" da associare a nodi e archi. Queste sono le "ontologie"

    https://en.wikipedia.org/wiki/Ontology

    ----

    Diciamo che la versione aggiornata della "knowledge base" sono proprio gli LLM (ChatGPT e compagnia bella) che differiscono dall'approccio precedente nel seguente modo:

    1. una "knowledge base" e' rappresentata da oggetti discreti (il grafo)
    2. un LLM rappresenta la conoscenza in uno "spazio continuo" (R^n con n=milioni/miliardi di parametri)

    .

    Come vedi, descrivere in un post CENTINAIA/MIGLIAIA di pagine e' alquanto complicato. 
    Devi prenderti dei libri sull'argomento e STUDIARE.

  • Re: Knowledge Base come costruirla?

    Ciao @migliorabile,

    grazie mille per la tua spiegazione esaustiva sulla knowledge base e sull'evoluzione verso gli LLM

    Ho trovato particolarmente interessante la distinzione tra rappresentazione estrinseca e intrinseca. 

    Capisco perfettamente la complessità di questi argomenti e come sia impossibile riassumere in poche righe secoli di ricerca. 

    Mi hai fornito un ottimo punto di partenza per approfondire l'argomento.

    grazie ancora per l'aiuto

    buona serata

    Luca

  • Re: Knowledge Base come costruirla?

    Non esagerare!

    NON SONO secoli. L'intelligenza artificiale e' nata nel 1960 circa e le ontologie sono concetti del 1990 , quindi sono diverse decine di anni

    :-) 

Devi accedere o registrarti per scrivere nel forum
3 risposte