Zoekfunctie: resultaten met andere spelling eerst

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Jazzy
  • Registratie: Juni 2000
  • Laatst online: 18:45

Jazzy

Moderator SSC/PB

Moooooh!

Topicstarter
Als ik op het forum zoek op bijvoorbeeld Jeep dan krijg ik een pagina vol resultaten met Jep. Het gebruik van quotes maakt geen verschil en ook tussen de opties kan ik niets vinden om af te dwingen dat er gezocht wordt op alleen de daadwerkelijke zoekterm.

Repro steps:
- Ga naar https://gathering.tweakers.net/
- Type in het zoekvak het woord Jeep en enter

De resultaten zijn overwegend voor posts met het woord Jep.

Heb getwijfeld tussen bug of featurerequest, maar lijkt me dat dit een bug is.

Exchange en Office 365 specialist. Mijn blog.


Acties:
  • 0 Henk 'm!

  • 5pë©ïàál_Tèkén
  • Registratie: April 2008
  • Laatst online: 20:01
Ik denk niet dat dit een bug of featurerequest is. Erger nog - het is works as intended. Bij simpele woorden kan het inderdaad irritant zijn dat er zo veel bijvangst zit in de resultaten. Echter, met Krüger&Matz is het fijn dat de zoekfunctie een beetje vergevingsgezind is. Ik kan ook Krüger Matz of Kruger&Matz typen en dan nog krijg ik de 'juiste' resultaten.

Zegen voor de een, vloek voor de ander. Onder de streep denk ik dat het werkt zoals bedoeld is.

feature request dat er een vinkje is voor strenge zoekfunctie?

[ Voor 6% gewijzigd door 5pë©ïàál_Tèkén op 02-07-2020 21:21 ]

Team anti-scalp - wauw..


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Dat zal wel 'stemming' zijn; daar kan @ACM vast wel een en ander over vertellen ;)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Dirk
  • Registratie: November 2004
  • Laatst online: 24-06 12:54

Dirk

Coördinator frontpagemoderatie
Stemming kun je over het algemeen omzeilen met aanhalingstekens, dat doe ik standaard in zoekmachines. Hier lijkt dat inderdaad niet te werken, ik zie ook geen verwijzingen ernaar in Forum FAQ #searchstart.

All statements are true in some sense, false in some sense, meaningless in some sense, true and false in some sense, true and meaningless in some sense, false and meaningless in some sense, and true and false and meaningless in some sense.


Acties:
  • +1 Henk 'm!

  • Jazzy
  • Registratie: Juni 2000
  • Laatst online: 18:45

Jazzy

Moderator SSC/PB

Moooooh!

Topicstarter
Mag ik dit nog een keer onder de aandacht brengen? Het is op dit moment niet mogelijk om te zoeken op termen als Jeep of quads. Jeep resulteert in resultaten met het veel vaker voorkomende woord "jep". Zoeken op quads geeft alleen resultaten met "quad" als in quad core.

Als dit 'stemming' is dan denk ik niet dat de implementatie goed werkt. Maar belangrijker, het valt niet te omzeilen door aanhalingstekens te gebruiken. Feitelijk maakt dit de zoekfunctie stuk voor minder voorkomende termen.

Zou dit opgelost kunnen worden?

Afbeeldingslocatie: https://tweakers.net/i/CC7rdFXpkokToCXhzO7pdsXQO50=/800x/filters:strip_exif()/f/image/7yIcD40KmHfCQAhKfwxvvCVu.png?f=fotoalbum_large

Exchange en Office 365 specialist. Mijn blog.


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Volgens mij kan stemming voor bepaalde termen wel uitgezet worden, dus daarmee zou jeep/jep voorkomen kunnen worden (@ACM ?)

Maar het probleem met "quad" lijkt me lastiger; dat is gewoon een woord wat meerdere betekenissen heeft. Dan zal je denk ik toch gewoon je zoektermen moeten uitbreiden of specifieker binnen bepaalde fora of onderwerpen moeten gaan zoeken.

Intentionally left blank


Acties:
  • +1 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 23:36

AW_Bos

Liefhebber van nostalgie... 🕰️

Is het niet een idee om bij het zoeken een makkelijke optie te maken om stemming aan/uit te zetten? Niet iedereen is bekend met de aanhalingstekens mogelijkheid. ;)

☀️ Goedemorgen zonneschijn! ☀️
☀️Ja, je maakt me zo gelukkig, en door jou voel ik me fijn! ☀️


Acties:
  • 0 Henk 'm!

  • Marc H
  • Registratie: Juni 1999
  • Laatst online: 20:58

Marc H

- - Is wakker - -

crisp schreef op woensdag 31 maart 2021 @ 10:55:
Volgens mij kan stemming voor bepaalde termen wel uitgezet worden, dus daarmee zou jeep/jep voorkomen kunnen worden (@ACM ?)

Maar het probleem met "quad" lijkt me lastiger; dat is gewoon een woord wat meerdere betekenissen heeft. Dan zal je denk ik toch gewoon je zoektermen moeten uitbreiden of specifieker binnen bepaalde fora of onderwerpen moeten gaan zoeken.
Of nog veel simpeler, als je quotes gebruikt alle "Intelligente" zoekopties negeren en gewoon precies zoeken wat opgegeven is. Dat moet toch niet te moeilijk zijn.

[ Voor 59% gewijzigd door Marc H op 31-03-2021 11:02 ]

Ik maak geen fouten, ik creëer leer momenten.


Acties:
  • 0 Henk 'm!

  • Jazzy
  • Registratie: Juni 2000
  • Laatst online: 18:45

Jazzy

Moderator SSC/PB

Moooooh!

Topicstarter
crisp schreef op woensdag 31 maart 2021 @ 10:55:
Maar het probleem met "quad" lijkt me lastiger; dat is gewoon een woord wat meerdere betekenissen heeft.
Ik zoek niet op quad maar op quads, ander woord en een andere betekenis. Dit is dus precies het probleem. :)

Exchange en Office 365 specialist. Mijn blog.


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Jazzy schreef op woensdag 31 maart 2021 @ 11:02:
[...]
Ik zoek niet op quad maar op quads, ander woord en een andere betekenis. Dit is dus precies het probleem. :)
Het is vrij normaal om bij een woord dat gezien kan worden als een meervoud ook naar de enkelvoudige term te zoeken.

Ik heb geen idee hoe moeilijk het is stemming uit te schakelen, of een optie voor een "exact term" te bieden is in onze zoekmachine, daar is @ACM onze expert in :)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Jazzy
  • Registratie: Juni 2000
  • Laatst online: 18:45

Jazzy

Moderator SSC/PB

Moooooh!

Topicstarter
crisp schreef op woensdag 31 maart 2021 @ 11:22:
[...]

Het is vrij normaal om bij een woord dat gezien kan worden als een meervoud ook naar de enkelvoudige term te zoeken.
Ik denk dat je de complexiteit van "onze" zoekfunctie overschat. :) Een Google begrijpt de betekenis van een woord uit de context, die kan bijvoorbeeld onderscheiden of het gaat om een spiergroep, merk luidsprekers, klein open voertuig of betekent dat er ergens vier van zijn (quad core).

De zoekfunctie op Tweakers doet dat niet. Als je op "quad rijden" zoekt krijg je ook quotes van gebruiker Quad die het woord "rijden" of zelfs "reden" bevatten.
Afbeeldingslocatie: https://tweakers.net/i/c8VQ6JENNgSD1sXSPZB-g0PV7OI=/800x/filters:strip_exif()/f/image/hZDituqAou1rpdnZtLaxx6dG.png?f=fotoalbum_large

Wat ook een mooi voorbeeld is trouwens. Natuurlijk kun je zeggen dat "reden" de verleden tijd van "rijden" is dus in de zoekresultaten terug zou moet komen, maar in deze context heeft "reden" de betekenis van "waarom iemand iets doet".

Anyway, "redenen" genoeg waarom je dit gedrag wilt kunnen bypassen en op een letterlijke term zoeken. :)

