[alg] waarde toekennen als keyword-links

Pagina: 1
Acties:

  • Christiaan
  • Registratie: Maart 2001
  • Laatst online: 09-08-2021
Ik ben bezig met de ontwikkeling van een word-indexing systeem (ASP en SQL-Server) dat gebruikt gaat worden om een zoekfunctie te faciliteren. De huidige tabel bevat ongeveer 10.000 woorden, en die worden in een andere tabel gelinkt aan allerlei objecten die op de site bestaan, zoals artikelen. Deze laatste tabel bevat momenteel meer dan 100.000 links. Snelheid is geen enkel probleem, want het werkt als een trein. Ik heb een meer algemeen 'probleem'.

Het word-indexing wil ik ook gebruiken om bepaalde woorden in een stuk tekst te laten vervangen door een hyperlink naar een scherm dat aangeeft welke andere artikelen op dat woord een 'close match' zijn. Ik kan zelf aangeven welke keywords hiervoor in aanmerking komen (ik heb ze maar 'strong keywords' genoemd), maar nu weet ik niet helemaal hoe ik het beste kan bepalen welk artikelen het meest 'matchen'.

Momenteel heb ik voor iedere object-keyword relatie een aantal zaken die ik bijhoud:
1] het aantal keer dat het woord voorkomt in het object
2] het aantal keer dat gebruikers gebruik hebben gemaakt van een link ('hits')
3] een 'multiplier' die handmatig ingesteld wordt om een link precedentie te geven over andere links (laten we dit handmatig bijsturing noemen)

Het lijkt me goed mogelijk tot een soort formule te komen waaruit een waarde rolt waarop alle matches vergeleken kunnen worden. Het lukt me alleen niet een goede formule te verzinnen. Heeft iemand suggesties of zijn er bekende heuristieken voor dit soort functies?

  • Apollo_Futurae
  • Registratie: November 2000
  • Niet online
Het is belangrijk om eerst te bedenken hoe de uiteindelijke correlatiewaarde af moet hangen van de verschillende factoren. Bij voorbeeld:
• een hoge 3] zorgt sowieso voor een hoge totaalscore, bij een lage of afwezige 3] moet de combinatie van 1] en 2] hoog genoeg zijn, waarbij 2] nog iets zwaarder telt dan 1];
• als een woord één of een paar keer voorkomt heeft het veel minder invloed (ook relatief) dan als het vaak voorkomt.

Overigens lijkt het me zo op het eerste gezicht weinig zinvol om het aantal hits in de weging op te nemen: als de drempelwaarde nog niet bereikt is, is er nog geen link om op te klikken en kan het aantal hits dus niet toenemen; als de drempelwaarde wel bereikt is, kan het aantal hits slechts toenemen en zal de totale score daarom waarschijnlijk alleen maar beter worden, wat geen effect heeft (de link is er immers al).

Mooier zou het zijn om te kunnen bepalen in hoe verre twee onderwerpen overeenkomen, zonder dat het succes van de onderlinge link bekend is - aangezien het over de vraag gaat of de link in kwestie er wel moet komen. Misschien is dit mogelijk door een 'begrippenboom'/'contextboom' te bouwen (we zijn nu aangeland in de categorie pure improvisatie :P): koppel aan elk begrip een hyperoniem (een woord dat een bredere betekenis/context heeft). Tel nu, om twee begrippen te relateren, het aantal niveaus dat je 'omhoog moet gaan' zodat beide begrippen op hetzelfde hyperoniem uitkomen.

Pas de replâtrage, la structure est pourrie.