Ik heb hier een database met een heel groot aantal entries. Deze entries bevatten koppen van nieuwsitems die hier intern worden gepubliceerd. Aangezien we al een flink aantal items hebben gepubliceerd over de afgelopen jaren ben ik geinteresseerd geraakt in statistieken die ik los kan laten op de DB.
Nu heb ik bv een soort "hot item" thing gebouwd. Werd er bv het afgelopen jaar veel geschreven over bv Kaas dan komt ie hoog in een lijstje te staan. Dit werkt uitstekend, helaas alleen met wat beperkingen.
Ik heb nl, om het toonbaar te maken, woorden korter dan 4 letters niet meegeteld. Dit is al een eerste schifting van stopwoorden. Maar hierdoor mis ik wel items over bv Kok (onze vorige premier).
Ook heb ik woorden gefilterd die NIET met een hoofdletter beginnen. Ook een soort schifting maar nogal rigoreus.
Nu zou je bv alleen kunnen filteren op hoofdletter. Dan krijg je dus ALLE eerste woorden terug uit de koppen en namen en plaatsen etc etc. Alles wat dus met hoofdletters begint. Ik heb gemerkt dat bv Lucille de B. ook een erge uitwerking heeft op deze methode.
Wat doe ik globaal: Ik split op de spaties tussen de woorden in de koppen, zo krijg ik alle woorden, helaas split ik dan wel belangrijke paren zoals bv Roland Garros oid. Hier valt nauwelijks op te checken. Maar dat boeit me ook niet zoveel. Deze lijst sorteer ik en tel hoevaak (we beginnen bij het eerste woord) een woord er in voorkomt en verwijder vervolgens die woorden. Ik sla dan in de DB het woord plus het aantal occurences op. En het script gaat door naar woord 2. etc etc
Dat lijkt langzaam maar over een pool van 4800 woorden doet deze functie er 3 a 4 seconden over. Best redelijk.
Helaas ben ik niet tevreden met de resultaten gezien de nogal rigoreuze schiftingen.
IK heb al geprobeerd om, als ik een woord heb te pakken, te tellen hoe vaak deze voorkomt in de database en deze vervolgens bij een HELE hoge waarde (>40%) niet mee te tellen. Dit betekent dus wel een flink aantal extra queries op de DB. Ik heb 10 mins geleden zo'n querie gedaan en hij is nu NOG bezig. Niet echt handig dus.
Goed, dan eindelijk mijn vraag.
Weten jullie een betere manier voor deze statistic? Bestaat er niet een lijst met 'most common words' van de Nederlandse taal? Deze in een DB zetten en die vervolgens steeds raadplegen is het makkelijkst lijkt me.
Nogal lang verhaal, maar de achtergrond is volgens mij niet onbelangrijk!
Nu heb ik bv een soort "hot item" thing gebouwd. Werd er bv het afgelopen jaar veel geschreven over bv Kaas dan komt ie hoog in een lijstje te staan. Dit werkt uitstekend, helaas alleen met wat beperkingen.
Ik heb nl, om het toonbaar te maken, woorden korter dan 4 letters niet meegeteld. Dit is al een eerste schifting van stopwoorden. Maar hierdoor mis ik wel items over bv Kok (onze vorige premier).
Ook heb ik woorden gefilterd die NIET met een hoofdletter beginnen. Ook een soort schifting maar nogal rigoreus.
Nu zou je bv alleen kunnen filteren op hoofdletter. Dan krijg je dus ALLE eerste woorden terug uit de koppen en namen en plaatsen etc etc. Alles wat dus met hoofdletters begint. Ik heb gemerkt dat bv Lucille de B. ook een erge uitwerking heeft op deze methode.
Wat doe ik globaal: Ik split op de spaties tussen de woorden in de koppen, zo krijg ik alle woorden, helaas split ik dan wel belangrijke paren zoals bv Roland Garros oid. Hier valt nauwelijks op te checken. Maar dat boeit me ook niet zoveel. Deze lijst sorteer ik en tel hoevaak (we beginnen bij het eerste woord) een woord er in voorkomt en verwijder vervolgens die woorden. Ik sla dan in de DB het woord plus het aantal occurences op. En het script gaat door naar woord 2. etc etc
Dat lijkt langzaam maar over een pool van 4800 woorden doet deze functie er 3 a 4 seconden over. Best redelijk.
Helaas ben ik niet tevreden met de resultaten gezien de nogal rigoreuze schiftingen.
IK heb al geprobeerd om, als ik een woord heb te pakken, te tellen hoe vaak deze voorkomt in de database en deze vervolgens bij een HELE hoge waarde (>40%) niet mee te tellen. Dit betekent dus wel een flink aantal extra queries op de DB. Ik heb 10 mins geleden zo'n querie gedaan en hij is nu NOG bezig. Niet echt handig dus.
Goed, dan eindelijk mijn vraag.
Weten jullie een betere manier voor deze statistic? Bestaat er niet een lijst met 'most common words' van de Nederlandse taal? Deze in een DB zetten en die vervolgens steeds raadplegen is het makkelijkst lijkt me.
Nogal lang verhaal, maar de achtergrond is volgens mij niet onbelangrijk!