Exchange en Office 365 specialist. Mijn blog.


Acties:
  • 0 Henk 'm!

  • thunder7
  • Registratie: Januari 2003
  • Laatst online: 21:17

thunder7

houten vaas/schaal nodig?

Ik heb lang geleden een keer een topic gemaakt omdat zoeken naar informatie over ereader merk Boox ook niet werkt, je krijgt te veel links over 'box' terug.

Zou het mogelijk zijn om te herkennen dat de ingetypte zoekterm in zeg de eerste 5-10 resultaten niet letterlijk voorkomt en dan tenminste een waarschuwing te geven 'je zocht op boox - wil je dat letterlijk, type dan .... als zoekterm' ?

hout-nerd - www.hetmooistehout.nl of www.houtenschalen.nl


Acties:
  • 0 Henk 'm!

  • JukeboxBill
  • Registratie: Juni 2003
  • Laatst online: 23:43
Een work around is om met een zoekmachine te zoeken met beperking tot een site.
Bijvoorbeeld als zoekopdracht::
jeep site:https://gathering.tweakers.net/forum

Soms ben ik bijna gelukkig


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

JukeboxBill schreef op woensdag 31 maart 2021 @ 13:04:
Een work around is om met een zoekmachine te zoeken met beperking tot een site.
Bijvoorbeeld als zoekopdracht::

[...]
Dat is inderdaad vaak een goede oplossing om hits te vinden die de zoekmachine van een site zelf niet kan vinden.

In dit geval werkt dit maar ten dele; zoekmachines indexeren slechts het openbare deel van het forum.

[ Voor 16% gewijzigd door CodeCaster op 31-03-2021 13:06 ]

https://oneerlijkewoz.nl
Het ergste moet nog komen / Het leven is een straf / Een uitgestrekte kwelling van de wieg tot aan het graf


Acties:
  • 0 Henk 'm!

  • Ernemmer
  • Registratie: Juli 2009
  • Niet online
---

[ Voor 100% gewijzigd door Ernemmer op 31-03-2021 15:24 ]


Acties:
  • +1 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Jazzy schreef op woensdag 31 maart 2021 @ 12:55:
[...]

Ik denk dat je de complexiteit van "onze" zoekfunctie overschat. :) Een Google begrijpt de betekenis van een woord uit de context, die kan bijvoorbeeld onderscheiden of het gaat om een spiergroep, merk luidsprekers, klein open voertuig of betekent dat er ergens vier van zijn (quad core).

De zoekfunctie op Tweakers doet dat niet.

[...]
Laat ik even vooropstellen dat wij geen Google zijn en waarschijnlijk ook nooit zullen kunnen tippen aan Google's algoritmes; dat is hun core business en voor ons is het toch iets meer bijzaak (maar niet onbelangrijk).

Laat niet onverlet dat het beter kan, maar daarvoor heb ik hier mijn collega al even getagged want ik weet echt te weinig van deze materie ;)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

crisp schreef op woensdag 31 maart 2021 @ 10:55:
Volgens mij kan stemming voor bepaalde termen wel uitgezet worden, dus daarmee zou jeep/jep voorkomen kunnen worden (@ACM ?)
Klopt en dat hebben we ook voor diverse woorden wel gedaan. Jeep zou daar bij kunnen.
Betekent dan wel ook een complete herindexering, anders heeft het geen nut. Dus dan kunnen we beter gelijk wat meer van dat soort termen verzamelen.
Marc H schreef op woensdag 31 maart 2021 @ 11:01:
Of nog veel simpeler, als je quotes gebruikt alle "Intelligente" zoekopties negeren en gewoon precies zoeken wat opgegeven is. Dat moet toch niet te moeilijk zijn.
Dat moet uiteindelijk in de zoek-index verwerkt worden. Die dan voor alle dergelijke woorden 2 varianten op moet slaan.
Al met al wordt ie daar veel groter door; een term wordt opgeslagen met de tekst en een aantal keer dat ie in de tekst voorkwam. Het stemmen zorgt effectief ook voor in absolute zin minder unieke woorden per "document" en daarmee een kleinere database.

