Seite 1 von 1
Thesaurus
Verfasst: Montag 6. Februar 2012, 08:44
von Niederb.
Hallo zusammen
Ich bin auf der Suche nach einer Deutschen Thesaurus Anbindung in Python und konnte bis jetzt nichts finden.
Die entsprechenden Daten gibt es scheinbar bei openthesaurus.
http://www.openthesaurus.de/
Ich bräuchte aber eine Anbindung der Daten direkt über das Datenfile, weil ich sehr viele Anfragen abarbeiten muss. (also kein Aufruf via Webservice/XML/URL)
Im Natural language toolkit gibt es scheinbar auch nichts in Deutsch.
http://www.nltk.org/
Hat jemand schon mal so etwas gefunden/programmiert?
Sonst mach ich es dann selbst, aber man muss ja nicht immer alles neu erfinden.
Oder kennt jemand alternativen zu openthesaurus?
Danke & Gruss
Niederb.
Re: Thesaurus
Verfasst: Montag 6. Februar 2012, 08:50
von EyDu
Du könntest einfach den Thesaurus bei
http://www.openthesaurus.de/ runterladen

Re: Thesaurus
Verfasst: Montag 6. Februar 2012, 08:52
von Niederb.
Ja, das ist mir klar. Aber Danke trotzdem.
Die Frage war mehr ob jemand bereits eine fix-fertige Anbindung/API entwickelt hat.
Re: Thesaurus
Verfasst: Montag 6. Februar 2012, 11:32
von nezzcarth
Niederb. hat geschrieben:Die Frage war mehr ob jemand bereits eine fix-fertige Anbindung/API entwickelt hat.
Braucht man das denn? Die Daten liegen in mehreren Formaten vor, zum Beispiel auch als CSV-artige Plaintext-Datei und als MySql-Dump. In beiden Fällen kann man da doch mit Standardwerkzeugen drauf zugreifen.
Re: Thesaurus
Verfasst: Montag 6. Februar 2012, 11:36
von Hyperion
nezzcarth hat geschrieben:
Braucht man das denn? Die Daten liegen in mehreren Formaten vor, zum Beispiel auch als CSV-artige Plaintext-Datei und als MySql-Dump. In beiden Fällen kann man da doch mit Standardwerkzeugen drauf zugreifen.
Vielleicht für mobile Plattformen, wo sowohl der Speicherplatz begrenzt ist oder aber das Downloadvolumen eine Rolle spielen? Vielleicht sind das mittlerweile auch keine Kriterien mehr - ich lebe (noch) in einer Smartphone freien Zone

Re: Thesaurus
Verfasst: Montag 6. Februar 2012, 16:00
von sma
Hyperion hat geschrieben:Vielleicht für mobile Plattformen, wo sowohl der Speicherplatz begrenzt ist oder aber das Downloadvolumen eine Rolle spielen? Vielleicht sind das mittlerweile auch keine Kriterien mehr - ich lebe (noch) in einer Smartphone freien Zone

Sei versichert, dass ein heutiges Smartphone kein Problem mit mit 0,52 MB an Daten hat
Was das API angeht, dort wird doch sehr genau beschrieben, dass man z.B. mit
http://www.openthesaurus.de/synonyme/se ... ation/json nach einem JSON-Dokument fragen kann, welches neben einer merkwürdigen Warnung und einem Copyright-Hinweis zu "programmieren" dann dies liefert:
Code: Alles auswählen
{"synsets":[
{"id":888,"categories":[],"terms":[{"term":"codieren"},{"term":"implementieren"},{"term":"programmieren"}]}
]}
Also z.B. (ohne Fehlerbehandlung):
Code: Alles auswählen
import urllib, urllib2, json
def get_synonyms(term):
d = json.load(urllib2.urlopen("http://www.openthesaurus.de/synonyme/search?q=%s&format=application/json" % urllib.quote(term)))
return [o["term"] for o in d["synsets"][0]["terms"]]
print get_synonyms(u"programmieren")
Stefan
Re: Thesaurus
Verfasst: Montag 6. Februar 2012, 21:15
von Hyperion
sma hat geschrieben:
Sei versichert, dass ein heutiges Smartphone kein Problem mit mit 0,52 MB an Daten hat
Hehe... ich mutmaßte ja auch nur - und die Größe hatte ich mir auch nicht angeguckt
Ich konnte nicht widerstehen und hab Dein Script mal mit Hilfe des
Requests-Moduls umgesetzt:
Code: Alles auswählen
import json, requests
def get_synonyms(term):
d = json.loads(requests.get("http://www.openthesaurus.de/synonyme/search",
params={"q": term, "format": "application/json"}).text)
return [o["term"] for o in d["synsets"][0]["terms"]]
get_synonyms("programmieren")
Da mir dieses Modul in letzter zeit häufiger namentlich über den Weg lief, hat es mich mal gereizt es anzutesten. Ich mag dieses ganze "urllib"-Konglomerat in Python2 einfach nicht...
Re: Thesaurus
Verfasst: Montag 6. Februar 2012, 21:48
von nezzcarth
@Hyperion & sma: Ich habe:
Niederb. hat geschrieben:
Ich bräuchte aber eine Anbindung der Daten direkt über das Datenfile, weil ich sehr viele Anfragen abarbeiten muss. (also kein Aufruf via Webservice/XML/URL)
so verstanden, dass er tatsächlich lieber mit einer lokalen Datein arbeiten möchte. Aber wie auch immer, jetzt kann er es sich aussuchen

Re: Thesaurus
Verfasst: Dienstag 7. Februar 2012, 14:38
von Niederb.
Ja, ich brauche in der Tat eine Implementation welche direkt mit dem Datenfile arbeitet.
Da es scheinbar noch nichts entsprechendes gibt, werde ich selber eine kleine API entwickeln.
Falls es etwas wird werde ich dann meine Implementation hier posten, falls jemand mal danach suchen sollte.
Gruss
Niederb.