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.
Thesaurus
Du könntest einfach den Thesaurus bei http://www.openthesaurus.de/ runterladen
Das Leben ist wie ein Tennisball.
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.Niederb. hat geschrieben:Die Frage war mehr ob jemand bereits eine fix-fertige Anbindung/API entwickelt hat.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
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 Zonenezzcarth 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.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Sei versichert, dass ein heutiges Smartphone kein Problem mit mit 0,52 MB an Daten hatHyperion 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
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"}]}
]}
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")
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Hehe... ich mutmaßte ja auch nur - und die Größe hatte ich mir auch nicht angegucktsma hat geschrieben: Sei versichert, dass ein heutiges Smartphone kein Problem mit mit 0,52 MB an Daten hat
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")
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
@Hyperion & sma: Ich habe:
so verstanden, dass er tatsächlich lieber mit einer lokalen Datein arbeiten möchte. Aber wie auch immer, jetzt kann er es sich aussuchenNiederb. 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)
-
- User
- Beiträge: 5
- Registriert: Montag 13. Juni 2011, 21:45
- Wohnort: Freienbach, Schweiz
- Kontaktdaten:
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.
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.