Rename routes and templates in corpora package

This commit is contained in:
Patrick Jentsch
2023-04-18 11:32:04 +02:00
parent 8dd3669af4
commit a844cdb45b
21 changed files with 94 additions and 294 deletions

View File

@ -0,0 +1,9 @@
<h3 class="manual-chapter-title">Introduction</h3>
<p>
nopaque is a web-based digital working environment. It implements a
workflow based on the research process in the humanities and supports its
users in processing their data in order to subsequently apply digital
analysis methods to them. All processes are implemented in a specially
provided cloud environment with established open source software. This
always ensures that no personal data of the users is disclosed.
</p>

View File

@ -0,0 +1,18 @@
<h3 class="manual-chapter-title">Registration and Log in</h3>
<div class="row">
<div class="col s12 m4">
<img alt="Registration and Log in" class="materialboxed responsive-img" src="{{ url_for('static', filename='images/manual/registration-and-log-in.png') }}">
</div>
<div class="col s12 m8">
<p>
Before you can start using the web platform, you need to create a user
account. This requires only a few details: just a user name, an e-mail
address and a password are needed. In order to register yourself, fill out
the form on the <a href="{{ url_for('auth.register') }}">registration page</a>. After successful registration, the
created account must be verified. To do this, follow the instructions
given in the automatically sent e-mail. Afterwards, you can log in as
usual with your username/email address and password in the log-in form
located next to the registration button.
</p>
</div>
</div>

View File

@ -0,0 +1,46 @@
<h3 class="manual-chapter-title">Dashboard</h3>
<div class="row">
<div class="col s12 m4">
<img alt="Dashboard" class="materialboxed responsive-img" src="{{ url_for('static', filename='images/manual/dashboard.png') }}">
</div>
<div class="col s12 m8">
<p>
The <a href="{{ url_for('main.dashboard') }}">dashboard</a> provides a central overview of all resources assigned to the
user. These are <a href="{{ url_for('main.dashboard', _anchor='corpora') }}">corpora</a> and created <a href="{{ url_for('main.dashboard', _anchor='jobs') }}">jobs</a>. Corpora are freely composable
annotated text collections and jobs are the initiated file processing
procedures. Both the job and the corpus listings can be searched using
the search field displayed above them.
</p>
</div>
<div class="col s12">&nbsp;</div>
<div class="col s12 m6">
<div class="card">
<div class="card-content">
<span class="card-title"><i class="nopaque-icons">I</i> Corpus</span>
<p>
A corpus is a collection of texts that can be analyzed using the
Corpus Analysis service. All texts must be in the verticalized text
file format, which can be obtained via the Natrual Language
Processing service. It contains, in addition to the actual text,
further annotations that are searchable in combination with optional
addable metadata during your analysis.
</p>
</div>
</div>
</div>
<div class="col s12 m6">
<div class="card">
<div class="card-content">
<span class="card-title"><i class="nopaque-icons">J</i> Job</span>
<p>
A job is a construct that represents the execution of a service.
It stores input files, output files, processing status, and options
selected during creation. After submitting a job, you get redirected
to a job overview page. This can be accessed again via the job list
on the dashboard. Jobs will be deleted three months after creation,
so we encourage you to download the results after a job is completed.
</p>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,52 @@
<h3 class="manual-chapter-title">Services</h5>
<div class="row">
<div class="col s12 m4">
<img alt="Services" class="materialboxed responsive-img" src="{{ url_for('static', filename='images/manual/services.png') }}">
</div>
<div class="col s12 m8">
<p>
nopaque was designed from the ground up to be modular. This modularity
means that the offered workflow provides variable entry and exit points,
so that different starting points and goals can be flexibly addressed.
Each of these modules are implemented in a self-contained service, each of
which represents a step in the workflow. The services are coordinated in
such a way that they can be used consecutively. The order can either be
taken from the listing of the services in the left sidebar or from the
roadmap (accessible via the pink compass in the upper right corner). All
services are versioned, so the data generated with nopaque is always
reproducible.
</p>
</div>
</div>
<h4 class="manual-chapter-title">File Setup</h4>
<p>
The <a href="{{ url_for('services.file_setup_pipeline') }}">File Setup Service</a> bundles image data, such as scans and photos,
together in a handy PDF file. To use this service, use the job form to
select the images to be bundled, choose the desired service version, and
specify a title and description. Please note that the service sorts the
images into the resulting PDF file based on the file names. So naming the
images correctly is of great importance. It has proven to be a good practice
to name the files according to the following scheme:
page-01.png, page-02.jpg, page-03.tiff, etc. In general, you can assume
that the images will be sorted in the order in which the file explorer of
your operating system lists them when you view the files in a folder
sorted in ascending order by file name.
</p>
<h4>Optical Character Recognition (OCR)</h4>
<p>Comming soon...</p>
<h4>Handwritten Text Recognition (HTR)</h4>
<p>Comming soon...</p>
<h4>Natural Language Processing (NLP)</h4>
<p>Comming soon...</p>
<h4>Corpus Analysis</h4>
<p>
With the corpus analysis service, it is possible to create a text corpus
and then explore it in an analysis session. The analysis session is realized
on the server side by the Open Corpus Workbench software, which enables
efficient and complex searches with the help of the CQP Query Language.
</p>

View File

@ -0,0 +1,47 @@
<h3 class="manual-chapter-title">A closer look at the Corpus Analysis</h3>
<h4>Create a corpus</h4>
<div class="row">
<div class="col s12 m4">
<img alt="Create a Corpus" class="materialboxed responsive-img" src="{{ url_for('static', filename='images/manual/create-a-corpus.png') }}">
</div>
<div class="col s12 m8">
<p>
To <a href="{{ url_for('corpora.create_corpus') }}">create a corpus</a>, you
can use the "New Corpus" button, which can be found on both, the Corpus
Analysis Service page and the Dashboard below the corpus list. Fill in the input
mask to Create a corpus. After you have completed the input mask, you will
be automatically taken to the corpus overview page (which can be called up
again via the corpus lists) of your new and accordingly still empty corpus.
</p>
</div>
<div class="col s12">&nbsp;</div>
<div class="col s12 m4">
<img alt="Create a Corpus" class="materialboxed responsive-img" src="{{ url_for('static', filename='images/manual/add-corpus-file.png') }}">
</div>
<div class="col s12 m8">
<p>
Now you can add texts in vrt format (results of the NLP service) to your new
corpus. To do this, use the "Add Corpus File" button and fill in the form
that appears. You will get the possibility to add metadata to each text.
After you have added all the desired texts to the corpus, the corpus must be
prepared for the analysis, this process can be initiated by clicking on the
"Build" button. On the corpus overview page you can always see information
about the current status of the corpus in the upper right corner. After the
build process the status should be "built".
</p>
</div>
</div>
<h4>Analyze a corpus</h4>
<p>
After you have created and built a corpus, it can be analyzed. To do this,
use the button labeled Analyze. The corpus analysis currently offers two
modules, the Reader and the Concordance module. The reader module can be
used to read your tokenized corpus in different ways. You can select a token
representation option, it determines the property of a token to be shown.
You can for example read your text completly lemmatized. You can also change
the way of how a token is displayed, by using the text style switch. The
concordance module offers some more options regarding the context size of
search results. If the context does not provide enough information you can
hop into the reader module by using the lupe icon next to a match.
</p>

View File

@ -0,0 +1,161 @@
<h3 class="manual-chapter-title">CQP Query Language</h3>
<p>Within the Corpus Query Language, a distinction is made between two types of annotations: positional attributes and structural attributes. Positional attributes refer to a token, e.g. the word "book" is assigned the part-of-speech tag "NN", the lemma "book" and the simplified part-of-speech tag "NOUN" within the token structure. Structural attributes refer to text structure-giving elements such as sentence and entity markup. For example, the markup of a sentence is represented in the background as follows:</p>
<pre>
<code>
<span class="green-text">&lt;s&gt; structural attribute</span>
<span class="blue-text">word pos lemma simple_pos positional attribute</span>
<span class="green-text">&lt;ent type="PERSON"&gt; structural attribute</span>
<span class="blue-text">word pos lemma simple_pos positional attribute</span>
<span class="blue-text">word pos lemma simple_pos positional attribute</span>
<span class="green-text">&lt;/ent&gt; structural attribute</span>
<span class="blue-text">word pos lemma simple_pos positional attribute</span>
<span class="green-text">&lt;/s&gt; structural attribute</span>
</code>
</pre>
<h4>Positional attributes</h4>
<p>Before you can start searching for positional attributes (also called tokens), it is necessary to know what properties they contain.</p>
<ol>
<li><span class="blue-text"><b>word</b></span>: The string as it is also found in the original text</li>
<li>
<span class="blue-text"><b>pos</b></span>: A code for the word type, also called POS tag
<ol>
<li><span class="red-text"><b>IMPORTANT</b></span>: POS tags are language-dependent to best reflect language-specific properties.</li>
<li>The codes (= tagsets) can be taken from the Corpus Analysis Concordance page.</li>
</ol>
</li>
<li><span class="blue-text"><b>lemma</b></span>: The lemmatized representation of the word</li>
<li>
<span class="blue-text"><b>simple_pos</b></span>: A simplified code for the word type that covers fewer categories than the <span class="blue-text"><b>pos</b></span> property, but is the same across languages.
<ol>
<li>The codes (= tagsets) can be taken from the Corpus Analysis Concordance page.</li>
</ol>
</li>
</ol>
<h5>Searching for positional attributes</h5>
<div>
<p>
<b>Token with no condition on any property (also called <span class="blue-text">wildcard token</span>)</b><br>
</p>
<pre><code>[]; Each token matches this pattern</code></pre>
</div>
<div>
<p>
<b>Token with a condition on its <span class="blue-text">word</span> property</b>
</p>
<pre><code>[word="begin"]; “begin”</code></pre>
<pre><code>[word="begin" %c]; same as above but ignores case</code></pre>
</div>
<div>
<p>
<b>Token with a condition on its <span class="blue-text">lemma</span> property</b>
</p>
<pre><code>[lemma="begin"]; “begin”, “began”, “beginning”, …</code></pre>
<pre><code>[lemma="begin" %c]; same as above but ignores case</code></pre>
</div>
<div>
<p>
<b>Token with a condition on its <span class="blue-text">simple_pos</span> property</b>
</p>
<pre><code>[simple_pos="VERB"]; “begin”, “began”, “beginning”, …</code></pre>
</div>
<div>
<p>
<b>Token with a condition on its <span class="blue-text">pos</span> property</b>
</p>
<pre><code>[pos="VBG"]; “begin”, “began”, “beginning”, …</code></pre>
</div>
<div>
<p>
<b>Look for words with a variable character (also called <span class="blue-text">wildcard character</span>)</b><br>
</p>
<pre style="margin-bottom: 0;"><code>[word="beg.n"]; “begin”, “began”, “begun”</code></pre>
<pre style="margin-top: 0;" ><code> ^ the dot represents the wildcard character</code></pre>
</div>
<div>
<p><b>Token with two conditions on its properties, where both must be fulfilled (<span class="blue-text">AND</span> operation)</b></p>
<pre style="margin-bottom: 0;"><code>[lemma="be" & simple_pos="VERB"]; Lemma “be” and simple_pos is Verb</code></pre>
<pre style="margin-top: 0;" ><code> ^ the ampersand represents the and operation</code></pre>
</div>
<div>
<p><b>Token with two conditions on its properties, where at least one must be fulfilled (<span class="blue-text">OR</span> operation)</b></p>
<pre style="margin-bottom: 0;"><code>[simple_pos="VERB" | simple_pos="ADJ"]; simple_pos VERB or simple_pos ADJ (adjective)</code></pre>
<pre style="margin-top: 0;"><code> ^ the line represents the or operation</code></pre>
</div>
<div>
<p><b>Sequences</b></p>
<pre><code>[simple_pos="NOUN"] [simple_pos="VERB"]; NOUN -> VERB</code></pre>
<pre><code>[simple_pos="NOUN"] [] [simple_pos="VERB"]; NOUN -> wildcard token -> VERB</code></pre>
</div>
<div>
<p>
<b>Incidence modifiers</b><br>
Incidence Modifiers are special characters or patterns, that control how often a character/token that stands in front of it should occur.
</p>
<ol>
<li><span class="blue-text"><b>+</b></span>: <span class="blue-text">One or more</span> occurrences of the character/token before</li>
<li><span class="blue-text"><b>*</b></span>: <span class="blue-text">Zero or more occurrences</span> of the character/token before</li>
<li><span class="blue-text"><b>?</b></span>: <span class="blue-text">Zero or one occurrences</span> of the character/token before</li>
<li><span class="blue-text"><b>{n}</b></span>: <span class="blue-text">Exactly n occurrences</span> of the character/token before</li>
<li><span class="blue-text"><b>{n,m}</b></span>: <span class="blue-text">Between n and m occurrences</span> of the character/token before</li>
</ol>
<pre><code>[word="beg.+"]; “begging”, “begin”, “began”, “begun”, …</code></pre>
<pre><code>[word="beg.*"]; “beg”, “begging”, “begin”, “begun”, …</code></pre>
<pre><code>[word="beg?"]; “be”, “beg”</code></pre>
<pre><code>[word="beg.{2}"]; “begin”, “begun”, …</code></pre>
<pre><code>[word="beg.{2,4}"]; “begging”, “begin”, “begun”, …</code></pre>
<pre><code>[word="beg{2}.*"]; “begged”, “beggar”, …</code></pre>
<pre><code>[simple_pos="NOUN"] []? [simple_pos="VERB"]; NOUN -> wildcard token (x0 or x1) -> VERB</code></pre>
<pre><code>[simple_pos="NOUN"] []* [simple_pos="VERB"]; NOUN -> wildcard token (x0 or x1) -> VERB</code></pre>
</div>
<div>
<p>
<b>Option groups</b><br>
Find character sequences from a list of options.
</p>
<pre style="margin-bottom: 0;"><code>[word="be(g|gin|gan|gun)"]; “beg”, “begin”, “began”, “begun”</code></pre>
<pre style="margin-top: 0;" ><code> ^ ^ the braces indicate the start and end of an option group</code></pre>
</div>
<h4>Structural attributes</h4>
<p>nopaque provides several structural attributes for query. A distinction is made between attributes with and without value.</p>
<ol>
<li><span class="green-text"><b>s</b></span>: Annotates a sentence</li>
<li>
<span class="green-text"><b>ent</b></span>: Annotates an entity
<ol>
<li>
<span class="green-text"><b>*ent_type</b></span>: Annotates an entity and has as value a code that identifies the type of the entity.
<ol>
<li>The codes (= tagsets) can be taken from the Corpus Analysis Concordance page.</li>
</ol>
</li>
</ol>
</li>
<li>
<span class="green-text"><b>text</b></span>: Annotates a text
<ol>
<li>Note that all the following attributes have the data entered during the corpus creation as value.</li>
<li><span class="green-text"><b>*text_address</b></span></li>
<li><span class="green-text"><b>*text_author</b></span></li>
<li><span class="green-text"><b>*text_booktitle</b></span></li>
<li><span class="green-text"><b>*text_chapter</b></span></li>
<li><span class="green-text"><b>*text_editor</b></span></li>
<li><span class="green-text"><b>*text_institution</b></span></li>
<li><span class="green-text"><b>*text_journal</b></span></li>
<li><span class="green-text"><b>*text_pages</b></span></li>
<li><span class="green-text"><b>*text_publisher</b></span></li>
<li><span class="green-text"><b>*text_publishing_year</b></span></li>
<li><span class="green-text"><b>*text_school</b></span></li>
<li><span class="green-text"><b>*text_title</b></span></li>
</ol>
</li>
</ol>
<h5>Searching for structural attributes</h5>
<pre><code>&lt;ent&gt; [] &lt;/ent&gt;; A one token long entity of any type</code></pre>
<pre><code>&lt;ent_type="PERSON"&gt; [] &lt;/ent_type&gt;; A one token long entity of type PERSON</code></pre>
<pre><code>&lt;ent_type="PERSON"&gt; []* &lt;/ent_type&gt;; Entity of any length of type PERSON</code></pre>
<pre style="margin-bottom: 0;"><code>&lt;ent_type="PERSON"&gt; []* &lt;/ent_type&gt; []* [simple_pos="VERB"] :: match.text_publishing_year="1991";</code></pre>
<pre style="margin-top: 0;"><code>Arbitrarily long entity of type PERSON -> Arbitrarily many tokens -> VERB but only within texts with publication year 1991</code></pre>

View File

@ -0,0 +1,169 @@
<h3 class="manual-chapter-title">Query Builder Tutorial</h3>
<p>The query builder helps you to make a query in the form of the Corpus Query
Language (CQL) to your text. You can use the CQL to filter out various types of
text parameters, for example, a specific word, a lemma, or you can set part-of-speech
tags (pos) that indicate the type of word you are looking for (a noun, an
adjective, etc.). In addition, you can also search for structural attributes,
or specify your query for a token (word, lemma, pos) via entity typing. And of
course everything can be combined. You can find examples for different queries
under the tab "Examples".</p>
<p></p>
<br>
<div style="border: 1px solid; padding-left: 20px; margin-right: 400px; margin-bottom: 40px;">
<h5>Content</h5>
<ol style="list-style-type:disc">
<li><a href="#add-new-token-tutorial">Add new token to your query</a></li>
<li><a href="#edit-options-tutorial">Options to edit your query</a></li>
<li><a href="#add-structural-attribute-tutorial">Add structural Attributes to your query</a></li>
<li><a href="#general-options-query-builder">General options</a></li>
</ol>
</div>
{# Add Token Tutorial #}
<div>
<hr>
<p></p>
<br>
<h4 id="add-new-token-tutorial">Add new token to your Query</h4>
<p>If you are only looking for a specific token, you can click on the left
button and select the type of token you are looking for from the drop-down menu.
By default "Word" is selected. </p>
<h5>Word and Lemma</h5>
<p>If you want to search for a specific word or lemma and the respective
category is selected in the drop-down menu, you can type in the word or lemma
of your choice in the input field. You can confirm your entry by clicking the
Submit button on the right. You can also use the options below to modify your
token request before pressing the submit button. These options are explained
further here.</p>
<img src="{{ url_for('static', filename='images/manual/query_builder/word_lemma.gif') }}" alt="word and lemma explanation" width="100%;" style="margin-bottom:20px;">
<br>
<h5>English pos, german pos or simple_pos</h5>
<p>You can choose between the options "english pos", "german pos" and
"simple_pos" to search for different parts-of-speech. You can find an overview
of all tags under the "Tagsets" tab.</p>
<img src="{{ url_for('static', filename='images/manual/query_builder/pos.gif') }}" alt="part-of-speech-tag explanation" width="100%;" style="margin-bottom:20px;">
<h5>Empty Token</h5>
<p>Here you can search for an empty token. This selection should never stand
alone and should always be extended with an incidence modifier or stand in a
larger query, because otherwise all possible tokens would be searched for and
the program would crash.</p>
<p></p>
<br>
</div>
{# Edit Options Tutorial #}
<div>
<hr>
<p></p>
<br>
<h4 id="edit-options-tutorial">Options to edit your token</h4>
<p>You have the possibility to extend or specify your searched token with
certain factors. For this the query builder offers some fixed options. You can
find more information about the options in the Corpus Query Language Tutorial.</p>
<br>
<h5>Wildcard Character</h5>
<p>A wildcard character replaces any character and is represented in the form of a dot. </p>
<br>
<h5>Option Group</h5>
<p>With an option group you can search for different variants of a token. The
variants are not limited, so you can manually enter more options in the same
format. "Option1" and "option2" must be replaced accordingly. </p>
<img src="{{ url_for('static', filename='images/manual/query_builder/option_group.gif') }}" alt="option group explanation" width="100%;" style="margin-bottom:20px;">
<p></p>
<br>
<h5>Incidence Modifiers</h5>
<p>With the Incidence Modifiers you can determine the occurrence of single
tokens. For example you can use "?" to indicate that the token occurs either
not at all or once: <br>
[word = "is"] [word="it"] [word="your"] [word="litte"]? [word = "dog"] <br>
Here the word "little" should occur either once or not at all. With
[word="dogs?"] the search is for "dog "or "dogs". </p>
<br>
<h5>Ignore Case</h5>
<p>With the check mark at Ignore Case the upper and lower case is ignored.
This is marked with a "%c". By default (if not checked) it is case sensitive.</p>
<br>
<h5>"or" & "and"</h5>
<p>"Or" ( | ) and "and" ( & ) are conditions you can put on a token. With "or"
one of the two conditions must be fulfilled, with "and" both conditions must be
fulfilled. For example, the word must be called "will" AND be a verb, only then
it will be displayed. Note that "and" is not responsible for lining up tokens in
this case. For this you can simply string them together: <br>
[word="I"] [word="will" & simple_pos="VERB"] [word="go"].</p>
<img src="{{ url_for('static', filename='images/manual/query_builder/or_and.gif') }}" alt="OR/AND explanation" width="100%;" style="margin-bottom:20px;">
<p></p>
<br>
</div>
{# Add Structural Attributes Tutorial #}
<div>
<hr>
<p></p>
<br>
<h4 id="add-structural-attribute-tutorial">Add structural attributes to your query</h4>
<p>You can use structural attributes to search specifically for structures in
the text or to further narrow down your previous search query. </p>
<br>
<h5>Sentence</h5>
With "Sentence" (<s></s>) you can search for sentences within your text.
This search can of course be specified if you search for particular tokens or
entities between the sentence tags (<s></s>). For example, you can search for
sentences that contain only a noun, verb, and adjective. <br>
After clicking on Sentence you will see a <div class="chip" style="background-color:#FD9720;">Sentence Start</div>.
When you are done with your query or the content
between the Sentence tags, you have to click the Sentence button one more time
to close it. The corresponding button is called
<div class="chip" style="background-color:#FD9720;">Sentence End</div>.<br>
<br>
<h5>Entities</h5>
<p>With entities, i.e. units of meaning, you search for text sections that
follow a certain code. For example, persons, dates, certain events. You can
select the codes using the drop-down menus. You can find an explanation of
the respective abbreviations under the tab "Tagsets". <br>
You can also search for unspecified entities by selecting "Add entity of any type".</p>
To close the entity query you started, you have to click the entity button one more time. This will make the <div class="chip" style="background-color:#A6E22D;">Entity End</div> element appear in your query.
<img src="{{ url_for('static', filename='images/manual/query_builder/entity.gif') }}" alt="entity explanation" width="100%;" style="margin-bottom:20px;">
<p></p>
<br>
<h5>Meta Data</h5>
<p>With the meta data you can annotate your text and add specific conditions.
You can select a category on the left and enter your desired value on the right.
The selected metadata will apply to your entire request and will be added at the end.</p>
<img src="{{ url_for('static', filename='images/manual/query_builder/meta_data.gif') }}" alt="meta data explanation" width="100%;" style="margin-bottom:20px;">
<p></p>
<br>
</div>
{# General Options Tutorial #}
<div>
<hr>
<p></p>
<br>
<h4 id="general-options-query-builder">General Options of the query builder</h4>
<p>You have several options to edit your query after adding it to the preview.</p>
<h5>Deleting the elements</h5>
<p>You can delete the added elements from the query by clicking the X behind the respective content.</p>
<img src="{{ url_for('static', filename='images/manual/query_builder/delete.gif') }}" alt="delete explanation" width="100%;" style="margin-bottom:20px;">
<h5>Move the elements of your query</h5>
<p>You can drag and drop elements to customize your query.</p>
<img src="{{ url_for('static', filename='images/manual/query_builder/drag_and_drop.gif') }}" alt="Drag&Drop explanation" width="100%;" style="margin-bottom:20px;">
</div>

View File

@ -0,0 +1,170 @@
<div id="simple_pos-tagset">
<h5>simple_pos tagset</h5>
<ul>
<li>ADJ: adjective</li>
<li>ADP: adposition</li>
<li>ADV: adverb</li>
<li>AUX: auxiliary verb</li>
<li>CONJ: coordinating conjunction</li>
<li>DET: determiner</li>
<li>INTJ: interjection</li>
<li>NOUN: noun</li>
<li>NUM: numeral</li>
<li>PART: particle</li>
<li>PRON: pronoun</li>
<li>PROPN: proper noun</li>
<li>PUNCT: punctuation</li>
<li>SCONJ: subordinating conjunction</li>
<li>SYM: symbol</li>
<li>VERB: verb</li>
<li>X: other</li>
</ul>
</div>
<div id="english-ent_type-tagset">
<h5>English ent_type tagset</h5>
<ul>
<li>CARDINAL: Numerals that do not fall under another type</li>
<li>DATE: Absolute or relative dates or periods</li>
<li>EVENT: Named hurricanes, battles, wars, sports events, etc.</li>
<li>FAC: Buildings, airports, highways, bridges, etc.</li>
<li>GPE: Countries, cities, states</li>
<li>LANGUAGE: Any named language</li>
<li>LAW: Named documents made into laws.</li>
<li>LOC: Non-GPE locations, mountain ranges, bodies of water</li>
<li>MONEY: Monetary values, including unit</li>
<li>NORP: Nationalities or religious or political groups</li>
<li>ORDINAL: "first" "second" etc.</li>
<li>ORG: Companies, agencies, institutions, etc.</li>
<li>PERCENT: Percentage, including "%"</li>
<li>PERSON: People, including fictional</li>
<li>PRODUCT: Objects, vehicles, foods, etc. (not services)</li>
<li>QUANTITY: Measurements, as of weight or distance</li>
<li>TIME: Times smaller than a day</li>
<li>WORK_OF_ART: Titles of books, songs, etc.</li>
</ul>
</div>
<div id="english-pos-tagset">
<h5>English pos tagset</h5>
<ul>
<li>ADD: email</li>
<li>AFX: affix</li>
<li>CC: conjunction, coordinating</li>
<li>CD: cardinal number</li>
<li>DT: determiner</li>
<li>EX: existential there</li>
<li>FW: foreign word</li>
<li>HYPH: punctuation mark, hyphen</li>
<li>IN: conjunction, subordinating or preposition</li>
<li>JJ: adjective</li>
<li>JJR: adjective, comparative</li>
<li>JJS: adjective, superlative</li>
<li>LS: list item marker</li>
<li>MD: verb, modal auxiliary</li>
<li>NFP: superfluous punctuation</li>
<li>NN: noun, singular or mass</li>
<li>NNP: noun, proper singular</li>
<li>NNPS: noun, proper plural</li>
<li>NNS: noun, plural</li>
<li>PDT: predeterminer</li>
<li>POS: possessive ending</li>
<li>PRP: pronoun, personal</li>
<li>PRP$: pronoun, possessive RB: adverb</li>
<li>RBR: adverb, comparative</li>
<li>RBS: adverb, superlative</li>
<li>RP: adverb, particle</li>
<li>SYM: symbol</li>
<li>TO: infinitival "to"</li>
<li>UH: interjection</li>
<li>VB: verb, base form</li>
<li>VBD: verb, past tense</li>
<li>VBG: verb, gerund or present participle</li>
<li>VBN: verb, past participle</li>
<li>VBP: verb, non-3rd person singular present</li>
<li>VBZ: verb, 3rd person singular present</li>
<li>WDT: wh-determiner</li>
<li>WP: wh-pronoun, personal</li>
<li>WP$: wh-pronoun, possessive</li>
<li>WRB: wh-adverb</li>
<li>XX: unknown</li>
<li>``: opening quotation mark</li>
<li>$: symbol, currency</li>
<li>"": closing quotation mark</li>
<li>: punctuation mark, comma</li>
<li>-LRB-: left round bracket</li>
<li>-RRB-: right round bracket</li>
<li>.: punctuation mark, sentence closer</li>
<li>:: punctuation mark, colon or ellipsis</li>
</ul>
</div>
<div id="german-ent_type-tagset">
<h5>German ent_type tagset</h5>
<ul>
<li>LOC: Non-GPE locations, mountain ranges, bodies of water</li>
<li>MISC: Miscellaneous entities, e.g. events, nationalities, products or works of art</li>
<li>ORG: Companies, agencies, institutions, etc.</li>
<li>PER: Named person or family.</li>
</ul>
</div>
<div id="german-pos-tagset">
<h5>German pos tagset</h5>
<ul>
<li>ADJA: adjective, attributive</li>
<li>ADJD: adjective, adverbial or predicative</li>
<li>ADV: adverb</li>
<li>APPO: postposition</li>
<li>APPR: preposition; circumposition left</li>
<li>APPRART: preposition with article</li>
<li>APZR: circumposition right</li>
<li>ART: definite or indefinite article</li>
<li>CARD: cardinal number</li>
<li>FM: foreign language material</li>
<li>ITJ: interjection</li>
<li>KOKOM: comparative conjunction</li>
<li>KON: coordinate conjunction</li>
<li>KOUI: subordinate conjunction with \zu\ and infinitive</li>
<li>KOUS: subordinate conjunction with sentence</li>
<li>NE: proper noun</li>
<li>NN: noun, singular or mass</li>
<li>NNE: proper noun</li>
<li>PDAT: attributive demonstrative pronoun</li>
<li>PDS: substituting demonstrative pronoun</li>
<li>PIAT: attributive indefinite pronoun without determiner</li>
<li>PIS: substituting indefinite pronoun</li>
<li>PPER: non-reflexive personal pronoun</li>
<li>PPOSAT: attributive possessive pronoun</li>
<li>PPOSS: substituting possessive pronoun</li>
<li>PRELAT: attributive relative pronoun</li>
<li>PRELS: substituting relative pronoun</li>
<li>PRF: reflexive personal pronoun</li>
<li>PROAV: pronominal adverb</li>
<li>PTKA: particle with adjective or adverb</li>
<li>PTKANT: answer particle</li>
<li>PTKNEG: negative particle</li>
<li>PTKVZ: separable verbal particle</li>
<li>PTKZU: "zu" before infinitive</li>
<li>PWAT: attributive interrogative pronoun</li>
<li>PWAV: adverbial interrogative or relative pronoun</li>
<li>PWS: substituting interrogative pronoun</li>
<li>TRUNC: word remnant</li>
<li>VAFIN: finite verb, auxiliary</li>
<li>VAIMP: imperative, auxiliary</li>
<li>VAINF: infinitive, auxiliary</li>
<li>VAPP: perfect participle, auxiliary</li>
<li>VMFIN: finite verb, modal</li>
<li>VMINF: infinitive, modal</li>
<li>VMPP: perfect participle, modal</li>
<li>VVFIN: finite verb, full</li>
<li>VVIMP: imperative, full</li>
<li>VVINF: infinitive, full</li>
<li>VVIZU: infinitive with "zu" full</li>
<li>VVPP: perfect participle, full</li>
<li>XY: non-word containing non-letter</li>
<li>$(: other sentence-internal punctuation mark</li>
<li>$,: comma</li>
<li>$.: sentence-final punctuation mark</li>
</ul>
</div>