Nepomuk

From KDE Wiki Sandbox
This page is a translated version of the page Nepomuk and the translation is 100% complete.

Recherche sémantique

Le but de cette page n'est pas d'expliquer à fond la technologie de la recherche sémantique dans KDE et tous ses détails, mais de donner un bref aperçu, quelques exemples, de partager la vision de ce qu'il y a derrière et de relier cela aux informations importantes du web.

Baloo is est la génération suivante dans la recherche sémantique

A partir de KDE Applications 4.13, l'indexation 'Baloo' des fichiers et l'infrastructure de recherche des fichiers remplace Nepomuk. Veuillez lire les détails concernant les modifications de Applications 4.13 ici. Semantic Search n'utilise plus la grosse base de données unique, mais plusieurs bases de données séparées et spécialisées pour chaque type de donnée. Les nouvelles bases de données de recherche sont dans $HOME/.local/share/baloo. Si vous avez fait la mise à jour vers KDE Applications 4.13 à partir d'une version plus ancienne de KDE, vouspouvez supprimer $KDEHOME/share/apps/nepomuk.

Courte explication

Comme mentionné dans le Glossaire, Semantic Search concerne la classification, l'organisation et la présentation des données. Ce n'est pas une application, mais un composant qui peut être utilisé par les développeurs d'applications.

Essayez dans Dolphin

Par exemple, le gestionnaire de fichiers de Dolphin utilise Search. Dans les versions de KDE Applications antérieures à la 4.13 Semantic Search doit être activé par Paramètres Système -> Recherche bureau. La barre d'information latérale de Dolphin (Contrôle -> Paneaux -> Information, ou presser F11) présente les informations extraites par Search concernant le fichier sélectionné, en vous permettant aussi d'assigner des labels, des appréciations et des commentaires aux fichiers. Cette information est ensuite rangée et indexée par Search. Il est alors possible de rechercher des métadatas en utilisant la barre de navigation de Dolphin. Cliquez sur Rechercher, ou pressez Ctrl+F, pour recherhcer des noms de fichiers ou des contenus de fichiers.


Fonctionalités

Semantic Search de KDE offre plusieurs 'niveaux' de fonctionalité aux applications. Le premier et le plus simple est le balisage manuel, l'appréciation et les commentaires, comme utilisé dans Dolphin. Cela vous aide à retrouver vos fichiers plus rapidement, mais nécessite aussi beaucoup de travail.

Pour trouver plus facilement les fichiers contenant du texte, Search offre une seconde fonctionalité : l'indexation du texte des fichiers. Vous pouvez trouvez les fichiers en entrant quelques mots que vous savez être présents, ou simplement (une partie de) leur titre.

Le troisième niveau est très complexe, et c'est la raison pour laquelle la technologie sousjacente, Nepomuk, a été conçue en tant que projet de recherche de plusieurs compagnies et universités de l'union européenne. C'est ici que vous trouverez des noms difficiles comme 'bureau semantique' ou 'ontologies'. En gros, cela concerne le contexte et les relations.

Indexation des fichiers

Search n'indexe pas tous les fichiers du disque. Par défaut la configuration dans la plupart des distributions Linux exclut quelques modèles communs concernant les fichiers de sauvegarde et les répertoires de configuration. Vous pouvez modifier cela dans Configuration Système -> Search bureau. Ajoutez les répertoires à exclure. Si vous voulez complètement arrêter l'indexation des fichiers, ajoutez-y simplement votre répertoire home.

Dans Configuration Système vous pouvez aussi contrôler si Search indexe les fichiers présents sur les médias amovibles comme les disques USB et les CD-ROMs. Dans KDE Applications 4.13 ceci n'est pas disponible, les médias amovibles ne sont pas indexés. Dans les versions futures il est prévu de réintroduire cette fonctionnalité.

Exemples

Laissez moi vous expliquer ce que Semantic Search offre à l'aide de deux exemples. Ces fonctions ne sont pas complètement disponibles encore - la base est présente mais les développeurs d'applications doivent intégrer cela dans leurs applications.

Relations

Disons que vous avez reçu une photo de l'un de vos amis, il y a deux semaines. Vous l'avez rangée quelquepart sur votre ordinateur. Maintenant, comment allez-vous retrouver ce fichier ? si vous ne vous souvenez plus du chemin, il n'y a aucune chance.

Maintenant Semantic Search peut vous aider. Vous savez que ce fichier vient d'un de vos amis que votre ordinateur ne connait pas. Quoiqu'en cherchant, il peut se souvenir de cette relation. En cherchant le nom de votre ami vous ferez apparaître sa photo !

Une autre relation potentielle est possible entre une page Web à partir de laquelle vous avez copié du texte et le document dans lequel vous l'avez collé, ou deux images montrant la même voiture. Ces relations peuvent parfois être extraites des fichiers eux-mêmes (vous pouvez analyser les photos et voir qui ou quoi il y a dessus) ou fournis par les applications impliquées (comme dans l'exemple du courriel ci-dessus). Cette partie de Search est encore en cours de développement et nécessite une intégration dans les applications, vous pouvez donc vous attendre à ce que cela prenne encore quelques années pour vraiment briller.

Dans l'ensemble, cette partie de Semantic Search vise à rendre la recherche intelligente. Pensez à la façon dont Google essaie d'être intelligent avec vos recherches : lorsque vous recherchez un hôtel et un nom de ville, il montre au-dessus des résultats du site Web une carte google avec les hôtels dans la ville que vous avez mentionnée ! Il pourrait même suggérer un meilleur nom au cas où vous auriez fait une faute d'orthographe. Google essaie également de mettre les informations les plus pertinentes en tête de la liste des résultats, en utilisant des calculs complexes sur les relations (liens) entre les sites Web. Semantic Search sera en mesure d'offrir de tels résultats intelligents et de les ordonner selon la pertinence en utilisant des informations sur les relations.

Contexte

Ces relations peuvent non seulement vous aider lors de la recherche de fichiers, mais aussi avoir une influence sur les applications et les informations qu'elles présentent. Notez que cette façon d'utiliser Search est encore plus une vue de l'esprit que la réalité ! De nombreux composants sont en place, mais ils ne sont pas encore intégrés aux applications et au bureau dans l'ensemble.

Donc ici, un exemple pour apporter la connaissance du contexte à votre bureau, peut vous aider à travailler plus efficacement.

Supposons que vous travaillez sur la finition de certaines notes que vous avez prises lors d'une réunion. Le téléphone sonne, et quelqu'un vous demande de trouver cette feuille de calcul avec les prix, et de l'ajuster pour un client. Après quelques interruptions de plus, vous trouverez votre bureau plein de fichiers et de fenêtres ...

Ce serait bien de pouvoir organiser tout cela un peu mieux, n'est-ce pas ?

Entrez 'activités'. Elles ont été introduites dans Plasma, et offrent actuellement différents 'bureaux'. Ce sont un peu comme des bureaux virtuels, sauf que le bureau lui-même change, mais pas l'ensemble des applications. Différents widgets, le fond, des choses comme cela. Bien sûr, depuis Plasma 4.3, chaque bureau virtuel peut avoir sa propre activité, apportant les deux de manière synchronisée.

Si les applications et le bureau connaissaient les activités, vous pouvez créer une activité pour chacune des tâches sur lesquelles vous travaillez régulièrement. Donc, si vous devez souvent modifier une feuille de calcul avec des prix, vous créez une activité pour cela: mettez un widget Vue de dossier (ou plusieurs) sur le bureau, ajoutez la calculatrice et un widget à faire, pour suivre ce que vous devez encore changer. Peut-être même un widget de dossier d'email montrant les mails avec des questions concernant ces feuilles de calcul de prix !

Dès que quelqu'un pose une question sur les prix, vous passez à cette activité. Lancez votre application tableur. Il est au courant de votre activité et affiche donc les feuilles de calcul des prix récentes, et non la liste d'inventaire récente sur laquelle vous travailliez dans une autre activité! Kopete, l'application de chat montre votre collègue qui connaît tout sur les prix, car elle est la personne avec qui vous avec discuté quand vous étiez sur cette activité.

Quand vous avez terminé, vous passez à une autre activité, et là aussi toutes les applications ajustent de nouveau leur comportement pour être cohérentes avec ce que vous faites.

Les avantages d'un tel flux de travail basé sur les activités vont plus loin que vous ne le croyez au départ. Il vous aide non seulement à trouver des fichiers et des contacts, mais aide également à changer de tâche. Le cerveau humain n'est pas très performant en multi-tâches - il faut plusieurs minutes à la plupart des personnes pour se mettre à jour après avoir changé de tâches. Changer l'environnement aide beaucoup à accélérer ce processus, même si c'est juste à l'écran. Comparez-le avec l'envie de vos vacances en emballant votre sac!

Bien sûr, ce qui précède est en général caractéristique des personnes qui travaillent derrière leur écran au bureau ou à la maison. Un joueur ou un utilisateur occasionnel n'utilisera probablement pas beaucoup ces activités.

Le scénario décrit ci-dessus est déjà partiellement implémenté dans les Activités mais il reste encore beaucoup de travail à faire.

Questions posées fréquemment

Ce qui suit vient d'un billet sur les forums KDE . N'hésitez pas à ajouter/retirer/modifier des détails si vous en avez le temps !

Que sont le bureau Nepomuk Semantic, et l'indexeur des fichiers de bureau Strigi ?
Nepomuk et Strigi sont des technologies faisant partie des possibilités de Semantic Search dans KDE. Les deux ne sont pas utilisés directement dans la dernière génération de Semantic Search de KDE (détails), mais leurs successeurs partagent une grande partie de leur code et leurs concepts. Semantic Search fournit un moyen d'organiser, d'annoter et de construire des relations entre les données (pas seulement le nom et le contenu du fichier, mais par exemple les applications qui utilisent un certain fichier, ou comment il est étiqueté). Un certain nombre d'applications et d'espaces de travail KDE utilisent cette infrastructure de base pour fournir des fonctionnalités telles que le marquage par e-mail (KMail) ou la configuration d'activité (Plasma).

L'indexation de fichiers permet à des applications telles que Dolphin de rechercher des fichiers en fonction du contenu, du nom ou d'autres métadonnées (par exemple, des balises) associées à des fichiers indexés. Un tel indexeur peut également indexer des fichiers non textuels, tels que des fichiers PDF, en accédant aux méta-données contenues dans ces fichiers (auteur, informations de publication, etc ...) . Certains composants de KDE incluent des «analyseurs» supplémentaires pour davantage de types de fichiers.

Pourquoi avons nous besoin à la fois de Akonadi et de Semantic Search? Ne font-ils pas la même chose ?
En bref, Akonadi fournit un cache de données PIM comme les éléments du calendrier, les contacts et les e-mails, qui sont utilisés par des applications comme KMail et Korganizer mais aussi le calendrier construit dans Plasma. Semantic Search se connecte à Akonadi pour fournir la fonctionnalité de recherche. La manière donc Baloo offre la recherche dépend actuellement de l'application. Dans le cas de KDE PIM, Xapian est utilisé pour fournir l'indexation et la recherche.
Comment puis-je désactiver the bureau semantic ?
L'indexation de fichier peut être désactivée en ajoutant le dossier home des utilisateurs à Paramètres système -> Recherche bureau -> Ne pas rechercher dans la liste de ces emplacements . L'autre fonctionnalité fait partie des applications qui l'utilisent et ne peut donc pas être désactivée sans bloquer ces applications. Par exemple, pour ne pas avoir de recherche dans KMail, vous devrez simplement supprimer KMail ...

Dans les versions de KDE applications antérieures à 4.13, Semantic Search aurait des composants s'exécutant à part des applications. Cette fonctionnalité peut être désactivée en décochant Activer indexation de fichiers Nepomuk dans la section Search bureau de Paramètres système. Dans le cas où vous voulez désactiver toutes les fonctionnalités sémantiques, décochez Activer Nepomuk Semantic Desktop. Notez que cela désactivera la recherche dans Dolphin.

Notez qu'avec cette dernière option certains programmes qui utilisent la recherche sémantique pour les méta-données offriront des fonctionnalités réduites: par exemple KMail ne sera pas capable d'étiqueter le courrier, ou les activités Plasma n'offriront pas de fonctionnalités supplémentaires telles que des icônes ou des informations sur les données de programme.
Baloo/Semantic Search prennent 100% du temps CPU! Que faire ?
Attendez un peu. Certains fichiers sont très difficiles voire impossibles à indexer. À l'heure actuelle, cela inclut par exemple des fichiers texte de plus de 50 mégaoctets. Lorsque Search les trouve, il essayera pendant une durée fixe. S'il échoue, il essayera de découvrir quel fichier est cassé et l'empêchera de l'indexer dans le futur. Comme il indexe les fichiers par lots d'environ 40, il doit trouver le fichier problématique en indexant ce paquet en parties: première moitié/seconde moitié, indexer la moitié des problèmes par parties jusqu'à ce que le fichier soit trouvé. Cela peut prendre jusqu'à 30 minutes d'utilisation intensive du processeur. Malheureusement, alors que Baloo ne commencera pas à indexer un nouveau lot de 40 fichiers si l'alimentation est sur batterie, il continue à déterminer le fichier brisé quand il est sur batterie. Ce comportement a été corrigé dans les KDE Applications 4.13.1 (il arrête immédiatement l'indexation lorsque le cordon d'alimentation est débranché) et la durée de recherche de chaque fichier est réduite à environ 10 minutes. L'équipe de Semantic Search travaille à améliorer les outils d'indexation pour gérer les fichiers plus difficiles.
Pourquoi y a-t-il des processus nepomukservicestub alors que j'ai désactivé Nepomuk ?
Cela peut être un bogue. Veuillez envoyer un rapport de bogue avec une description complète du problème et des étapes qui permettent de la reproduire.
L'indexation des fichiers PDF et de quelques autres types de fichiers ne fonctionne pas.
L'indexation des PDF est un problème connu référencé sous le numéro bug #231936. Si vous avez des problèmes avec les autres fichiers, déclarez ce bogue en attachant un fichier d'exemple qui montre le problème.
Le programme nepomukservicestub se plante au démarrage.
Un grand nombre de correctifs pour les plantages a été corrigé pour la version 4.7.2 des espaces de travail et des applications KDE. Si vous en rencontrez davantage, veuillez soumettre un rapport de bogue avec des instructions détaillées sur la façon de reproduire le problème, car les développeurs sont parfois incapables de les déclencher dans leurs configurations de test.
Le processus virtuoso-t reste bloqué à 100% CPU.
Virtuoso-t est un composant clé de l'ancienne infrastructure Semantic Search et dans certains cas les commandes envoyées par les autres composants se terminent en prenant beaucoup trop de temps (montrant ainsi la CPU occupée à 100%).

Virtuoso n'est plus utilisé par le recherche sémantique depuis la release 4.13 des applications.

Quelquesfois Nepomuk utilise beaucoup trop de RAM.
Beaucoup de ces problèmes ont été corrigés. Dans les autres cas par contre, les développeurs n'ont pas pu reproduire le problème correctement. En fournissant des exemples et des cas de test sur signaler un bogue vous augmentez les chances de voir ces bogues corrigés.
Search accède au disque beaucoup trop souvent au démarrage.
Mécanisme de limitation implémenté dans l'indexeur de fichiers, versions postérieures à KDE SC 4.8 ne devrait plus avoir ce problème.
Ma base de données Search a été corrompue. Comment la nettoyer ?
Dans le cas extrême, votre base de données est vraiment corrompue et toutes les autres tentatives ont échoué, vous pouvez supprimer le répertoire $KDEHOME/share/apps/nepomuk (où $KDEHOME est habituellement .kde ou .kde4 dans votre répertoire personnel) pendant que Nepomuk n'est pas en cours d'exécution. La base de données sera effacée, mais vous perdrez également des informations existantes telles que des tags, des notes et des commentaires.

Recherche de fautes avancée

Partage et confidentialité

Il y a une chose que je dois aborder avant de pointer d'autres sources d'information : le partage des données de Nepomuk. Ce serait génial si vos tags, notes et commentaires étaient partagés avec d'autres lorsque vous leur envoyez des fichiers. Cependant, si vous avez tagué un contact avec une étiquette légèrement gênante ('ennuyeux au lit') et envoyez les informations de contact de cette personne à un ami commun, vous ne voudriez probablement pas que cette étiquette soit également envoyée ...

Ce problème est bien pris en considération et c'est un important sujet de recherche par les chercheurs de Nepomuk. Pour l'instant, ces éléments confidentiels, combinés aux challenges techniques, sont la raison pour laquelle le contexte de Nepomuk reste privé. Soyez assuré que l'équipe Nepomuk fait tout ce qu'elle peut pour s'assurer que votre confidentialité est respectée.

Liens externes

Nouvelle technologie de Search (après KDE Applications 4.13):

Ancienne technologie de Search :