Nepomuk

From KDE UserBase Wiki
Revision as of 20:08, 7 June 2018 by ChristianW (talk | contribs) (Created page with ":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 exempl...")

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 !

Another potential relationship is between a web page you copied text from and the document you pasted it into, or two images showing the same car. Such relations can sometimes be extracted from the files themselves (you could analyze photos and see who or what is on there) or supplied by the applications involved (as in the above email example). This part of Search is still under heavy development, and needs integration in applications, so you can expect it to take a few more years to really shine.

All in all, this part of Semantic Search is about making search smart. Think about how Google tries to be smart with your searches: when you search for a hotel and a city name, it shows above the website results a google map showing hotels in the city you mentioned! It might even suggest a better name in case you made a spelling mistake. Google also tries to put the most relevant information on top of the list of results, using complex calculations on relationships (links) between websites. Semantic Search will be able to offer such smart results and order them on relevancy using relationship information.

Contexte

These relationships can not only help you while searching for files, but also have an influence on applications and what information they present. Note that this way of using Search is still more a vision than reality! Many of the components are in place, but it is not yet integrated in applications and the desktop as a whole.

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

Say you are working on finishing some notes you took in a meeting. The phone rings, and somebody asks you to find that spreadsheet with prices, adjust it for a customer. After a few more interruptions you find your desktop full of files and windows...

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

Enter 'activities'. These have been introduced in Plasma, and currently offer different 'desktops'. They are a bit like virtual desktops, except that the desktop itself changes, not the set of applications. Different widgets, background, things like that. Of course, since Plasma 4.3, each virtual desktop can have its own activity, bringing the two in sync.

If applications and desktop were aware of activities, you could create an activity for each of the tasks you regularly work on. So if you often have to change a spreadsheet with prices, you create an activity for that: put a Folder View (or several) widget on the desktop, add a calculator and a todo-widget to keep track of what you still have to change. Maybe even an email folder widget showing the mails with questions regarding these prices spreadsheets!

As soon as somebody asks a question about prices, you switch to this activity. Fire up your spreadsheet application. It is aware of your activity so it shows recent price spreadsheets, not the recent list of inventory you were working on in another activity! Kopete, the chat application shows your colleague who knows all about prices, as she is the person you always chat with when working on this activity.

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.

The benefits of such an activity-based work flow go further than you might at first expect. It not only helps you find files and contact persons, but also helps in switching tasks itself. The human brain isn't very good at multi-tasking - it takes most people several minutes to get up to speed after switching tasks. Changing the 'environment' helps a lot in speeding this up, even if it's just on the screen. Compare it with getting in the mood for your holiday by packing your bag!

Of course, the above is mostly relevant to people working behind their computer in the office or at home. A gamer or a casual user would probably not use these activities much.

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 and Strigi are technologies part of what delivers the abilities of the Semantic Search in KDE. Both are not used directly in the latest generation of KDE's Semantic Search (details), however their successors share much of their code and concepts. Semantic Search provides a way to organize, annotate and build relationships among the data (not only file name and content, but for example which applications used a certain file, or how it is tagged). A number of KDE applications and workspaces use this basic infrastructure to deliver features such as email tagging (KMail) or activity setup (Plasma).
The file indexing allows applications such as Dolphin to search for files based on content, name, or other meta-data (e.g. tags) associated to indexed files. Such an indexer can also index non-text files, such as PDFs, by accessing the meta-data contained in these files (author, publication information, etc.). Some KDE components ship additional "analyzers" for more file types.
Pourquoi avons nous besoin à la fois de Akonadi et de Semantic Search? Ne font-ils pas la même chose ?
In short, Akonadi provides a cache of PIM data like calendar items, contacts and email, which is used by applications like KMail and Korganizer but also the calendar build in Plasma. Semantic Search plugs in Akonadi to provide search functionality. How Baloo offers search is actually up to the application. In case of KDE PIM, Xapian is used to provide indexing and search.
Comment puis-je désactiver the bureau semantic ?
File indexing can be disabled by adding the users' home folder to the System Settings -> Desktop Search -> Do not search in these locations list. The other functionality is part of the applications that use it and thus can't be disabled without crippling these applications. For example, to not have any search in KMail you'll have to simply remove KMail...

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 Enable Nepomuk File Indexer in the Desktop Search section of System Settings. In case you want to turn off all semantic features, uncheck Enable Nepomuk Semantic Desktop. Notice that this will turn off search in Dolphin as well.

Notice that with the latter option some programs who use Semantic Search for meta-data will offer reduced functionality: for example KMail will not be able to tag mail, or Plasma activities will not offer additional features such as icons, or program data information.
Baloo/Semantic Search prennent 100% du temps CPU! Que faire ?
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.
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.
A large number of fixes for crashes has been fixed for the 4.7.2 release of the KDE Workspaces and Applications. If you encounter more, please file bugs report with detailed instructions on how to reproduce the problem, as sometimes the developers are unable to trigger them in their test setups.
Le processus virtuoso-t reste bloqué à 100% CPU.
Virtuoso-t is a key component of the old Semantic Search infrastructure and in some occasions the commands sent by the other components end up taking too much time (hence showing the effect of 100% CPU).

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.
A throttling mechanism implemented in the file indexer, versions after KDE SC 4.8 should no longer have this issue.
Ma base de données Search a été corrompue. Comment la nettoyer ?
In the extreme case your database is really corrupted and all other attempts have failed, you can delete the $KDEHOME/share/apps/nepomuk directory (where $KDEHOME is usually .kde or .kde4 in your home directory) while Nepomuk is not running. The database will be cleared, but you will also lose existing information such as tags, ratings and comments.

Recherche de fautes avancée

Partage et confidentialité

There is one thing I need to touch on before pointing to other sources of information: sharing Nepomuk data. It'd be great if your tags, ratings and comments would be shared with others when you send them files. However, if you tagged a contact with a slightly embarrassing tag ('boring in bed') and send that persons contact information to a mutual friend you probably don't want that tag to be send as well...

This issue is of course being considered and an important subject of research by the Nepomuk researchers. For the time being, these privacy concerns, combined with technical challenges, are the reason Nepomuk context is private. Rest assured the Nepomuk team does all it can to make sure your privacy is respected.

Liens externes

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

Ancienne technologie de Search :