Een grotere database is niet per se een probleem, maar de snelheid van zoekopdrachten zal daar wel negatief door worden beinvloed.

Bovendien is het dan weer lastig te combineren met zinnen waarbij de eventuele woordstemming je weer niet uitmaakt.
Jazzy schreef op woensdag 31 maart 2021 @ 12:55:
Een Google begrijpt de betekenis van een woord uit de context, die kan bijvoorbeeld onderscheiden of het gaat om een spiergroep, merk luidsprekers, klein open voertuig of betekent dat er ergens vier van zijn (quad core).
Zij hebben inderdaad wat meer mankracht, rekenkracht en motivatie (het is hun core business) beschikbaar voor 'natural language processing'. Maar ook Google zal dat lang niet altijd goed doen, ook bij hun zie ik vaak genoeg dat bijvoorbeeld het effect van stemming negatief uitpakt voor de resultaten.

Bijkomend nadeel is dan ook nog eens dat de vrijelijk beschikbare NLP voor de Nederlandse taal vaak flink achterloopt op dat voor het Engels. En dat Lucene (onze zoek-database) ook dat weer tamelijk beperkt ondersteunt.
En dat dan weer los van het feit dat hier Nederlands, Engels, andere talen en ongebruikelijk (vanuit NLP gezien) jargon door elkaar gebruikt worden.
Jazzy schreef op woensdag 31 maart 2021 @ 11:02:
Ik zoek niet op quad maar op quads, ander woord en een andere betekenis. Dit is dus precies het probleem. :)
Nee, niet hetzelfde. Bij Jeep en Jep wordt ten onrechte Jeep zodanig gestemmed dat het samenvalt met Jep.

Quads is gewoon het meervoud van quad. En het is een afkorting voor quadriceps. Als je alleen op quads zoekt is het dus ook onbekend welke van de twee je bedoelt; maar de stemming is inderdaad zodanig dat het je dan de enkelvoudversie geeft...

Acties:
  • 0 Henk 'm!

  • Marc H
  • Registratie: Juni 1999
  • Laatst online: 20:58

Marc H

- - Is wakker - -

ACM schreef op woensdag 31 maart 2021 @ 13:21:
[...]

Dat moet uiteindelijk in de zoek-index verwerkt worden. Die dan voor alle dergelijke woorden 2 varianten op moet slaan.
Al met al wordt ie daar veel groter door; een term wordt opgeslagen met de tekst en een aantal keer dat ie in de tekst voorkwam. Het stemmen zorgt effectief ook voor in absolute zin minder unieke woorden per "document" en daarmee een kleinere database.

Een grotere database is niet per se een probleem, maar de snelheid van zoekopdrachten zal daar wel negatief door worden beinvloed.

Bovendien is het dan weer lastig te combineren met zinnen waarbij de eventuele woordstemming je weer niet uitmaakt.
Waarvoor moet er een aanpassing komen op de database als alleen de zoekroutine moet worden aangepast?
Waarschijnlijk denk ik te simpel of praten we langs elkaar. Zoals ik het zie hebben we een grote database waarin alle topics en posts in zijn opgeslagen. In die database wordt nu gezocht aan de hand van allerlei "intelligente" routines, dus bij het zoeken naar Jeep gaat hij ook zoeken naar varianten als Jeb, zoals hierboven staat.

Wat ik voorstel is dat er een optie komt om die intelligente routines over te slaan en enkel en alleen te zoeken naar de letterlijke string die de gebruiker op geeft. Komt de tussen de quotes opgegeven tekst identiek voor in het topic, dan wordt hij weergegeven, anders niet.
Daar is volgens mij helemaal geen aanpassing van de database voor nodig, alleen een toevoeging op de regels die de zoekmachine gebruikt.

Of denk ik nu echt te simpel?

Ik maak geen fouten, ik creëer leer momenten.


Acties:
  • +1 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ja :)

Wat er normaliter gebeurt, zeker bij zoveel tekst, is dat er een zogenaamde 'index' wordt gemaakt. Die index bevat niet (of niet alleen) de tekst "Wat er normaliter gebeurt...." maar juist allerlei voor de zoekmachine relevante informatie. En dat ook speciaal voor het zoeken geoptimaliseerd, zodat je niet bij elke zoekopdracht 30+GB aan tekst hoeft door te scannen.

Een aantal dingen die daar in kunnen staan:
- de term "wat" heeft id 1234 en staat in 56346 verschillende documenten, de term "normaliter" heeft id 536 en staat in 15256 documenten
- En dan per document (in ons geval per forumpost) term 1234 komt 30x voor, term 536 komt 1x voor etc.
- Voor het zoeken naar zinnen kan er nog iets in zitten als 'term 1234 stond op plek 1, term id 536 stond op plek 3, ...' ("er" zal vaak door 'stopword filtering' helemaal verdwenen zijn)

Die eerste twee worden doorgaans samen gebruikt om een relevantiescore te berekenen. De term 'wat' komt bij veel documenten voor, dus zal weinig invloed hebben op de relevantie. Terwijl 'normaliter' minder vaak voorkomt en in het specifieke document misschien wel ook nog eens relatief veel.

Stemming is hierbij op twee plekken relevant: voor het opbouwen van die index en tijdens het verwerken van een zoekopdracht. Een woord verdwijnt dus helemaal tijdens het stemmen bij indexeren, daar wordt dan met 'jeep' hetzelfde term-id gebruikt als met 'jep'.

Als we zowel de ongestemde en de gestemde versie willen indexeren, moet dus meer informatie worden bewaard. In bovenstaand voorbeeld zou er dan in de 'term index' meer woorden bijkomen. In de per-document index meer en in de positie-informatie zou dan staan "de term 'jeep' stond op plek 2" en 'de term 'jep' stond op plek 2".

En dat kan ook wel in het door ons gebruikte lucene, maar zorgt dus wel voor een grotere zoek-index en daarmee voor potentieel langzamere zoekresultaten. En bovendien door andere aspecten van de zoekmachine soms ook voor meer complexiteit.

En dat is dus ook de reden dat het dan opnieuw geindexeerd zou moeten worden.

Die extra complexiteit komt doordat we niet alleen stemming doen in dit proces. We splitsen ook nog sommige samengestelde woorden deels op. Vooralsnog alleen als het een mix van cijfers en letters is of als er variatie in hoofdletters in zit ('HoofdLetters' zou dan los van eventuele stemming geindexeerd worden als 'hoofd' gevold door 'letters' en als 'hoofdletters').

Hoewel het ook voor andere woorden interessant is, want lang niet elke Nederlander past woordsamenstelling goed toe. Een recent voorbeeld dat mij onder ogen kwam is bijvoorbeeld het zoeken op 'robot stofzuiger'; waarbij het grote topic met titel 'Robotstofzuigers' niet bepaald vooraan kwam.

Al dat soort dingen geeft bij elke optimalisatie (zoals stemmen) altijd wel een reeks voorbeelden waarin het een verbetering is en een reeks waarin je zou willen dat het net anders werkte. Waarbij het ook nog van de verwachting van de gebruiker afhangt wat je krijgt (wil je bij 'robot' wel of niet 'robotstofzuigers' zien?)

Acties:
  • +2 Henk 'm!

  • cat_byte
  • Registratie: Augustus 2010
  • Niet online
Als ik het goed begrijp blijft dit zoals het is? Ik zocht net naar Kate (een code editor) en ik krijg allemaal verhalen van kattenliefhebbers en -haters voorgeschoteld... Dan verwacht ik inderdaad door het tussen aanhalingstekens te zetten "Kate" wel letterlijke resultaten te vinden.
Zijn er plannen om hier nog iets in te veranderen? Ik begrijp de werking van de index, maar zou er voor specifieke woorden niet een aparte ID aangemaakt kunnen worden? Of is ook dat weer te simpel gedacht?

Als een Tweaker het woord "katten" als "Kate" schrijft mag hij wat mij betreft pech hebben. En de Tweaker zou misschien wel op zoek zijn naar een code editor ...
Pagina: 1