Meine Idee waere ein Programm, dass ein Online Woerterbuch (wie z.B. leo.org oder slovnik.seznam.cz o.Ae.) automatisch bedient.
Aus einem eingegebenen oder geladenen Text sollen zunaechst in mehreren Stufen Satzzeichen, Numerale und doppelt vorkommende Woerter rausgefiltert werden, danach noch Woerter, die uebersetzt werden muessen (Personal-, Possesiv, Demonstrativpronomen und Fuellwoerter).
Eine weitere Aufgliederung der verbleibenden Woerter erscheint mir ob der komplexitaet des Deutschen Deklinations- und Konjugationssystems fast unmoeglich. Sinnvoll waere es allerdings, die Woerter ihrer Laenge nach zu Ordnen und auch dem Benutzer die Moeglichgkeit zu geben, unbekannte Woerter zu selektieren o. Ae.
Oder auch von gebeugten Formen die Grundform einzugeben.
Danach sollen die Woerter der Reihe nach an ein Online Woerterbuch geschickt werden, wo danach die ersten x Ergebnisse extrahiert und in eine Textdatei gespeichert werden.
Es ginge mir bei der ganzen Angelegenheit vor allem um die automatische Abarbeitung der Wortliste, nicht um Geschwindigkeit, d.h die einzelnen Woerter werden in Intervallen an das Woerterbuch geschickt, die dem manuellen Eintragen nahekommen, so dass nicht der Vorwurf einer DoS-Attacke o. Ae. kommt.
Was denkt ihr? Macht das Sinn? Der Vorteil waere, dass man schon bevor man mit der Uebersetzung beginnt, eine Liste von uebersetzten Woertern hat, und dann zuegiger voranschreiten kann.
Gruss,
bub
Uebersetzungshelfer
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo bub!le_bub hat geschrieben:Meine Idee waere ein Programm, dass ein Online Woerterbuch (wie z.B. leo.org oder slovnik.seznam.cz o.Ae.) automatisch bedient.
Die Idee an sich ist ja nicht schlecht. Aber ich würde vorher ein lokal installiertes Wörterbuch zur Übersetzung heran ziehen und nur die Wörter, die nicht vom lokalen Wörterbuch übersetzt werden konnten übers Internet schicken. Das schont die Ressourcen der Onlinewörterbücher (spart den Betreibern Kosten) und sollte für dich keinen Unterschied machen.
Stichwörter für lokale Wörterbücher:
- libtranslate http://www.nongnu.org/libtranslate/
- tranlate http://packages.debian.org/unstable/text/translate
- ding http://www-user.tu-chemnitz.de/~fri/ding/
- ispell http://www.gnu.org/software/ispell/ispell.html
- aspell http://aspell.net/ http://aspell.net/win32/
Hier z.B. http://www.woerterbuch.info/tipps.php wird auch eine XML-Schnittstelle oder ein Java-Script-Plugin angesprochen. Der Quellcode dieser Implementierungen dürfte recht interessant sein.
So etwas gibt es sicher auch für andere Online-Wörterbücher. Ich würde einfach mit den Betreibern reden und fragen ob du das darfst und ob es dafür schon eine Schnittstelle gibt.
mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Hab sowas für mein aktuelles Projekt geschrieben, was automatisch den Google Translator nach Hilfe fragt. Da es für nen Projekt ist ist es - wie das restliche Projekt auch - GPL
Ist eigentlich relativ simple sowas zu schreiben. Musst dir nur bewusst sein was er sendet und wo die Antwort steht. Dann klappet
Ist eigentlich relativ simple sowas zu schreiben. Musst dir nur bewusst sein was er sendet und wo die Antwort steht. Dann klappet
Code: Alles auswählen
#! /usr/bin/python
# -*- coding:utf-8 -*-
# Google Translator API
# Copyright (C) 2007 by Tobias "SigMA" Sauer
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License only
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
__doc__ == """Google Translator API
GT-API greift auf den Google Translator zu
und erstellt eine Übersetztung für einen String
"""
import urllib
import re
class AppURLopener(urllib.FancyURLopener):
version = "Opera/9.23"
urllib._urlopener = AppURLopener()
def google_translate(text, von="de", zu="en"):
params = urllib.urlencode({'text':text,'langpair':von+"|"+zu, "ie":"UTF8"})
f = urllib.urlopen("http://translate.google.com/translate_t", params)
result = re.compile("<div id=result.*?</div>", re.IGNORECASE).search(f.read()).group()
x = re.compile("<div .*?>", re.IGNORECASE).search(result).group()
result = result.replace(x, "").replace("</div>","")
return result
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
http://www.leichtdio.de
Also am besten den unter der GPL gestellten Trivialcode nicht weiter anschauen und selber sniffen was der `Google Translator` ausspuckt...und dann kann man es unter BSD stellen? Kein Problem. Höchstens 10-30 Minuten arbeitSigMA hat geschrieben:Da es für nen Projekt ist ist es - wie das restliche Projekt auch - GPL
Ist eigentlich relativ simple sowas zu schreiben.

Wer Ironie findet kann sie gerne behalten oder sich in die Harre schmieren. ;~) IMO ein wenig übertrieben um bei dem Trivialcode auf GPL hinzuweisen.
BTW: Dir ist schon bewusst das es ärger geben kann wenn du denn User-agent fälscht?
Code: Alles auswählen
import urllib, re
uagent_re = re.compile(r'\s*<i>\s*(Browser Name).*?<br />(.*?)<br />')
req = urllib.urlopen("http://www.news4mobile.de/browsercheck/")
print uagent_re.search(urllib.urlopen("http://www.news4mobile.de/browsercheck/")
.read()).groups()
urllib._urlopener = type("_", (urllib.FancyURLopener, object), {"version": "Opera/9.23"})()
print uagent_re.search(urllib.urlopen("http://www.news4mobile.de/browsercheck/")
.read()).groups()
('Browser Name', 'Python-urllib/1.17')
('Browser Name', 'Opera/9.23')
System erkanntAlso am besten den unter der GPL gestellten Trivialcode nicht weiter anschauen und selber sniffen was der `Google Translator` ausspuckt...und dann kann man es unter BSD stellen? Kein Problem. Höchstens 10-30 Minuten arbeit

Kommt Google mit seiner fetten Mega Monster Server arme und disst meinen Rechner?BTW: Dir ist schon bewusst das es ärger geben kann wenn du denn User-agent fälscht?

Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
http://www.leichtdio.de
Das die Deine IP blocken wenn Du das übertreibst kann tatsächlich sein, denn im allgemeinen schliessen die meisten Nutzungsbedingungen automatisierte und massenhafte Abfragen aus.
Super. Wenigstens ein par Leute hier mit Humor, mit den man auch mal lockerer reden kannSigMA hat geschrieben: System erkannt


Hehe, das wird googles Farm wohl nicht machen. Aber fakt ist, das die Tatsache das andre User-Agenten, außer den von Browserherstellern geblockt werden, einen Grund hatSigMA hat geschrieben: Kommt Google mit seiner fetten Mega Monster Server arme und disst meinen Rechner?Fakt ist, das du auf diese Dinge nicht zugreifen kannst, wenn du den User Agent so lässt.

EDIT: Aber eigentlich ganz schön schlampig von Google. Ich hätte mehr erwartet, als nur den User-Agenten vom Header auszulesen
