remove manual modal

This commit is contained in:
Patrick Jentsch
2024-05-27 16:58:51 +02:00
parent fe0fcb0e10
commit a65b1ff578
17 changed files with 615 additions and 564 deletions

View File

@ -1,9 +0,0 @@
<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

@ -1,18 +0,0 @@
<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

@ -1,46 +0,0 @@
<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. One can search for jobs as well as corpus listings 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 Natural Language
Processing service. It contains, in addition to the text,
further annotations that are searchable in combination with optional
metadata that can be added 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

@ -1,52 +0,0 @@
<h3 class="manual-chapter-title">Services</h3>
<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>Coming soon...</p>
<h4>Handwritten Text Recognition (HTR)</h4>
<p>Coming soon...</p>
<h4>Natural Language Processing (NLP)</h4>
<p>Coming 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

@ -1,47 +0,0 @@
<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 magnifier icon next to a match.
</p>

View File

@ -1,161 +0,0 @@
<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

@ -1,211 +0,0 @@
<h3 class="manual-chapter-title">Query Builder Tutorial</h3>
<h4>Overview</h4>
<p>The query builder can be accessed via "My Corpora" or "Corpus Analysis" in the sidebar options.
Select the desired corpus and click on the "Analyze" and then "Concordance"
buttons to open the query builder.</p>
<p>The query builder uses the Corpus Query Language (CQL) to help you make a query for analyzing your texts.
In this way, it is possible 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, the different text parameters can be combined.</p>
<p>Tokens and structural attributes can be added by clicking on the "+" button
(the "input marker") in the input field or the labeled buttons below it. Elements
added are shown as chips. These can be reorganized using drag and drop. The input
marker can also be moved in this way. Its position shows where new elements will be added. <br>
A "translation" of your query into Corpus Query Language (CQL) is shown below.</p>
<p>Advanced users can make direct use of the Corpus Query Language (CQL) by switching to "expert mode" via the toggle button.</p>
<p>The entire input field can be cleared using the red trash icon on the right.</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 a new token to your query</a></li>
<li><a href="#edit-options-tutorial">Options for editing 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>
<br>
<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;">
<br>
<h5>Empty Token</h5>
<p>Here you can search for a token with unspecified attributes (also called wildcard 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>
<br>
</div>
{# Edit Options Tutorial #}
<div>
<hr>
<p></p>
<br>
<h4 id="edit-options-tutorial">Options for editing your query</h4>
<p>You have the possibility to extend or specify the token you are searching for 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;">
<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>Tokens that have already been added can also be modified by clicking on the corresponding
pen icon. Click on the "ignore case" box, for example, and the query builder will
not differentiate between upper- and lower- case letters for that respective token.
New conditions added apply to the most recent token information.</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>
Click on Sentence to add the sentence chips: <div class="chip" style="background-color:#FD9720;">Sentence Start</div>
and <div class="chip" style="background-color:#FD9720;">Sentence End</div>.
These mark where the sentence starts and ends. Use drag-and-drop to place them accordingly. When
the Sentence attribute is added, the input marker will automatically be
moved between the sentence chips. Use drag-and-drop as needed to continue your query
at a different position.
<br>
<h5>Entities</h5>
<p>With entities, i.e. units of meaning, you can search for text sections that
contain more specific information, for example, persons, dates, or events. The
codes for these categories can be selected using the drop-down menus. You can find an explanation of
these abbreviations under the tab "Tagsets". <br>
You can also search for unspecified entities by selecting "Add entity of any type".</p>
Click on the Entity button to add the entity chips <div class="chip" style="background-color:#A6E22D;">Entity Type=</div> and <div class="chip" style="background-color:#A6E22D;">Entity End</div>.
<p>The entity type can be changed by clicking on the pen symbol on the chip. When
the Entity attribute is added, the input marker will automatically be
moved between the entity chips. Use drag-and-drop as needed to continue your query
at a different position.</p>
<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 (currently unavailable)</h5>
<p>The meta data function is being worked on and cannot currently be used!
<br>
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>
<br>
<h5>Editing the elements</h5>
<p>You can edit your query chips by clicking on the pen icon.</p>
<img src="{{ url_for('static', filename='images/manual/query_builder/editing_chips.gif') }}" alt="editing explanation" width="100%;" style="margin-bottom:20px;">
<br>
<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;">
<br>
<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;">
<br>
<h5>Setting an incidence modifier</h5>
<p>With the incidence modifier option, you can specify the amount of
times a token should appear in your query. This is particularly relevant for empty
tokens (tokens with unspecified attributes). Click on a token (blue chip) and
select the desired option from the list to add an incidence modifier. To
close the list without adding anything, click on the token again.</p>
<img src="{{ url_for('static', filename='images/manual/query_builder/incidence_modifier.gif') }}" alt="incidence modifier explanation" width="100%;" style="margin-bottom:20px;">
<br>
<h5>Switching between Query Builder and Expert mode</h5>
<p>To work with the plain Corpus Query Language instead of using the Query Builder, click on the "expert mode"
switch. Your query can be entered into the input field. All elements previously added will be carried over
into expert mode. Click on the switch again to switch back to the Query Builder if desired. All recognized elements
will be parsed into chips; those not recognized will be deleted from the query.</p>
<img src="{{ url_for('static', filename='images/manual/query_builder/expert_mode.gif') }}" alt="expert mode explanation" width="100%;" style="margin-bottom:20px;">
</div>

View File

@ -1,170 +0,0 @@
<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>

View File

@ -1,50 +0,0 @@
<div id="manual-modal" class="modal no-autoinit">
<div class="modal-content">
<h2>Manual</h2>
<ul class="tabs" id="manual-modal-toc">
<li class="tab"><a href="#manual-modal-introduction">Introduction</a></li>
<li class="tab"><a href="#manual-modal-registration-and-log-in">Registration and Log in</a></li>
<li class="tab"><a href="#manual-modal-dashboard">Dashboard</a></li>
<li class="tab"><a href="#manual-modal-services">Services</a></li>
<li class="tab"><a href="#manual-modal-a-closer-look-at-the-corpus-analysis">A closer look at the Corpus Analysis</a></li>
<li class="tab"><a href="#manual-modal-cqp-query-language">CQP Query Language</a></li>
<li class="tab"><a href="#manual-modal-query-builder">Query Builder</a></li>
<li class="tab"><a href="#manual-modal-tagsets">Tagsets</a></li>
</ul>
<div id="manual-modal-introduction">
<br>
{% include "_base/_modals/_manual/01_introduction.html.j2" %}
</div>
<div id="manual-modal-registration-and-log-in">
<br>
{% include "_base/_modals/_manual/02_registration_and_log_in.html.j2" %}
</div>
<div id="manual-modal-dashboard">
<br>
{% include "_base/_modals/_manual/03_dashboard.html.j2" %}
</div>
<div id="manual-modal-services">
<br>
{% include "_base/_modals/_manual/06_services.html.j2" %}
</div>
<div id="manual-modal-a-closer-look-at-the-corpus-analysis">
<br>
{% include "_base/_modals/_manual/07_a_closer_look_at_the_corpus_analysis.html.j2" %}
</div>
<div id="manual-modal-cqp-query-language">
<br>
{% include "_base/_modals/_manual/08_cqp_query_language.html.j2" %}
</div>
<div id="manual-modal-query-builder">
<br>
{% include "_base/_modals/_manual/09_query_builder.html.j2" %}
</div>
<div id="manual-modal-tagsets">
<br>
{% include "_base/_modals/_manual/10_tagsets.html.j2" %}
</div>
</div>
<div class="modal-footer">
<a href="#!" class="modal-close waves-effect waves-green btn-flat">Close</a>
</div>
</div>

View File

@ -1,5 +1,3 @@
{% include "_base/_modals/manual.html.j2" %}
{% if current_user.is_authenticated and not current_user.terms_of_use_accepted %}
{% include "_base/_modals/terms_of_use.html.j2" %}
{% endif %}

View File

@ -17,7 +17,7 @@
</li>
{% endif %}
<li>
<a class="waves-effect modal-trigger" href="#manual-modal"><i class="material-icons">school</i>Manual</a>
<a class="waves-effect" href="{{ url_for('main.manual') }}"><i class="material-icons">school</i>Manual</a>
</li>
<li>
<a class="waves-effect" href="{{ url_for('main.news') }}"><i class="material-icons">email</i>News</a>