Archief - Relevantie berekenen tussen 2 strings

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

hermandewulf

Legacy Member
Hallo iedereen

Mijn doel is om artikels uit verschillende externe rss-feeds van enkele nieuwswebsites in een database te steken. Alleen zullen regelmatig verschillende nieuwssites rond hetzelfde onderwerp schrijven.

Ik had gedacht om de "gelijkaardigheid" tussen 2 strings te berekenen zodat er geen dubbele berichten in de database komen. Maar ik weet echter niet hoe hieraan te beginnen, hoe zou ik dit best aanpakken?

Alvast bedankt voor de hulp

Groetjes

Herman

adrianhates

Legacy Member
Ben je zeker dat je PHP wilt gebruiken?

zoja, bedoel je nu gewoon == ?
als je iets wat gelijkend wilt berekenen zal je toch mogen rekenen op een iets of wat intelligenter algoritme :)

Als dit je eerste stapjes zijn in een programmeertaal / scripttaal zal je toch de gehele basis eens moeten overlopen want enkel strings kunnen vergelijken gaat u ook geen meter vooruit helpen.

Disa

Legacy Member
Er zijn een aantal mogelijkheiden.

Voor strings te vergelijken kan je dingen zoals de Hamming/Levenshtein distance gebruiken. Deze vergelijkt string A met string B en geeft je het aantal karakter substituties/insertions en/of deletions je moet doen om de 2e string te bekomen.
Hoe lager dit getal, hoe "meer" deze strings op mekaar gelijken.

Maar aangezien je hier volledige artikels gaat vergelijken, zal dit niet de gewenste resultaten geven. Ik denk dat je een of ander clustering algoritme zal moeten gebruiken, dat de meest gelijkaardige artikels in 1 cluster steekt. Met wat en hoe je precies de verschillende artikels gaat differentieren zal je moeten opzoeken in papers. Misschien dat Natural Language Processing je al iets verder brengt?

Een "simpelere" mogelijkheid is al je artikels naar Apache Lucene pompen en iedere keer je een artikel toevoegt een Similarity query uitvoeren.

Je zal een aantal technieken moet proberen en kijken wat het best werkt .

hermandewulf

Legacy Member
Ik ben redelijk thuis in PHP, alleen heb ik met dergelijke constructies nog nooit te maken gekregen.

Ik hoopte dat er een functie bestond in PHP die de relevantie onmiddelijk kon berekenen, alleen die van de titel zou eventueel al volstaan.

Bedankt Disa voor de tips, ik zal me direct inlezen! :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan