×
Menü
Index

Den CorpusExplorer mittels XML-Skript steuern

Hinweis: Ganz am Ende dieser Seite finden Sie den hier gezeigten XML-Skript-Quelltext zum Kopieren.
 
Den CorpusExplorer mittels XML-Skript steuern
 
Diese Anleitung setzt vorraus, dass Sie über grundlegende Kenntnisse in XML verfügen.
Um ein Skript auszuführen, starten Sie die CorpusExplorer-Console mit dem Attribut "FILE:" + Dateiname.
Bsp.: cec.exe FILE:script.xml
 
1

<cescript> - Das root-Element

1. <cescript> - Das root-Element
Darf pro Datei nur einmal vorkommen
2

<head> + <meta>

2. <head> + <meta>
Im <head> können Sie Informationen hinterlegen. Für die Verarbeitung des Skripts sind diese Informationen NICHT RELEVANT. Für die Archivierung oder die Weitergabe kann dieser Abschnitt jedoch sehr hilfreich sein (z. B. wenn Sie vermerken, von wem das Skript stammt oder wann und zu welchem Zweck es erstellt wurde).
3

<sessions> / <session>

3. <sessions> / <session>
Pro Datei/CeScript können Sie beliebig viele Sessions anlegen. Mehrere Sessions werden durch den CorpusExplorer parallel ausgeführt. Wenn Sie eine parallele Ausführung verhindern wollen, dann fügen Sie <sessions> das Attribut mode="sync" hinzu - Bsp.: <sessions mode="sync">
Was macht eine Session?
Eine Session besteht immer aus drei Teilen: sources, queries, tasks
Die <sources> werden vollständig in den Arbeitsspeicher geladen, dann mittels <queries> gefiltert und an die <tasks> weitergeleitet.
4

<sources>

4. <sources>
Alle angegebenen Quellen werden in die <session> geladen.
Der type gibt an, in welchem Format die Quelle vorliegt. Die types sind abhängig von den installierten Addons.
 
Alternativ zu <import> können Sie auch <annotate> verwenden, um Rohtexte zu annotieren. Bsp.:
<annotate type="DpxcScraper" tagger="TreeTagger" language="Deutsch">
<file>C:/test.abc</file>
<directory filter=".cec6">C:/</directory>
</annotate>
Achten Sie darauf, dass für <import> und <annotate> andere "type" verfügbar sind.
Eine Liste erhalten Sie, wenn Sie das Konsolen-Programm cec.exe ohne Argumente ausführen - siehe dann Sektion [import] / [annotate].
 
Sie können sowohl Einzeldateien <file> als auch komplette Ordner <directory> importieren.
<directory> bietet zudem die Möglichkeit nur Dateien mit bestimmter Endung zu importieren (Bsp. filter=".cec6")
5

<queries>

5. <queries>
Nachdem die <sources> eingelesen wurden, werden die Abfragen ausgeführt. Es gibt drei unterschiedliche Abfragetypen: query, queryGroup und queryBuilder
6

<query>

6. <query>
Ein Query sollte immer über ein name-Attribut verfügen, damit eine spätere Zuordnung problemlos möglich ist.
Der Inhalt des <query> ist die Abfrage in der CorpusExplorer-Syntax. Details dazu hier:
7

<queryGroup>

7. <queryGroup>
Eine <queryGroup> erlaubt das Zusammenfassen von mehreren <queries> mit Hilfe eine logischen Operators (operator).
Zulässige Werte für operator sind: or / and
Die Vergabe des Attributs name an die einzelnen unter-<query>s ist nicht möglich.
8

<queryBuilder>

8. <queryBuilder>
Der <queryBuilder> baut aus einer Liste von Werten mehrere einzeln adressierbare <query>.
Das Attribut name wird dabei um den jeweiligen <value> ergänzt.
Die Abfrage setzt sich zusammen aus prefix und <value>.
Der hier gezeigte <queryBuilder> ist synonym zu den folgenden Einzelabfragen:
<query name="author_dpa">M.Autor::dpa</query>
<query name="author_Katja Schmidt">M.Autor::Katja Schmidt</query>
9

<tasks>

9. <tasks>
Der CorpusExplorer führt <tasks> parallel aus. Wenn Sie eine parallele Ausführung verhindern wollen, dann fügen Sie <tasks> das Attribut mode="sync" hinzu - Bsp.: <tasks mode="sync">
Hinweis: Ein <task> hat immer eine Ausgabedatei (output). Bevor ein <task> startet, wird geprüft, ob diese Datei exsistiert und bereits über einen Inhalt verfügt. Ist dies der Fall, wird der <task> NICHT AUSGEFÜHRT. Wenn Sie möchten, dass eine Session exsistierende Daten überschreiben soll, dann fügen Sie <session> das Attribut override="true" hinzu - Bsp.: <session override="true">
10

<task>

10. <task>
Das Attribut type bestimmt, was im jeweiligen <task> zu erledigen ist.
Die Liste der verfügbaren types erweitert sich ständig und kann abhängig sein von installierten Addons.
Eine Liste erhalten Sie, wenn Sie das Konsolen-Programm cec.exe ohne Argumente ausführen - siehe dann Sektion [tasks].
11

<output> - Standard

11. <output> - Standard
Für das Attribut output stehen folgende Formate zur Verfügung:
  • TSV
  • CSV
  • XML
  • HTML
  • SQL (Skript muss evtl. vor Datenbankimport noch modifiziert werden)
  • JSON
12

task type="convert" > spezieller Output

12. task type="convert" > spezieller Output
Der <task> vom Typ "convert" stellt einen Sonderfall dar. "convert" erlaubt die Konvertierung in ein anderes Format (1-zu-1-Kopie).
Dies ist insbesondere dann wichtig, wenn Sie die Ergebnisse von <annotate> (siehe 4) oder eines bestimmten <query>s speichern möchten.
Hinweis: Achten Sie unbedingt darauf, dass hier andere output-Formate bereitstehen. Die Liste der verfügbaren Output-Foramte ist abhängig von installierten Addons. Eine Liste erhalten Sie, wenn Sie das Konsolen-Programm cec.exe ohne Argumente ausführen - siehe dann Sektion [export].
13

query= - Erweiterte Optionen

13. query= - Erweiterte Optionen
Für das Attribut query können Sie mehrere Werte eingeben. Hier eine Liste:
  • Exakter Name - Geben Sie den exakten Namen des unter <queries> erstellten <query> an, um nur diesen anzusprechen.
  • KEINE ANGABE - lassen Sie das Attribut query weg, damit der <task> auf der Auswahl "Alle Dokumente" (alle <sources>) arbeitet.
  • * - Geben Sie * an, um den <task> für alle erstellten <queries> zu durchlaufen. Dabei wird die Auswahl "Alle Dokumente" (alle <sources>) durchlaufen.
  • + - Geben Sie + an, um den <task> für alle erstellten <queries> zu durchlaufen. Der CorpusExplorer durchläuft hierbei nicht die Auswahl "Alle Dokumente".
  • Name* oder *Name - Stellen Sie * einem Namen voran oder hängen Sie * an einen Namen, um alle <queries> die mit Name beginnen (Name*) oder enden (*Name) auszuwählen.
     
Mehrfachselektion durch *, + oder Name*/*Name:
Wenn Sie *, + oder Name*/*Name verwenden werden in der Regel gleich mehrere <query>s selektiert. Hierfür gibt es zwei Optionen:
  • Entweder Sie verwenden den {selection}-Platzhalter in <output> - dadurch wird für jeden <query> eine eigene Ausgabedatei erzeugt. Bsp.:
    <task type="meta" query="author_*">
         <output format="TSV">C:/output/{selection}_meta.tsv</output>
    </task>
  • Oder Sie fügen dem <task> das Attribut mode="merge" hinzu. Dies sorgt dafür, dass eine Ausgabedatei erzeugt wird. Die einzelnen <query>-Daten können Sie dann über die Angabe "TID" identifizieren. Bsp.:
    <task type="meta" query="author_*" mode="merge">
         <output format="TSV">C:/output/_meta.tsv</output>
    </task>
14

Argumente

14. Argumente
Eine <task>s benötigen zusätzliche Argumente.
15

Elemente schließen
nicht vergessen

15. Elemente schließen
nicht vergessen
Denken Sie daran, alle XML-Elemente zu schließen.
 
XML-Quelltext zum Kopieren:
 
<cescript>
<head>
     <meta key="Project">Projektname</meta>
     <meta key="Texttype">Zeitungen</meta>
</head>
<sessions>
     <session>
          <sources>
               <import type="ImporterCec6">
                    <file>C:/corpora/corpus.cec6</file>
               </import>              
          </sources>
         
          <queries>
               <query name="query_years">XSDatum::DATE;Y</query>
               <queryGroup operator="or" name="query_2017-04>06">
                    <query>M.Datum::04.2017</query>
                    <query>M.Datum::05.2017</query>
                    <query>M.Datum::06.2017</query>
               </queryGroup>
               <queryBuilder name="author_" prefix="M.Autor::">
                    <value>dpa</value>
                    <value>Katja Schmidt</value>
               </queryBuilder>
          </queries>
         
          <tasks>
              <task type="basic-information">
                    <output format="TSV">C:/output/basic-information.tsv</output>
               </task>
               <task type="convert" query="query_2017-04>06">
                    <output format="ExporterCec6">C:/output/{selection}.cec6</output>
               </task>
               <task type="meta" query="author_*">
                    <output format="TSV">C:/output/meta.tsv</output>
               </task>
               <task type="frequency2">
                    <output format="TSV">C:/output/freq-pos-lemma.tsv</output>
                    <arguments>
                         <argument>POS</argument>
                         <argument>Lemma</argument>
                    </arguments>
               </task>
               <task type="n-gram">
                    <output format="TSV">C:/output/3gram.tsv</output>
                    <arguments>
                         <argument>3</argument>
                         <argument>Lemma</argument>
                    </arguments>
               </task>
          </tasks>
     </session>
</sessions>
</cescript>