3.4 Konvertierung in Text - mkappus1/DatenmanagementMTHS24 GitHub Wiki

Allgemeine Konvertierung

Im MTUOC-web-downloader Repository finden Sie das Programm MTUOC-downloadedweb2text.py, mit dem Sie die heruntergeladenen Inhalte einer Website in Text umwandeln können. Es handelt sich um einen generischen Algorithmus, der für jede der im Web vorhandenen Sprachen eine segmentierte Textdatei ausgibt. Er konvertiert die Dateien nicht einzeln, sondern erstellt eine Datei pro Sprache. Mit anderen Worten, er führt die folgenden Aktionen durch:

  • Er geht die Verzeichnisstruktur der heruntergeladenen Website durch.
  • Konvertiert jede der Dateien in Text.
  • Ermittelt automatisch die Sprache der konvertierten Datei.
  • Er segmentiert die Datei und speichert die Segmente in der Ausgabedatei, die der jeweiligen Sprache entspricht.

Die auf diese Weise erhaltenen Dateien können nicht auf klassische Weise aligniert werden, sondern auf eine Weise, die wir in einem der nächsten Blöcke kennenlernen werden.

Das Programm MTUOC-downloadedweb2text.py verfügt über die Option -h, die die Hilfe anzeigt:

python3 MTUOC-heruntergeladenerweb2text.py -h usage: MTUOC-downloadedweb2text.py [-h] -d DIRENTRADA [-p PREFFIX] [--ldm LANGDETMODEL] [-s SRXFILE] [-s SRXFILE] [--ldm LANGDETMODEL] [-s SRXFILE] [--ldm LANGDETMODEL

MTUOC-Programm zur Konvertierung eines heruntergeladenen Webs in Text.

Optionen:
  -h, --help diese Hilfemeldung anzeigen und beenden
  -d DIRENTRADA, --Verzeichnis DIRENTRADA
                        Das Verzeichnis, in dem die heruntergeladenen Dateien gespeichert werden.
  -p PREFFIX, --preffix PREFFIX
                        Das Präfix für die Textdateien.
  --ldm LANGDETMODEL Das Spracherkennungsmodell von fastText. Standardmässig lid.176.bin.
  -s SRXFILE, --srx SRXFILE
                        Die SRX-Datei, die die Segmentierungsregeln enthält. Standardmässig segment.srx.

Denken Sie daran, dass Sie zusätzlich zu den Voraussetzungen unbedingt eine Datei mit einem Fasttext-Spracherkennungsmodell erhalten müssen. Die Vorgabe ist lid.176.bin, die Sie von https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.bin herunterladen können.

Wenn Sie die Standardoptionen beibehalten möchten, um die heruntergeladene Webseite im Download-Verzeichnis zu konvertieren, geben Sie einfach ein

python3 MTUOC-downloadedweb2text.py -d download/

Und Sie erhalten für jede Sprache eine Textdatei: text-en.txt, text-en.txt, text-es.txt und vielleicht noch einige mehr. Es ist möglich, dass aufgrund von Fehlern bei der Spracherkennung fehlerhafte Dateien erzeugt werden.

Konvertierung mit benutzerdefinierten Skripts

Bei der im vorigen Punkt erläuterten generischen Konvertierung geht die Beziehung zwischen Original- und übersetzten Seiten verloren. Bei einigen Websites existiert diese Beziehung nicht oder ist nur schwer zu erkennen. Bei anderen Websites hingegen ist die Beziehung leicht zu ermitteln. Es gibt mehrere Möglichkeiten, darunter die folgenden (in medline plus sind mehrere davon gleichzeitig angegeben):

  • In der Html-Datei selbst wird diese Beziehung explizit gemacht. Wenn Sie sich den Code von https://medlineplus.gov/insectbitesandstings.html ansehen, können Sie sehen, dass die Sprache der Datei angegeben ist:

    <!DOCTYPE html>
    <html lang="en" id="health_topic" class="nojs esm" data-root="https://medlineplus.gov/">
    

    Und die URL der entsprechenden Seite auf Englisch ist ebenfalls angegeben

    <link rel="alternate" hreflang="es" href="https://medlineplus.gov/spanish/insectbitesandstings.html" />
    <link rel="alternate" hreflang="en" href="https://medlineplus.gov/insectbitesandstings.html" />
    

    Wenn wir nun beobachten, sehen wir:

    <!DOCTYPE html>
    <html lang="en" id="health_topic" class="nojs esm" data-root="https://medlineplus.gov/">
    

    und auch:

    <link rel="alternate" hreflang="en" href="https://medlineplus.gov/spanish/insectbitesandstings.html" />
    <link rel="alternate" hreflang="en" href="https://medlineplus.gov/insectbitesandstings.html" />
    

Auf diese Weise können wir ein Skript erstellen, das die Html-Dateien in Text umwandelt, den Namen beibehält (oder einen Sprachcode hinzufügt) und diese Textdateien in getrennten Verzeichnissen nach Sprachen ablegt. Um diese Skripte zu erstellen, benötigen Sie ein Minimum an Kenntnissen in Pyhton. Ich stelle Ihnen die folgende medline2text.py zur Verfügung

Um es auszuführen, geben Sie einfach das Download-Verzeichnis an:

python3 medline2text.py download

Sie können das Ergebnis dieses Prozesses direkt herunterladen:

  • Englische Dateien: lpg.uoc.edu/seminarioTAN/semana_3/text-en.zip
  • Spanische Dateien: lpg.uoc.edu/seminarioTAN/semana_3/text-de.zip