Nepomuk
Ricerca semantica
Lo scopo di questa pagina non è spiegare completamente la tecnologia della ricerca semantica di KDE in ogni dettaglio, ma di fornirne una breve panoramica, alcuni esempi, condividerne la visione di base e segnalare alcuni collegamenti a informazioni pertinenti presenti sul web.
Baloo è la nuova ricerca semantica
A partire da KDE Applications 4.13 in poi 'Baloo', l'infrastruttura di indicizzazione e ricerca file, sostituisce Nepomuk. Leggi tutti i dettagli con le modifiche. La ricerca semantica non utilizza più un singolo grande database, ma database separati e specializzati per ogni tipo di dati. I nuovi database di ricerca si trovano in $HOME/.local/share/baloo. Se hai aggiornato a KDE Applications 4.13 da un precedente rilascio puoi cancellare $KDEHOME/share/apps/nepomuk.
Breve spiegazione
Come spiegato dal glossario la ricerca semantica è correlabile con la classificazione, l'organizzazione e la presentazione di dati. Non è un'applicazione, ma un componente che può essere utilizzato dagli sviluppatori all'interno delle applicazioni.
Provarla in Dolphin
Per esempio Dolphin, il gestore dei file, utilizza la ricerca. Nelle versioni precedenti la 4.13 la ricerca semantica deve essere attivata da . La barra laterale delle informazioni di Dolphin ( o premi F11) presenta le informazioni estratte dalla funzione di ricerca riguardo il file selezionato e ti permette anche di assegnare etichette, valutazioni e commenti ai file. Queste informazioni sono quindi indicizzate e memorizzate dalla funzione di ricerca. Puoi quindi cercare queste informazioni aggiuntive utilizzando la barra di navigazione di Dolphin. Fai clic su o premi Ctrl+F e cerca sulla base del nome dei file o del contenuto.
Funzionalità
La ricerca semantica di KDE offre diversi 'livelli' di funzionalità alle applicazioni: il primo e più semplice di questi è la possibilità di aggiungere manualmente etichette, valutazioni e commenti ai file come avviene in Dolphin. Questa possibilità ti aiuta a trovare più rapidamente i tuoi file, ma richiede molto lavoro da parte tua.
Per rendere più facile la ricerca di file contenti testo, la ricerca offre una seconda funzionalità: l'indicizzazione del contenuto dei file. Puoi così trovare un file a partire da alcune parole che sai essere contenute nel file, ma anche solo da una parte del titolo.
Il terzo livello è molto complesso e spiega la ragione per cui la tecnologia sottostante, Nepomuk, è stata concepita come progetto di ricerca a livello universitario e aziendale nell'Unione Europea. Questo livello è dove puoi trovare termini difficili come 'desktop semantico' e 'ontologie'. Fondamentalmente si tratta di prendere in considerazione il contesto e le relazioni esistenti tra i dati.
Indicizzazione dei file
La funzione di ricerca non indicizza ogni file presente sul disco. La configurazione predefinita nella maggior parte delle distribuzioni Linux esclude alcuni schemi comuni relativi a file di backup e a cartelle di configurazione. Puoi modificare questo comportamento in
. Aggiungi cartelle da escludere. Se vuoi disattivare completamente l'indicizzazione dei file, aggiungi semplicemente la tua cartella home.In Impostazioni di sistema puoi anche scegliere se la ricerca debba indicizzare i file sui dispositivi rimovibili come chiavette USB e CDROM. Questa possibilità non è disponibile in KDE Applications 4.13, i dispositivi rimovibili non vengono indicizzati. Le versioni future reintrodurranno questa funzionalità.
Esempi
Permettimi di cercare di spiegare che cosa offre la ricerca semantica con due esempi. Queste funzioni non sono ancora completamente disponibili, c'è la base, ma gli sviluppatori devono integrarla nelle loro applicazioni.
Relazioni
Diciamo che hai ricevuto una foto da un tuo amico, 2 settimane fa. L'hai salvata da qualche parte sul tuo computer. Ora come fai a trovare quel file? Se non ricordi la posizione sei sfortunato.
Lo scopo di Nepomuk è aiutarti. Sai che questo file viene da quel tuo amico, il tuo computer invece no. Nepomuk, comunque, può ricordare questa relazione. Pertanto, facendo una ricerca con il nome del tuo amico, quella foto salterà fuori!
Un'altra potenziale relazione è tra una pagina web da cui hai copiato del testo e il documento in cui lo hai incollato o due immagini che mostrano la stessa auto. Tali relazioni a volte possono essere estratte dagli stessi file (potresti analizzare le foto e vedere chi e cosa c'è) o fornite dalle applicazioni coinvolte (come nell'esempio sopra sul messaggio di posta). Questa parte di Nepomuk è ancora in attivo sviluppo e necessita di integrazione nelle applicazioni, quindi puoi aspettarti che sia necessario ancora qualche anno perché realmente splenda il tutto.
Riassumendo, questa parte di Nepomuk è legata al rendere intelligente la ricerca. Pensa a come Google cerca di essere intelligente nel gestire le tue ricerche: quando cerchi un hotel e il nome di una città ti mostra, sopra i risultati web, una mappa di google con gli hotel presenti nella città che hai digitato! Potrebbe anche suggerirti un nome migliore nel caso in cui commetti un errore di ortografia. Google inoltre cerca di mettere le informazioni più rilevanti in cima alla lista dei risultati, utilizzando calcoli complessi legati alle relazioni (collegamenti) tra i siti web. Nepomuk sarà in grado di offrire questo tipo di risultati intelligenti e di ordinarli sulla base della pertinenza utilizzando le relazioni tra essi.
Contesto
Queste relazioni possono non solo aiutarti durante la ricerca dei file, ma anche influire sulle applicazioni e sulle informazioni da esse mostrate. Nota che questa modalità di utilizzo di Nepomuk è ancora più una visione che una realtà! molti dei componenti sono a posto, ma non sono ancora integrati nelle applicazioni e nell'intero desktop.
Ecco quindi un esempio relativo al come il portare consapevolezza del contesto nel tuo desktop potrebbe aiutarti a lavorare in modo più efficiente.
Diciamo che stai lavorando per finire alcune note che hai preso durante un incontro di lavoro. Il telefono squilla e qualcuno ti chiede di trovare quel foglio di calcolo con i prezzi e di sistemarlo per un cliente. Dopo qualche altra interruzione ti ritrovi con un desktop pieno di file e cartelle...
Sarebbe bello essere in grado di organizzare tutto questo un po' meglio, vero?
Accedi alle 'attività'. Queste sono state introdotte in Plasma e attualmente offrono differenti 'desktop'. Sono un po' come i desktop virtuali, ma il desktop cambia, non l'insieme delle applicazioni. Diversi oggetti, sfondi, cose del genere. Naturalmente, da KDE 4.3, ogni desktop virtuale può avere la propria attività, sincronizzando in due approcci.
Se le applicazioni e i desktop fossero coscienti delle attività, potresti creare un'attività per ognuno dei compiti a cui lavori regolarmente. Se quindi devi spesso modificare un foglio di calcolo con prezzi, puoi creare un'attività specifica: posiziona un Vista delle cartelle (o parecchi) sul desktop, aggiungi una calcolatrice e un oggetto per gestire le cose da fare per tenere traccia delle modifiche rimanenti. Forse anche un oggetto per la posta elettronica che mostra i messaggi con domande relative a questi fogli di calcolo!
Non appena qualcuno chiede dei prezzi, passi a questa attività ed avvii la tua applicazione per i fogli di calcolo. Questa è consapevole della tua attività e quindi mostra i fogli di calcolo recenti con i prezzi, non la lista dell'inventario a cui stai lavorando in un'altra attività! Kopete, l'applicazione per la chat, mostra la tua collega che sa tutto dei prezzi, dal momento che lei è la persona con cui comunichi sempre quando lavori a questa attività.
Quando hai finito torni indietro all'altra attività e ancora una volta tutte le applicazioni si adeguano per adattarsi a quello che stai facendo.
I vantaggi di un tale flusso di lavoro basato sulle attività vanno oltre a quello che potresti aspettarti a prima vista. Non solo ti aiuta a trovare file e contattare persone, ma ti aiuta anche a cambiare gli stessi compiti. La mente umana non è fatta per eseguire più cose contemporaneamente, la maggior parte delle persone hanno bisogno di parecchi minuti per prendere il ritmo dopo aver cambiato compito. Cambiare l' "ambiente" aiuta molto nell'accelerare questi tempi, anche se è solo sullo schermo.
Naturalmente quanto sopra è per lo più rilevante per le persone che lavorano dietro i loro computer in ufficio o a casa. Un giocatore o un utente occasionale probabilmente non utilizzerà molto queste attività.
Nota che lo scenario descritto sopra è ancora ben lontano dalla realtà. Gran parte delle necessarie infrastrutture di base in KDE sono a posto, ma manca ancora molto.
Domande frequenti
Quanto segue è tratto da una discussione sul forum di KDE. Sentiti libero di aggiungere/rimuovere/modificare i dettagli se hai tempo a disposizione!
- Cosa sono il desktop semantico Nepomuk e l'indicizzatore di file Strigi?
- Il desktop semantico Nepomuk è la base di tutti gli altri moduli dell'infrastruttura Nepomuk. Fornisce un modo per organizzare, annotare e creare relazioni tra i dati (non solo il nome del file e il contenuto, ma per esempio anche quali applicazioni utilizzano un certo file o come è etichettato). Varie applicazioni e ambienti di lavoro KDE utilizzano questa infrastruttura di base per fornire funzionalità come le etichette per i messaggi di posta elettronica (KMail) o l'impostazione delle attività (Plasma).
- Dall'altra parte l'indicizzatore di file Strigi è un sistema per indicizzare i file in modo che possano essere aggiunti al repository principale di Nepomuk, un modo comodo per utilizzarli all'interno di Nepomuk senza aggiungere alcun file manualmente. Inoltre le applicazioni come Dolphin possono fare ricerche tra i file sulla base del contenuto, del nome o di altre informazioni aggiuntive (esempio etichette) associate ai file indicizzati. Questo indicizzatore può anche indicizzare i file non di testo come i PDF accedendo alle informazioni aggiuntive contenute in questi file (autore, informazioni di pubblicazione, ecc.). Alcuni componenti di KDE forniscono inoltre degli "analizzatori" per ulteriori tipi di file. Nepomuk può funzionare senza l'utilizzo dell'indicizzatore dei file che è un componente aggiuntivo (e opzionale).
- Perché c'è bisogno sia di Akonadi che di Nepomuk? Non fanno la stessa cosa?
- Spesso c'è confusione riguardo Akonadi e Nepomuk. Why data from Akonadi is indexed in Nepomuk spiega esattamente perché abbiamo entrambi e quali sono i loro ruoli. Non perderti le ulteriori informazioni aggiunte da Will Stephenson tra i commenti.
- Come posso disattivare il desktop semantico?
- Il più delle volte il modo più facile è disattivare l'indicizzazione del file che di solito è, tra i componenti di Nepomuk, quello più pesante in termini di utilizzo delle risorse (sebbene siano state incluse molte ottimizzazioni nel rilascio 4.7 che hanno ridotto l'utilizzo delle risorse). Puoi disattivarlo deselezionando Ricerca desktop di Impostazioni di sistema. In caso tu voglia disattivare tutte le funzionalità semantiche, deseleziona . Nota che questo disattiverà anche la ricerca in Dolphin. nella sezione
In versions of the KDE Applications before 4.13, Semantic Search would have components running separate from applications. This functionality could be disabled by unchecking Desktop Search section of System Settings. In case you want to turn off all semantic features, uncheck . Notice that this will turn off search in Dolphin as well.
in the- Nota che con l'ultima opzione alcuni programmi che utilizzano Nepomuk per le informazioni aggiuntive offriranno funzionalità ridotte: per esempio KMail non sarà in grado di etichettare i messaggi o le attività di Plasma non offriranno le funzioni aggiuntive come le icone o le informazioni dei dati dei programmi.
- Baloo/Semantic Search is eating 100% CPU! What do I do?
- Just wait. Certain files are very hard or even impossible to Index. At the moment, this includes for example text files of over 50 megabyte. When Search finds these, it will try for a fixed time. When it fails, it will try to find out what file is broken and disable indexing it in the future. As it indexes files in batches of about 40, it has to find the problematic file by indexing that bunch in parts: first half/second half, index problematic half in pieces again, until the file is found. This can take up to 30 minutes of heavy cpu usage. Unfortunately, while Baloo will not start to index a new batch of 40 files while on battery power, it continues to determine the broken file while on battery. This behaviour has been fixed in in KDE Applications 4.13.1 (it will stop indexing immediately when the power cord is unplugged) and the time the search for each file can take has been reduced to about 10 minutes. The Semantic Search team is working on improving the indexing tools to handle more difficult files.
- Perché ho alcuni processi nepomukservicestub anche se ho disattivato Nepomuk?
- Potrebbe essere un bug. Per favore crea una segnalazione di bug con una descrizione completa del tuo problema e i passaggi per evidenziarlo.
- L'indicizzazione dei file PDF e di qualche altro tipo di file non funziona.
- L'indicizzazione dei PDF è un problema noto ed è tracciato in questo bug #231936. Se hai problemi con altri file, apri un bug, preferibilmente aggiungendo un file di esempio che mostra il problema.
- Il programma nepomukservicestub si interrompe inaspettatamente all'avvio.
- Per il rilascio 4.7.2 degli ambienti di lavoro e delle applicazioni KDE sono stati corretti numerosi problemi responsabili di crash. Se sperimenti ulteriori problemi, per favore compila una segnalazione di bug con le istruzioni dettagliate su come riprodurre il problema dato che a volte gli sviluppatori non sono in grado di evidenziarli nelle loro prove.
- Il processo virtuoso-t occupa il 100% della CPU.
- Virtuoso-t è un componente chiave dell'infrastruttura Nepomuk e in alcuni casi i comandi inviati da altri componenti finiscono per prendere troppo tempo (mostrando quindi l'effetto 100% della CPU). Sebastian Trüg (lo sviluppatore capo di Nepomuk) ha risolto la maggior parte di questi problemi nella 4.7.1 o successive.
Virtuoso is no longer used by Semantic Search starting the Applications 4.13 release.
- A volte Nepomuk consuma troppa RAM.
- Molti di questi problemi sono stati risolti, in altri casi tuttavia gli sviluppatori non sono in grado di riprodurre correttamente i problemi. In questo caso fornire esempi e casi di test nelle segnalazioni bug aumenta la possibilità di risolvere questi bug.
- Nepomuk accede al disco in modo eccessivo all'avvio.
- Nella 4.7 e successive questo problema è stato attenuato grazie a un meccanismo di controllo implementato nell'indicizzatore dei file.
- Il database Nepomuk si è danneggiato. Come posso sistemarlo?
- Nel caso estremo in cui il tuo database sia effettivamente danneggiato e tutti gli altri tentativi siano falliti, puoi cancellare la cartella $KDEHOME/share/apps/nepomuk (dove $KDEHOME è di solito .kde o .kde4) quando Nepomuk non è in esecuzione. Il database verrà svuotato, ma perderai anche le informazioni esistenti come etichette, giudizi e commenti.
Risoluzione dei problemi per esperti
Condivisione e riservatezza (privacy)
C'è una cosa che ho bisogno di trattare prima di puntare ad altre fonti di informazione: la condivisione dei dati Nepomuk. Sarebbe fantastico se le tue etichette, valutazioni e commenti potessero essere condivise con altri quando invii a loro i file. Comunque, se hai etichettato un contatto con un'etichetta un po' imbarazzante ('noiosa a letto') e invii le informazioni di questo contatto a un amico comune, probabilmente non vorrai che anche l'etichetta venga inviata...
Questo problema è, ovviamente, stato considerato. Questi problemi relativi alla privacy combinati con sfide tecniche, sono la ragione per cui il contesto di Nepomuk è privato. Stai sicuro che la squadra di Nepomuk fa tutto il possibile perché la tua privacy venga rispettata.
Collegamenti esterni
La nuova tecnologia di ricerca (a partire da KDE Applications 4.13):
- articolo con informazioni per gli utenti
- Informazioni per gli sviluppatori su community.kde.org
- Wikipedia - Semantic Desktop
La vecchia tecnologia di ricerca: