NLP - API Tester¶
Einleitung¶
Der NLP-API Tester macht es einfach, HTTP-Anfragen an die NLP-Modelle zu senden und die Antwort auszuwerten. HTTP-Anfragen können durch Einfügen von Variablen dynamisch gemacht werden. Sicherheit und Authentifizierung werden vollständig unterstützt. Sie können HTTP-Antworten visualisieren, verschönern und inspizieren.
Voraussetzungen¶
Um ein NLP-Modell testen zu können muss dies heruntergeladen sein. Sollte kein Modell installiert sein erhalten Sie folgende Meldung:
1 2 3 4 5 | { "code": 471, "description": "No Sentence-Detector model loaded for language [en]", "status": "false" } |
Sie benötigen folgende Modelle pro Sprache als Minimum-Konfiguration, um eine vollwertige NLP-Antwort zu erhalten:
- Sentence-Detector model
- Tokenizer model
- POS-Tagger model
API Anfrage senden¶
Gehen Sie wie folgt vor, um eine Anfrage an den NLP-Webdienst zu senden:
- Klicken Sie in der Navigationsleiste auf
Natürliche Sprachverarbeitung
→NLP Modelle
→NLP API Tester
- Wählen Sie nun aus der Komponente
API-Aufrufe
die POST-Methodenlp/opennlp/query/
aus. Wählen Sie nun die Sprache der Nachricht aus und geben eine Nachricht an. - Klicken Sie nun auf
Abschicken
. Bei einer erfolgreichen Antwort wird als StatusStatus: 200 SUCCESS
angezeigt. Im PanelInhalt
können Sie nun die Antwort inspizieren. Im ReiterHeaders
werden Ihnen die Header-Informationen der HTTP-Antwort angezeigt.
Hinweis
Wird der Parameter Sprache
nicht angegeben, wird mithilfe des Sprach-Detektor-Modell versucht die Sprache zu erkennen. Wenn das Sprach-Detektor-Modell nicht installiert wurde, wird Englisch als Standardsprache verwendet.
Erläuterung der API Antwort¶
Die HTTP-Antwort des NLP-Webdienst ist im JSON-Format notiert. Die JSON-Antwort ist abhängig von den installierten NLP-Modellen. Beispielsweise ist das Feld für namedEntities
leer, wenn kein NameFinder-Modell installiert und geladen wurde. Dies ist auch dann der Fall, wenn kein Ergebnis gefunden wurde.
Response-Inhalt (Beispieldaten):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | { "sentences": [ { "chunks": [ { "start": 0, "end": 1, "label": "INTJ", "body": "Hello" } ], "namedEntities": [], "tokens": [ { "probability": 0, "tag": ".", "body": "." }, { "probability": 0, "tag": "UH", "body": "Hello" } ], "parses": "[(TOP (. Hello.))]", "body": "Hello." }, { "chunks": [ { "start": 0, "end": 2, "label": "NP", "body": "My name" }, { "start": 2, "end": 3, "label": "VP", "body": "is" }, { "start": 3, "end": 4, "label": "NP", "body": "John" } ], "namedEntities": [ { "start": 3, "end": 4, "label": "person", "body": "John" } ], "tokens": [ { "probability": 0, "tag": "VBZ", "body": "is" }, { "probability": 0, "tag": "NNP", "body": "John" }, { "probability": 0, "tag": ".", "body": "." }, { "probability": 0, "tag": "PRP$", "body": "My" }, { "probability": 0, "tag": "NN", "body": "name" } ], "parses": "[(TOP (S (NP (PRP$ My) (NN name)) (VP (VBZ is) (NP (NNP John.)))))]", "body": "My name is John." }, { "chunks": [ { "start": 0, "end": 1, "label": "ADVP", "body": "How" }, { "start": 2, "end": 3, "label": "NP", "body": "you" } ], "namedEntities": [], "tokens": [ { "probability": 0, "tag": ".", "body": "?" }, { "probability": 0, "tag": "WRB", "body": "How" }, { "probability": 0, "tag": "VBP", "body": "are" }, { "probability": 0, "tag": "PRP", "body": "you" } ], "parses": "[(TOP (SBAR (WHADVP (WRB How)) (S (VP (VBP are))) (. you?)))]", "body": "How are you?" } ], "predictedLanguage": "en" } |
Die Beispiel JSON-Antwort enthält folgenden Abschnitte:
- Vorhergesagte Sprache (z.B.
en
für Englisch oderde
für Deutsch) - Chunker Informationen
- Token Informationen
- Parser Informationen
- Benannter Entitäten (z.B.
John
alsPerson
)
Fehlerbehebung¶
NLP-Tester zeigt keine Ergebnisse an¶
Schauen Sie in der Browser-Konsole nach, ob folgenden Fehler protokolliert wird:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://demo.bbp.local/bbp/rest/api/1.0/..../nlp/opennlp/query/. (Reason: CORS request did not succeed).
Cross-Origin Resource Sharing (CORS) ist ein Mechanismus, der zusätzliche HTTP-Header verwendet, um einem Browser mitzuteilen, dass eine Webanwendung (BBP), die auf einem Ursprungsort (Domäne) läuft, die Berechtigung hat, auf ausgewählte Ressourcen von einem Server mit einem anderen Ursprungsort zuzugreifen. Standardmäßig ist nur der gleiche Ursprungsort erlaubt (Sicherheits-Feature).
Sie können den Fehler beheben indem Sie folgende Parameter den der Konfigurationsdatei bbp.properties
auf den Server-Port überprüfen / anpassen. Der Server-Port (für Windows und Linux ist standardmäßig auf 55550
gesetzt).
1 | System.Webservices.WebAddress
|
Zusätzlich sollten Sie auch die Ports in den folgende Parametern überprüfen:
1 2 3 | System.Widget.SSLPort System.Websocket.SSLPort System.InstantMessenger.FileStore.WebAddress |
Referenz: POS - Englisch¶
POS / Tag | Beschreibung |
---|---|
CC | Coordinating conjunction |
CD | Cardinal number |
DT | Determiner |
EX | Existential there |
FW | Foreign word |
IN | Preposition or subordinating conjunction |
JJ | Adjective |
JJR | “Adjective, comparative” |
JJS | “Adjective, superlative” |
LS | List item marker |
MD | Modal |
NN | “Noun, singular or mass” |
NNS | “Noun, plural” |
NNP | “Proper noun, singular” |
NNPS | “Proper noun, plural” |
PDT | Predeterminer |
POS | Possessive ending |
PRP | Personal pronoun |
PRP$ | Possessive pronoun |
RB | Adverb |
RBR | “Adverb, comparative” |
RBS | “Adverb, superlative” |
RP | Particle |
SYM | Symbol |
TO | to |
UH | Interjection |
VB | “Verb, base form” |
VBD | “Verb, past tense” |
VBG | “Verb, gerund or present participle” |
VBN | “Verb, past participle” |
VBP | “Verb, non-3rd person singular present” |
VBZ | “Verb, 3rd person singular present” |
WDT | Wh-determiner |
WP | Wh-pronoun |
WP$ | Possessive wh-pronoun |
WRB | Wh-adverb |
Referenz: POS - Deutsch¶
POS / TAG | Beschreibung |
---|---|
ADJA | attributives Adjektiv |
ADJD | adverbiales oder prädikatives Adjektiv |
ADV | Adverb |
APPR | Präposition; Zirkumposition links |
APPRART | Präposition mit Artikel |
APPO | Postposition |
APZR | Zirkumposition rechts |
ART | bestimmter oder unbestimmter Artikel |
CARD | Kardinalzahl |
FM | Fremdsprachliches Material |
ITJ | Interjektion |
KOUI | unterordnende Konjunktion mit ``zu’‘ und Infinitiv |
KOUS | unterordnende Konjunktion mit Satz |
KON | nebenordnende Konjunktion |
KOKOM | Vergleichskonjunktion |
NN | normales Nomen |
NE | Eigennamen |
PDS | substituierendes Demonstrativpronomen |
PDAT | attribuierendes Demonstrativpronomen |
PIS | substituierendes Indefinitpronomen |
PIAT | attribuierendes Indefinitpronomen ohne Determiner |
PIDAT | attribuierendes Indefinitpronomen mit Determiner |
PPER | irreflexives Personalpronomen |
PPOSS | substituierendes Possessivpronomen |
PPOSAT | attribuierendes Possessivpronomen |
PRELS | substituierendes Relativpronomen |
PRELAT | attribuierendes Relativpronomen |
PRF | reflexives Personalpronomen |
PWS | substituierendes Interrogativpronomen |
PWAT | attribuierendes Interrogativpronomen |
PWAV | adverbiales Interrogativ- oder Relativpronomen |
PAV | Pronominaladverb |
PTKZU | ``zu’‘ vor Infinitiv |
PTKNEG | Negationspartikel |
PTKVZ | abgetrennter Verbzusatz |
PTKANT | Antwortpartikel |
PTKA | Partikel bei Adjektiv oder Adverb |
TRUNC | Kompositions-Erstglied |
VVFIN | “finites Verb, voll” |
VVIMP | “Imperativ, voll” |
VVINF | “Infinitiv, voll” |
VVIZU | “Infinitiv mit ``zu’‘, voll” |
VVPP | “Partizip Perfekt, voll” |
VAFIN | “finites Verb, aux” |
VAIMP | “Imperativ, aux” |
VAINF | “Infinitiv, aux” |
VAPP | “Partizip Perfekt, aux” |
VMFIN | “finites Verb, modal” |
VMINF | “Infinitiv, modal” |
VMPP | “Partizip Perfekt, modal” |
XY | “Nichtwort, Sonderzeichen enthaltend” |
”$ | “,Komma |
$. | Satzbeendende Interpunktion |
$( | sonstige Satzzeichen; satzintern |
Referenz: Vorhersagbare Sprachen (Codes)¶
af
/ afr (Afrikaans)ar
/ ara (Arabic)ast
/ ast (Asturian)az
/ aze (Azerbaijani)ba
/ bak (Bashkir)be
/ bel (Belarusian)bn
/ ben (Bengali)bs
/ bos (Bosnian)br
/ bre (Breton)br
/ bul (Bulgarian)ca
/ cat (Catalan)ceb
/ ceb (Cebuano)cs
/ ces (Czech)ce
/ che (Chechen)cmn
/ cmn (Mandarin Chinese)cy
/ cym (Welsh)dk
/ dan (Danish)de
/ deu (German)et
/ ekk (Standard Estonian)el
/ ell (Greek, Modern)en
/ eng (English)eo
/ epo (Esperanto)et
/ est (Estonian)eu
/ eus (Basque)fo
/ fao (Faroese)fa
/ fas (Persian)fi
/ fin (Finnish)fr
/ fra (French)fy
/ fry (Western Frisian)ga
/ gle (Irish)gl
/ glg (Galician)ch
/ gsw (Swiss German)gu
/ guj (Gujarati)he
/ heb (Hebrew)hi
/ hin (Hindi)hr
/ hrv (Croatian)hu
/ hun (Hungarian)hy
/ hye (Armenian)id
/ ind (Indonesian)is
/ isl (Icelandic)it
/ ita (Italian)jv
/ jav (Javanese)jp
/ jpn (Japanese)ca
/ kan (Kannada)ka
/ kat (Georgian)kk
/ kaz (Kazakh)ky
/ kir (Kirghiz)ko
/ kor (Korean)la
/ lat (Latin)lv
/ lav (Latvian)li
/ lim (Limburgan)lt
/ lit (Lithuanian)lb
/ ltz (Luxembourgish)lv
/ lvs (Standard Latvian)ml
/ mal (Malayalam)mr
/ mar (Marathi)min
/ min (Minangkabau)mk
/ mkd (Macedonian)mt
/ mlt (Maltese)mn
/ mon (Mongolian)mi
/ mri (Maori)ms
/ msa (Malay)nan
/ nan (Min Nan Chinese)de
/ nds (Low German)ne
/ nep (Nepali)nl
/ nld (Dutch)nn
/ nno (Norwegian Nynorsk)nb
/ nob (Norwegian bokmål)oc
/ oci (Occitan)pa
/ pan (Panjabi)fa
/ pes (Iranian Persian)mg
/ plt (Plateau Malagasy)pa
/ pnb (Western Panjabi)pl
/ pol (Polish)pt
/ por (Portuguese)ps
/ pus (Pushto)ro
/ ron (Romanian)ru
/ rus (Russian)sa
/ san (Sanskrit)si
/ sin (Sinhala)sk
/ slk (Slovak)sl
/ slv (Slovenian)so
/ som (Somali)es
/ spa (Spanish)sq
/ sqi (Albanian)sr
/ srp (Serbian)su
/ sun (Sundanese)sw
/ swa (Swahili)sv
/ swe (Swedish)ta
/ tam (Tamil)tt
/ tat (Tatar)te
/ tel (Telugu)tg
/ tgk (Tajik)tl
/ tgl (Tagalog)th
/ tha (Thai)tr
/ tur (Turkish)uk
/ ukr (Ukrainian)ur
/ urd (Urdu)uz
/ uzb (Uzbek)vi
/ vie (Vietnamese)vo
/ vol (Volapük)war
/ war (Waray)zu
/ zul (Zulu)