Skip to content
Snippets Groups Projects
Commit 136e5327 authored by Sonja Huber's avatar Sonja Huber
Browse files

add xenias multiplying docs trick for small corpora and top2vec

parent fff24e24
No related branches found
No related tags found
No related merge requests found
Zum Topic Modeling stehen dir hier zwei Möglichkeiten zur Verfügung: einmal Topic Modeling mit einem gensim-LDAmodel und einmal mit Top2vec.
Top2vec eignet sich in etwa ab der Grössenordnung 4000 Swissdox-Artikel.
### Vorbereitung
......
......@@ -3,7 +3,7 @@
Top2vec ist ein Algorithmus basierend auf [diesem Paper](https://arxiv.org/abs/2008.09470), welcher in einem Vektorraum Word- und Document Embeddings erstellt und auf dieser Grundlage Topics berechnet und ebenfalls in diesem Vektorraum projiziert.
Ein grosser Vorteil dieser Methode ist, dass die Anzahl Topics nicht angegeben werden muss, sondern selbst vom Algorithmus bestimmt wird. Die Projiektion von Word-, Document- und Topic Embeddings in denselben Raum macht ausserdem viele übergreifende Abfagen möglich. Die [Dokumentation](https://top2vec.readthedocs.io/en/latest/Top2Vec.html#) und [API-Reference](https://top2vec.readthedocs.io/en/latest/api.html) zu studieren ist deshalb sehr empfehlenswert.
Gemäss einigen (allerdings nicht umfassenden) Tests gibt top2vec etwa ab Grössenordnung 4000 Swissdox-Artikel gute Resultate zurück. Je mehr Dokumente man im Input liefern kann, tendentiell mehr Topics werden erstellt, die entsprechend feingliedriger werden. Ausserdem können, wie weiter unten noch beschrieben wird, einige Parameter an die Grösse des vorliegenden Korpus angepasst werden. Ausprobieren kann sich lohnen.
Gemäss einigen (allerdings nicht umfassenden) Tests gibt top2vec etwa ab Grössenordnung 4000 Swissdox-Artikel gute Resultate zurück. Hat man ein kleineres Korpus, kann man die Anzahl der Dokumente im Code künstlich erhöhen, um ebenfalls auf ca. 4000-8000 Dokumente zu kommen. Je mehr Dokumente man im Input liefern kann, tendentiell mehr Topics werden erstellt, die entsprechend feingliedriger werden. Ausserdem können, wie weiter unten noch beschrieben wird, einige Parameter an die Grösse des vorliegenden Korpus angepasst werden. Ausprobieren kann sich lohnen.
### Installation
......
......@@ -9,6 +9,10 @@ def main():
#print(len(docs))
# hier kannst du die Anzahl der Dokumente künstlich auf etwa 4000 bis 8000 erhöhen,
# um für kleinere Korpora bessere Ergebnisse zu erzielen.
# dazu die folgende zeile auskommentieren.
# docs = docs*10
# TODO passe die Parameter an (siehe README oder Dokumentation)
model = Top2Vec(
docs, embedding_model="doc2vec", speed="deep-learn", workers=4, min_count=20
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment