7. Index-Terme
„Ein Index-Term ist für ein
Dokument um so signifikanter, je
häufiger er ein einem Dokument
auftritt und je seltener er in
anderen Dokumenten vorkommt“
10. Part-of-speech-tagging
This lecture's goal is to take you beyond
simple database-backend applications and
teach you how to write smarter programs to
take advantage of information you and
others collect every day.
DT, NN, PRP, JJ, VBZ, TO, NN, PRP, IN, JJ, nil, NNS, CC,
VB, PRP, WRB, TO, VB, RBR, NNS, TO, VB, NN, IN,
NN, PRP, CC, NNS,VB, DT, NN
11. Wortstämme
• Im Englischen sehr einfach mit dem Porter-
Stemmer-Algorithmus (Porter 1980)
• Ruby Implementierung als RubyGem
verfügbar
• Mehr unter http://www.tartarus.org/
~martin/PorterStemmer
12. Alles zusammen
Text in Wörter
trennen
Kurze Worte &
Stopwörter filtern
Nur Nomen
Wort &
Wortstamm
14. Term-Frequenz
freqij
tfij=
maxl(freqlj)
wird pro Term i abhängig vom Dokument j betrachtet.
freqi,j ist die Auftrittshäufigkeit des betrachteten Terms i
im Dokument j. Im Nenner steht die Maximalhäufigkeit
über alle l Terme im Dokument (Baeza-Yates und
Ribeiro-Neto, 1999).
15. Inverse Dokumenten frequenz
N
idfi= log ni
Die inverse Dokumentfrequenz idf
hängt hingegen nicht vom einzelnen
Dokument, sondern vom
Dokumentkorpus, der Gesamtmenge
aller Dokumente im ab
16. Term-Gewicht
freqij N
wij= tfij * idfi = * log
maxl(freqlj) ni
Das Gewicht w eines Terms i im Dokument j
28. Ziele von Dokumenten
Clustering
• Identifikation einer endlichen Menge von
Clustern
• Dokumente im gleichen Cluster sollen
möglichst ähnlich sein
• Dokumente aus verschiedenen Clustern
sollen möglichst unähnlich zueinander sein
30. Vorteile von Clustering
• Unbeaufsichtigtes Lernen
• schneller Überblick über den Inhalt einer
sehr großen Datenmenge
• Identifikation der verborgenen Ähnlichkeit
• Erleichterung der Suche nach ähnlichen
Dokumenten
• Verhalten gut erforscht
31. k-means Algorithmus
• klassische Methode des Clustering und wurde für
Textdokumente angepasst.
• In diesem Bereich weit verbreitet und effizient
• Findet nicht immer das Optimum
• Ist schnell und effizient
• Komplexität: O(k n i), wobei i die Anzahl
* *
Iterationen ist
32. k-means Algorithmus
1. Lege k fest 5. Vergleiche jeden
Dokumentenvektor mit
2. Erzeuge k-Cluster jedem Zentroid
(Zentroide)
6. Verschiebe Dokumente
3. Verteile alle Dokumente zu Zentroiden mit der
zufällig auf die Zentroide höchsten Ähnlichkeit
4. Berechne Zentrodie als 7. Fertig, wenn kein
Durchschnittsvektor Dokument mehr
aller verschoben wird. Sonst
Dokumentenvektoren zu Schritt 4 zurück
35. • co2alarm.com
• Ruby on Rails Projekt
• Übersicht über Neuigkeiten aus dem
Umweltbereich
• RSS-Agregator / -Crawler
• k-means-Clusterer auf Datenbankebene
• Visualisierung mit TreeMaps
• Demokratisierung von „grünen“ Nachrichten
39. Kontakt
ramon@wartala.de
www.wartala.de
xing.com/profile Ramon_Wartala
twitter.com/rawar
Ramon Wartala
ist IT-Leiter beim Hamburger Online-Vermarkter
orangemedia.de GmbH, Co-Autor des Buches
Webanwendungen mit Ruby on Rails, Mitbegründer der
ersten, deutschen Ruby on Rails Usergroup und seit 10
Jahren freier Autor im Bereich Softwareentwicklung und
Entwickler von co2alarm.com.