Vrijdag 1 juni 2012, 13:59
Drie nieuwe features voor fijnproevers

Coosto bevat inmiddels een miljard berichtjes, waar u met een krachtige, snelle zoekmachine doorheen kunt zoeken. Onlangs hebben we deze zoekmachine stilzwijgend uitgebreid met een paar mogelijkheden die het leven van de gevorderde zoeker aangenamer maken. Drie features voor fijnproevers.

Wildcards
Door een sterretje (*) in een zoekwoord op te nemen, zoek je op woorden waarin op de plek van het sterretje willekeurige letters mogen voorkomen. Zo zoek je met groente* niet alleen op “groente” maar ook op “groenten”, “groentes”, “groentensoep”, etc. Dit bespaart een hoop typewerk. Een sterretje mag ook midden of zelfs vooraan in een woord staan. Met bew*ren vind je zowel “beweren”, “bewaren” als “bewonderen”.

Fuzzy
Soms wil je spellingsvarianten vinden zonder moeilijk te doen met sterretjes. Dit kan door een tilde (~) achter een woord te plakken. Door op pannenkoek~ te zoeken, vind je naast “pannenkoek” ook “pannekoek”, alsmede de meervouden “pannenkoeken” en “pannekoeken”. En was het nu “vinegrette”, “vinigrette” of “vinaigrette”? Plak er een tilde achter, en Coosto doet de rest.

Power phrases
Ook de phrases hebben een facelift gekregen. Het is nu mogelijk om keuzes in phrases in te bouwen. Vroeger moest je alle phrases waarin je geïnteresseerd was uitschrijven met OR’s ertussen: “frank de boer” OR “ronald de boer”. Nu kun je met een pipe-teken (|) de keuze binnen de phrase maken: “frank|ronald de boer”. We noemen dit power phrases.

Power phrases kunnen aanzienlijk wat tikwerk schelen, zeker voor phrases waarin meerdere keuzes gemaakt worden. Neem nu het volgende patroon: “groene|rode|witte kool|paprika|peper”. Dit matcht alle combinaties van de drie kleuren met de drie groenten, ofwel negen verschillende phrases.

Je mag wildcards en fuzziness ook binnen phrases gebruiken, en in combinatie met power phrases levert dit mogelijkheden voor echte gourmands op. Zoek voor de aardigheid maar eens op “romantisch~ diner*|*eten*”. Tegen zoveel romantiek valt niet op te typen!

Hoe het technisch werkt
Voor de techneuten een klein kijkje in de keuken. De generalisatie die dit allemaal mogelijk maakt zijn wat wij noemen genormaliseerde zoektermen. Dit zijn sequenties van disjuncties, d.w.z. aaneengesloten reeksen van OR-termen. De simpelste zoekterm, een enkel woord, is een sequentie van één enkelvoudige disjunctie. Een normale phrase bestaat uit een sequentie van meerdere enkelvoudige disjuncties.

Als we de wildcard- of de fuzzyoperator tegenkomen, dan breiden we achter de schermen de corresponderende disjunctie uit met die woorden uit het lexicon die aan de operator voldoen.

Omdat voor de evaluatie van genormaliseerde zoektermen enkel woordposities nodig zijn (en geen kennis van de documenten), kan de verwerking op een heel laag niveau plaatsvinden. Dit zorgt ervoor dat de performance goed blijft. Daar het systeem geen principieel onderscheid meer maakt tussen woorden en phrases, zijn de frequenties valide en kunnen probleemloos in het relevantiemodel geplugd worden. Bovendien biedt deze abstractie een goed conceptueel kader voor verdere uitbreidingen op zoektermniveau.

Reageer



Excuses, het reactieformulier is op het moment gesloten.