Nepomuk

From KDE Wiki Sandbox
Revision as of 17:00, 21 April 2014 by Claus chr (talk | contribs)

Semantisk søgning

Formålet med denne side er ikke at forklare KDE's teknologi til semantisk søgning i alle detaljer, men at give et kort overblik, nogle eksempler, visionerne bag og links til relevant information på nettet.

Til de, der er interesserede i "Nepomuk" eller "Baloo" (næste generations søgning i Applications 4.13): tekniske detaljer kan findes på community.kde.org. Læs detaljer om ændringerne i Applications 4.12 her.

Kort forklaring

Som nævnt i Ordlisten har semantisk søgning at gøre med klassifikation, organisering og præsentation af data. Det er ikke en applikation men en komponent, som kan bruges af udviklere i deres programmer.

Prøv den i Dolphin

For eksempel bruger Find i filmanageren Dolphin. I KDE Applications versioner før 4.13 skulle semantisk søgning være aktiverede i Systemindstillinger -> Skrivebordssøgning. Dolphin's sidepanel Information (Kontrol -> Paneler -> Information eller tast F11) viser information, som Find henter frem om den valgte fil og lader dig også knytte mærker, vurderinger og kommentarer til filer. Denne information lagres og indekseres af Find. Du kan søge på metadata i Dolphin's navigationslinje. Klik på Find i værktøjslinjen eller tast Ctrl + F, og søg efter et filnavn eller filindhold.


Funktionaliteter

Kde's semantiske søgning tilbyder flere 'lag' af funktionalitet til programmer. Det første og enkleste involverer manuel tagging, bedømmelse og kommentering som i Dolphin. Det hjælper dig med at finde filer hurtigere, men kræver meget arbejde.

For at gøre det nemmere at finde tekstfiler tilbyder Find er anden funktionalitet: indeksering af filernes tekster. Du kan finde filer ved at søge på nogle ord, som du ved, at de indeholder, eller blot på (en del af) deres titel.

Det tredje lag er meget komplekst og grunden til, at det underliggende lag, Nepomuk, blev skabt af adskillige firmaer og universiteter i EU som et forskningsprojekt. Det er her, du finder vanskelige begreber som 'semantisk skrivebord' og 'ontologier'. Det handler i bund og grund om sammenhænge og beslægtethed.

Indeksering af filer

Find indekserer ikke alle filerne på harddisken. Dens standardkonfiguration i de fleste Linux-distributioner udelukker nogle almindelige mønstre for backupfiler og mapper til indstillingsfiler. Du kan ændre på dette i Systemindstillinger -> Skrivebordssøgning. Tilføj mapper, som skal ekskluderes. Hvis du ønsker at slå indeksering helt fra, så føj blot din hjemmemepper til her.

I Systemindstillinger kan du også kontrollere om Find skal indeksere filer på mobile enheder så som USB-drev og CD-ROM'er. I KDE Applications 4.13 er dette ikke muligt, mobile enheder bliver ikke indekserede. Der er planer om at genintroducere denne funktion i fremtidige versioner.

Eksempler

Lad mig prøve at forklare, hvad semantisk søgning kan ved to eksempler. Disse funktioner er endnu ikke fuldt tilgængelige - grundlaget er til stede, men programmernes udviklere skal integrere dem i deres programmer.

Beslægtethed

Lad os sige, at du modtog et foto fra en ven for 2 uger siden. Du gemte det et eller andet sted på din computer. Hvordan finder du nu filen? Hvis du ikke kan huske, hvor du gemte den, så har du et problem.

Her prøver den semantiske søgning at hjælpe dig. Du ved, at filen kom fra den der ven -- det ved computeren ikke; men Find kan huske 'slægtskabet'. Søger du på din vens navn, så findes fotoet frem!

Andre muligte slægtskaber er mellem en internetside, som du kopierede tekst fra og det dokument, som du satte teksten ind i eller mellem to billeder af den samme bil. Sådanne slægtskaber kan undertiden trækkes ud af filerne selv (du kunne se på fotos hvem eller hvad, der er på dem) eller gives af de involverede programmer (som i email-eksemplet ovenfor). Den del af Find er stadig under intens udvikling og mangler endnu at blive integreret i programmer, så du må regne med, at der kommer til at gå et par år, før det hele fungerer.

Denne del af semantisk søgning handler om smart søgning. Tænk på, hvordan Google prøver at håndtere dine søgninger på en smart måde: når du søger efter et hotel og et bynavn, så får du et bykort, som viser hoteller i den nævnte by oven over de fundne websteder! Hvis du staver forkert, så får du måske et forslag til en bedre stavemåde. Google prøver også at placere de mest relevante informationer først i listen af resultater ved hjælp af komplekse beregninger af slægtskaber (links) mellem websteder. Semantisk søgning vil også blive i stand til at give smarte søgeresultater ordnet efter relevans ved at bruge information om beslægtethed.

Sammenhænge

Disse slægtskaber kan ikke bare være til hjælp ved søgning efter filer, de kan også have indflydelse på programmer og på hvilken information de fremviser. Bemærk, at denne måde at bruge Find på stadig er mere vision end realitet! Mange af komponenterne er klar, men de er endnu ikke integrerede i programmerne og skrivebordet som helhed.

Her er et eksempel på, hvordan bevidsthed om sammenhænge kan hjælpe dit skrivebord med at fungere mere effektivt.

Lad os sige, at du er i gang med at færdiggøre nogle noter, som du tog under et møde. Så ringer telefonen, og du bliver bedt om at finde regnearket med priser og tilpasse det til en kunde. Efter endnu et par afbrydelser er dit skrivebord fuldt af filer og vinduer...

Det ville være rart at kunne organisere alt dette lidt bedre, ikke?

Her kommer aktiviteter ind i billedet. De blev introduceret i Plasma og giver indtil videre mulighed for forskellige skriveborde. De minder lidt om virtuelle skriveborde, men her er det skrivebordet selv, som ændres og ikke de programmer som kører på det. Der kan være forskellige widgets, baggrunde og lignende. Fra Plasma 4.3 er der dog sammenhæng mellem de to begreber, da de virtuelle skriveborde kan have hver sin aktivitet.

Hvis programmerne og skrivebordet var bevidste om aktiviteter, så kunne du lave en aktivitet for hver af de opgaver, som du regelmæssigt arbejder med. Hvis du for eksempel ofte skal ændre et regneark med priser, så kan du lave en aktivitet til det: læg en Mappevisning (eller flere) på skrivebordet, tilføj en regnemaskine og et gøremålsliste-widget for at holde styr på de ting, som du stadig mangler at ændre. Du vil måske også tilføje et emailmappe-widget, som indeholder mails med spørgsmål om disse regneark med priser!

Når en eller anden spørger dig om en pris, så skifter du til denne aktivitet. Start regnearket - det er bevidst om din aktivitet, så det viser de seneste regneark med priser og ikke den seneste liste over inventar, som du arbejdede på i en anden aktivitet! Chat-programmet Kopete viser dig den kolleger, som ved noget om priser, da du tit chatter med hende, når du arbejder i denne aktivitet.

Når du er færdig, går du tilbage til en anden aktivitet, og igen tilpasser programmerne deres opførsel til, hvad du arbejder med.

Fordelene ved en sådan aktivitets-baseret arbejdsgang går videre end du måske umidelbart forventer. Det hjælper dig ikke bare med at finde filer og kontakte personer, det hjælper også med selve skiftet mellem opgaver. Den menneskelige hjerne er ikke særlig god til at multitaske - de fleste skal bruge adskillige minutter på at komme op i omdrejninger efter at have skiftet til en ny opgave. For at komme hurtigere i gang er det en stor hjælp at skifte omgivelser, også selv om det kun er på skærmen. Sammenlign det med, hvordan du kommer i feriestemning, når du pakker din kuffert!

Dette er selvfølgelig mest relevant for en, der arbejder ved computeren på kontoret eller derhjemme. Hvis du mest spiller computerspil eller blot bruger computeren en gang imellem, så vil du nok ikke få meget brug for aktiviteter.

Scenariet, som blev beskrevet ovenfor er allerede delvist implementeret i Aktiviteterne, med der er stadig meget at gøre.

Ofte stillede spørgsmål

Følgende kommer fra et indlæg på KDE's forummer. Hvis du har tid, så må du meget gerne tilføje, fjerne eller ændre detaljer!

Hvad er Nepomuk Semantic Desktop og Strigi Desktop File Indexer?
Nepomuk og Strigi er teknologierne bag KDE's semantiske søgning. Ingen af dem bruges direkte i den nyeste udgave af KDE's semantiske søgning (se detaljer), men deres efterfølgere viderefører en stor del af deres kode og begreber. Semantisk søgning giver dig en måde at organisere, annotere og opbygge sammenhænge imellem data (ikke blot filnavne og indhold, men for eksempel også hvilke programmer, som har brugt en given fil eller hvordan den er mærket). Mange af KDE's programmer og arbejdsflader bruger denne grundlæggende infrastruktur til at frembyde funktioner så som mærkning af emails (KMail) eller opsætning af aktiviteter (Plasma).

Strigi Desktop File Indexer er derimod et system til at indeksere filer, sådan at de kan føjes til Nepomuks hovedlager, en bekvem måde at bruge dem i Nepomuk uden at tilføje filerne manuelt. Desuden kan programmer som Dolphin søge efter filer beseret på deres indhold, navn eller andre metadata (fx mærker) knyttet til de indekserede filer. Sådan en indekser kan også indeksere filer som ikke består af ren tekst så som PDF'er ved at tilgå metadata indeholdt i disse filer (forfatter, udgivelsesinformation osv.). Nogle KDE-komponenter leverer yderligere "analysatorer" for flere filtyper. Nepomuk er fuldt funktionsdygtig uden at bruge filindekseringen, som er en ekstra (og valgfri) komponent.

Hvorfor har vi både brug for Akonadi og Nepomuk? Laver de ikke det samme?

Der er ofte en del forvirring omkring Akonadi og Nepomuk. Why data from Akonadi is indexed in Nepomuk forklarer, hvorfor vi har dem begge og hvad deres roller er. Gå ikke glip af den videre information fra Will Stephenson i kommentarafsnittet.

Hvordan kan jeg slå det semantiske skrivebord fra?

For det meste er det lettest at deaktivere filindeksering, som i regelen er den blandt Nepomuks komponenter, der bruger flest ressourcer (selv om der blev inkluderet mange optimeringer i 4.7-udgaven, hvilket har reduceret ressourceforbruget). Dette gøres ved at fjerne markeringen ved Aktivér Nepomuk filindeksering i afsnittet Skrivebordssøgning i Systemindstillinger. Hvis du skulle ønske at slå alle de semantiske funktioner fra, så fjern markeringen ved Aktivér Nepomuk semantisk skrivebordsmiljø. Bemærk, at dette også vil deaktivere søgning i Dolphin.

In versions of the KDE Applications 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.

Bemærk, at med det sidste fravalg vil nogle programmer, som bruger Nepomuk til metadata få reduceret deres funktionalitet: for eksempel vil KMail ikke kunne mærke mails og Plasma-aktiviteter vil ikke give dig ekstra funktioner så som ikoner eller information om programdata.

Hvorfor kører der nepomukservicestub-processer, selv om jeg har deaktiveret Nepomuk?
Det kan være en fejl. Indsend en fejlrapport med en fuldstændig beskrivelse af dit problem og hvordan du fik det til at dukke op.
Filindeksering af PDF eller en anden filtype virker ikke.
PDF-indeksering er et kendt problem, som kan følges i bug #231936. Hvis du har problemer med andre filer, så start en fejlrapport og vedhæft helst en eksempelfil, som viser problemet.
Programmet nepomukservicestub går ned når maskinen startes op.
Et stort antal problemer med nedbrud er blevet løst i 4.7.2-udgaven af KDE's arbejdsflader og programmer. Hvis du støder på flere, så rapportér fejlen med detaljerede instruktioner om, hvordan problemet kan reproduceres, da udviklerne undertiden ikke kan udløse fejlene i deres egne test-udgaver.
Processen virtuoso-t hænger med 100% CPU.

Virtuoso-t er en central komponent i Nepomuks infrastruktur, og under nogle omstændigheder kommer kommandoer sendt af andre komponenter til at optage for meget tid (med den effekt, at vise 100% CPU-forbrug). Sebastian Trüg (Nepomuks hovedudvikler) har løst de fleste af disse problemer i 4.7.1 og nyere udgaver.

Virtuoso is no longer used by Semantic Search starting the Applications 4.13 release.

Q. Undertiden bruger Nepomuk for meget RAM.
Mange af disse problemer er blevet rettet; i andre tilfælde har udviklerne dog ikke kunnet reproducere problemerne korrekt. I disse tilfælde forøger du chancen for at få fejlene rettet, hvis du føjer eksempler og testcases til fejlrapporterne.

Nepomuk bruger harddisken for meget ved opstart

I 4.7 og nyere udgaver er dette problem blevet reduceret takket være en reguleringsmekanisme, som er blevet implementeret i filindekseren.

Min Nepomuk-database er blevet ødelagt. Hvordan kan jeg rense den?

I det ekstreme tilfælde, at din database er helt ødelagt og alle andre muligheder er slået fejl kan du slette mappen $KDEHOME/share/apps/nepomuk (hvor $KDEHOME som regel er .kde eller .kde4) imens Nepomuk ikke kører. Databasen vil så blive renset, men du vil også miste eksisterende information som mærker, vurderinger og kommentarer.

From KDE Applications 4.13 onwards, Semantic Search no longer uses a single, big database, but separate, specialized databases for each type of data. The search databases can be found in $KDEHOME/share/apps/baloo.

Avanceret fejlsøgning

Deling og privatliv

Der er en ting, som jeg må gå ind på, før jeg linker til kilder til yderligere information: deling af Nepomuk data. Det ville være smart, hvis dine tags, bedømmelser og kommentarer blev delt med andre, når du sender dem filer; men hvis du tagger en kontaktperson med en pinlig kommentar ('kedelig i sengen') og sender denne persons kontaktinformation til en fælles ven, så vil du nok ikke ønske, at taggen følger med...

Dette spørgsmål bliver selvfølgelig overvejet og er et vigtigt forskningsområde for Nepomuk-forskerne. Indtil videre er Nepomuk-sammenhænge private på grund af ovenstående problem og fordi der er store tekniske udfordringer. Du kan være sikker på, at Nepomuk-teamet gør alt, hvad det kan for at sikre, at dit privatliv bliver respekteret.

Eksterne links

The old Search technology: