API Dokumentation - Request

Der Request kann als GET oder als POST Request an die URL
 https://api.txtwerk.de/rest/txt/analyzer
erfolgen. Das zu annotierende Dokument und die Auswahl der anzuwendenden Services werden als Parameter übergeben.

Dokument

Das zu annotierende Dokument kann direkt als Text übergeben werden.

Alternativ kann auch einfach die URL einer zu analysierenden Webseite angegeben werden. In diesem Fall wird die Webseite gecrawlt, der wesentliche Textinhalt bestimmt und verarbeitet. Fremde Elemente wie die Navigation oder Teaser-Texte werden aussortiert.

Gewichtung von Eingabetexten erfolgt indem man document als JSON-String eingibt. Die Relevanz-Werte der Ergebnisse werden mit der eingegeben Gewichtung multipliziert. Der Antwort ist dann nach den eingegebenen Text-Abschnitten strukturiert.

Services

Das Dokument kann mit verschiedenen Techniken analysiert werden. Zur Auswahl stehen folgende Services

entities Named Entities auf Basis der Wikidata Ontologie.
tags Schlagwörter, die im Text vorkommen, den Inhalt gut beschreiben und zusammenfassen.
categories Zuordnung des Texts zu den Kategorien Politik, Wirtschaft, Auto & Technik, Internet, Kultur, Politik, Reisen, Vermischtes, Wissenschaft.
dates Datumsangaben und Zeiträume.
measures Maßzahlen die im Text enthalten sind.
authors Autoren des als HTML-Dokument vorliegenden Artikels.
fingerprints Fingerprints für den Text zur Erkennung von ähnlichen Dokumenten.
lexiconEntities Named Entites auf Basis eines in TXT Werk gepflegten Lexikons.
lexiconTags Schlagwörter auf Basis eines in TXTWerk gepflegten Lexikons.
nerEntities Flair/Ner Enititäten

Servicesteuerung

Für einzelne Services stehen weitere Parameter zur Verfügung, mit denen die Analyse oder das Ergebnis beeinflusst werden können.

Beispielanfrage

Beispiel für einen POST Request, bei dem das Dokument direkt als Text übergeben wird:

curl "https://api.txtwerk.de/rest/txt/analyzer" \
    -H "X-Api-Key: ..." \
    -d text='Angela Merkel wurde am 17. Juli 1954 in Hamburg als Angela Dorothea Kasner geboren.' \
    -d services='entities'

Beispiel für einen POST Request, bei dem eine HTML Datei direkt als Parameter übergeben wird:

curl "https://api.txtwerk.de/rest/txt/analyzer" \
    -H "X-Api-Key: ..." \
    -F htmlFile='@' \
    -F services='entities'

Beispiel für einen POST Request, bei dem ein JSON-Dokument übergeben wird:

curl "https://api.txtwerk.de/rest/txt/analyzer" \
    -H "X-Api-Key: ..." \
    -d services='entities'
    -d document='[{ "text": "Titel", "weight": "2.0" } , { "text": "Teaser", "weight": "1.5" }]'

Parameterübersicht

Parameter Bereich Beschreibung
text Dokument Enthält das zu annotierende Dokument als Text. Für längere Texte empfiehlt sich, die Anfrage als POST Request abzusetzen und den Text im Request Body zu übergeben.

Erforderlich: entweder text oder htmlFile oder document
Werte: Text
htmlFile Dokument Enthält das zu annotierende Dokument als Html-Text.

Erforderlich: entweder text oder htmlFile oder document
Werte: Html Text Datei
document Dokument Enthält das zu annotierende Dokument als JSON.

Erforderlich: entweder text oder htmlFile oder document
Werte: JSON-String
title Dokument Titel des Dokumentes. Durch die zusätzliche Angabe eines Titels kann das Ergebnis verbessert werden. Wird nur für folgende Services berücksichtigt: tags.

Erforderlich: nein
Werte: Text
teaser Dokument Teaser des Dokumentes. Durch die zusätzliche Angabe eines Teasers kann das Ergebnis verbessert werden. Wird nur für folgende Services berücksichtigt: tags.

Erforderlich: nein
Werte: Text
services Services Liste der anzufragenden Services.

Erforderlich: ja
Werte: komma-separierte Liste, die mindestens einen der unterstützten Services enthält: [entities, tags, categories, dates, measures, authors, fingerprints, lexiconEntities, lexiconTags, nerEntities]
language Servicesteuerung Sprache des Eingabetexts. Durch diese Angabe können gezielt sprachabhängige Komponenten aktiviert werden.

Erforderlich: nein, wird dann automatisch bestimmt
Werte: 'de' oder 'en'
ntags Servicesteuerung Anzahl der Schlagwörter, die maximal bestimmt werden sollen.
Service: tags.

Erforderlich: nein, Default: 10
Werte: nichtnegative ganze Zahl
ncategories Servicesteuerung Anzahl der zurückgegebenen Kategorien.
Service: categories.

Erforderlich: nein
Werte: nichtnegative ganze Zahl
nentities Servicesteuerung Anzahl der zurückgegebenen Entitäten.
Service: entities.

Erforderlich: nein
Werte: nichtnegative ganze Zahl
nerMinConfidence Servicesteuerung Schwellwert für den Konfidenzwert bei den Entitäten.
Service: entities.

Erforderlich: nein
Werte: nichtnegative ganze Zahl
nerMinRelevance Servicesteuerung Schwellwert für die Relevanz bei den Entitäten.
Service: entities.

Erforderlich: nein
Werte: nichtnegative ganze Zahl
nerFormat Servicesteuerung Ausgabeformat der Entitäten.
Service: entities.

Erforderlich: nein
Werte: 'list', 'aggregate' (aggregierte, nach Relevanz sortierte Liste von Entitäten), 'candidates' (Disambiguierungskandidaten sind gelistet für jede mögliche Entity)