FGHO Sommerschule 2023 Aufgaben

This commit is contained in:
Inga Kirschnick 2023-07-25 17:16:20 +02:00
parent 2dd6015ba6
commit adfd229e66

View File

@ -1,22 +1,66 @@
<h2>Workshop Aufgaben</h2> <h2>Workshop Aufgaben</h2>
<p>Hallo liebe Inga</p>
<h3>Aufgabe 1</h3> <h3>Aufgabenblock 1</h3>
<p> <p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 1. Ich möchte alle Ergebnisse für den Begriff "jüdisch" finden. Groß- und
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam Kleinschreibung soll dabei nicht berücksichtigt werden. Bei der richtigen
voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet Abfrage gibt es 5 Ergebnisse.
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p> </p>
<div class="row">
<div class="col s2">
<span class="btn waves-effect waves-light solution-button">Lösung</span>
</div>
<div class="col s10 solution-field hide">
<pre style="margin-top: 7px;"><code>[word="jüdisch" %c];</code></pre>
</div>
</div>
<p>
2. Ich möchte jetzt in einer einzigen Suchabfrage alle Ergebnisse für die
Begriffe "jüdisch", aber auch "Juden" und "jüdischer" usw. finden. Bei der
richtigen Abfrage müsste es dafür 118 Ergebnisse geben.
</p>
<div class="row">
<div class="col s2">
<span class="btn waves-effect waves-light solution-button">Lösung</span>
</div>
<div class="col s10 solution-field hide">
<pre style="margin-top: 7px;"><code>[word="j(u|ü)d.*" %c];</code></pre>
</div>
</div>
<p>
3. Ich möchte in einer einzigen Suchabfrage alle Ergebnisse für den Begriff
"judisch" (in sämtlichen Ableitungen s.o.) im Zusammenhang mit dem Begriff
(ebenfalls sämtliche Ableitungen) "Freund" herausfiltern. Dazwischen sollen
0 bis 10 Wörter auftauchen. Es gibt 1 Ergebnis bei der richtigen Abfrage.
</p>
<div class="row">
<div class="col s2">
<span class="btn waves-effect waves-light solution-button">Lösung</span>
</div>
<div class="col s10 solution-field hide">
<pre style="margin-top: 7px;"><code>[word="j(u|ü)d.*" %c] []{0,10} [word="freund.*" %c];</code></pre>
</div>
</div>
<p>
4. Ich möchte zuletzt in einer einzigen Suchanfrage alle Ergebnisse für
entweder "jüdisch" oder "deutsch" (in sämtlichen Ableitungen) und "Leben"
herausfiltern. Dazwischen sollen wieder 0 bis 10 Wörter auftauchen.
Es gibt wieder ein Ergebnis.
</p>
<div class="row">
<div class="col s2">
<span class="btn waves-effect waves-light solution-button">Lösung</span>
</div>
<div class="col s10 solution-field hide">
<pre style="margin-top: 7px;"><code>[word="j(u|ü)d.*" %c | word="deutsch.*" %c] []{0,10} [word=".*freund.*" %c];</code></pre>
</div>
</div>
<ul class="collapsible"> <ul class="collapsible">
<li> <li>
<div class="collapsible-header">Tipp 1</div> <div class="collapsible-header">Tipp 1</div>
<div class="collapsible-body"> <div class="collapsible-body">
<p> <p>
<pre><code>[word="lorem"];</code></pre> Wörter können über den Query Builder > "Add new Token to your Query" hinzugefügt werden. Unten kann der Haken bei "Ignore Case" gesetzt werden um Groß- und Kleinschreibung zu ignorieren.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.
</p> </p>
</div> </div>
</li> </li>
@ -24,42 +68,87 @@
<div class="collapsible-header">Tipp 2</div> <div class="collapsible-header">Tipp 2</div>
<div class="collapsible-body"> <div class="collapsible-body">
<p> <p>
<pre><code>[word="lorem"];</code></pre> Über die Option Group lassen sich auch Buchstaben in der Suche definieren. So könnte als erste Option "u" und als zweite Option "ü" definiert werden. Die Suche würde dann nach beiden Varianten suchen.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy Um beliebig viele Buchstaben zu finden, kann ein Wildcard-Charakter (".") verwendet werden, gefolgt von dem Incidence Modifier "zero or more" ("*"). Damit sind beliebig viele Buchstaben jeglicher Art möglich.
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam <pre><code>[word="l(o|u)r.*"];</code></pre> würde z.B. nach "lora", "lura", "lurum" usw. suchen.
voluptua.
</p> </p>
</div> </div>
</li> </li>
<li> <li>
<div class="collapsible-header">Lösung</div> <div class="collapsible-header">Tipp 3</div>
<div class="collapsible-body"> <div class="collapsible-body">
<p> <p>
<pre><code>[word="lorem"];</code></pre> Um eine bestimmte Anzahl Wörter anzeigen zu lassen, die einen beliebigen
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy Inhalt haben dürfen, kann mit einem Empty Token (also einem nicht definiertem Token)
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam gerarbeitet werden. Den kann man über das Dropdown "Which kind of token are you looking for?"
voluptua. hinzugefügt werden. Dem leeren Token kann dann ein Incidence Modifier zugewiesen werden, der
die Anzahl der Wörter auf 0 bis 10 begrenzt (between n and m).
<pre><code>[]{0,10};</code></pre>
</p>
</div>
</li>
<li>
<div class="collapsible-header">Tipp 4</div>
<div class="collapsible-body">
<p>
Wenn entweder das eine oder das andere Wort auftauchen soll, kann der "OR"-Operator in der unteren Options-Leiste verwendet werden.
Dann kann ein zweiter Wert eingetragen werden. Einer von beiden muss dann auftauchen.
<pre><code>[word="lorem" %c | word="ipsum" %c];</code></pre>
</p> </p>
</div> </div>
</li> </li>
</ul> </ul>
<h3>Aufgabe 2</h3> <h3>Aufgabenblock 2</h3>
<p> <p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 1. Ich möchte in einer Suchanfrage alle Ergebnisse für Wortfolgen, in denen
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam das Wort "jüdisch" (mit sämtlichen Ableitungen) vorkommt. Vor dem Wort
voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet soll ein Adjektiv auftauchen auf das 0-5 Wörter folgen sollen. Die
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. richtige Abfrage ergibt 36 Ergebnisse.
</p> </p>
<div class="row">
<div class="col s2">
<span class="btn waves-effect waves-light solution-button">Lösung</span>
</div>
<div class="col s10 solution-field hide">
<pre style="margin-top: 7px;"><code>[simple_pos="ADJ"] []{0,5} [word="j(u|ü)d.*" %c];</code></pre>
</div>
</div>
<p>
2. Ich möchte in einer Suchanfrage alle Ergebnisse für Wortfolgen, in denen
das Wort "jüdisch" (mit sämtlichen Ableitungen) ein Adjektiv ist und direkt
von einem Nomen gefolgt wird. Die richtige Abfrage ergibt 27 Ergebnisse.
</p>
<div class="row">
<div class="col s2">
<span class="btn waves-effect waves-light solution-button">Lösung</span>
</div>
<div class="col s10 solution-field hide">
<pre style="margin-top: 7px;"><code>[word="j(u|ü)d.*" %c & simple_pos="ADJ"] [simple_pos="NOUN"];</code></pre>
</div>
</div>
<p>
3. Ich möchte eine Suchanfrage aller Ergebnisse für Wortfolgen, in denen das
Wort "jüdisch" (mit sämtlichen Ableitungen) von dem Lemma "sein" gefolgt
wird. Dazwischen dürfen 5 beliebige Wörter vorkommen. Die richtige Abfrage
ergibt 16 Ergebnisse.
</p>
<div class="row">
<div class="col s2">
<span class="btn waves-effect waves-light solution-button">Lösung</span>
</div>
<div class="col s10 solution-field hide">
<pre style="margin-top: 7px;"><code>[word="J(u|ü)d.*" %c] []{0,5} [lemma="sein" %c];</code></pre>
</div>
</div>
<ul class="collapsible"> <ul class="collapsible">
<li> <li>
<div class="collapsible-header">Tipp 1</div> <div class="collapsible-header">Tipp 1</div>
<div class="collapsible-body"> <div class="collapsible-body">
<p> <p>
<pre><code>[word="lorem"];</code></pre> Über die Token-Suchauswahl kann "simple_pos" ausgewählt werden. Darüber
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy findet man sämtliche Werte, zum Beispiel "ADJ" für Adjektive oder "NOUN" für Nomen.
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.
</p> </p>
</div> </div>
</li> </li>
@ -67,42 +156,92 @@
<div class="collapsible-header">Tipp 2</div> <div class="collapsible-header">Tipp 2</div>
<div class="collapsible-body"> <div class="collapsible-body">
<p> <p>
<pre><code>[word="lorem"];</code></pre> Dem Wort kann eine zweite Token-Eingrenzung hinzugefügt werden. Dafür nutzen wir den
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy "AND"-Operator. Dort können wir über die Token-Suchauswahl "simple_pos" auswählen und
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam dann einen Wert hinzufügen. Somit muss das gesuchte Wort
voluptua. ebenfalls den simple_pos-Wert haben, also zum Beispiel ein Adjektiv sein.
<pre><code>[word="lorem" & simple_pos="NOUN"];</code></pre>
</p> </p>
</div> </div>
</li> </li>
<li> <li>
<div class="collapsible-header">Lösung</div> <div class="collapsible-header">Tipp 3</div>
<div class="collapsible-body"> <div class="collapsible-body">
<p> <p>
<pre><code>[word="lorem"];</code></pre> Ich kann ebenfalls nach der Grundform (Lemma) eines Wortes suchen. Dafür
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy muss ich in der Token-Suchauswahl "lemma" auswählen und dann den Wert - genau wie beim "word" -
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam eintragen.
voluptua. <pre><code>[lemma="lorem" %c];</code></pre>
</p> </p>
</div> </div>
</li> </li>
</ul> </ul>
<h3>Aufgabe 3</h3> <h3>Aufgabenblock 3</h3>
<p> <p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 1. Ich möchte in einer Suchanfrage alle Ergebnisse für "jüdisch"
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam (in sämtlichen Ableitungen) im Zusammenhang mit dem Lemma "sprechen"
voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet (in sämtlichen Ableitungen, also auch "besprechen", "versprechen" usw.)
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. erhalten. Dabei möchte ich nur Ergebnisse innerhalb eines Satzes berücksichtigen.
Vor, zwischen und nach den Begriffen dürfen beliebig viele Wörter auftauchen.
Die richtige Abfrage ergibt 2 Treffer.
</p> </p>
<div class="row">
<div class="col s2">
<span class="btn waves-effect waves-light solution-button">Lösung</span>
</div>
<div class="col s10 solution-field hide">
<pre style="margin-top: 7px;"><code>&lt;s&gt; []* [word="j(u|ü)d.*" %c] []* [lemma=".*sprechen.*" %c] []* &lt;/s&gt;</code></pre>
</div>
</div>
<p>
2. Ich möchte in einer Suchanfrage alle Ergebnisse für Sätze, in denen eine
Person im Zusammenhang mit dem Lemma "helfen" (in sämtlichen Schreibweisen,
also auch "verhelfen" etc.) vorkommt. Vor, zwischen und nach den gesuchten
Werten dürfen beliebig viele Wörter vorkommen. Der als Person deklarierte
Wert darf ebenfalls beliebig lang sein. Die richtige Abfrage ergibt 6 Treffer.
</p>
<div class="row">
<div class="col s2">
<span class="btn waves-effect waves-light solution-button">Lösung</span>
</div>
<div class="col s10 solution-field hide">
<pre style="margin-top: 7px;"><code>&lt;s&gt;[]* &lt;ent_type="PER"&gt; []* &lt;/ent_type&gt; []* [lemma=".*helfen.*" %c] []* &lt;/s&gt;;</code></pre>
</div>
</div>
<p>
3. Ich möchte in einer Suchabfrage alle Ergebnisse für Sätzen in denen der
Begriff "jüdisch" (in sämtlichen Ableitungen) im Zusammenhang mit einer
Organisation auftaucht. Vor, zwischen und nach den gesuchten Werten dürfen
beliebig viele Wörter vorkommen. Der als Person deklarierte Wert darf
ebenfalls beliebig lang sein. Die richtige Abfrage ergibt 4 Treffer.
</p>
<div class="row">
<div class="col s2">
<span class="btn waves-effect waves-light solution-button">Lösung</span>
</div>
<div class="col s10 solution-field hide">
<pre style="margin-top: 7px;"><code>&lt;s&gt;[]* [word="j(u|ü)d.*" %c][]* &lt;ent_type="ORG"&gt; []* &lt;/ent_type&gt; []*&lt;/s&gt;;</code></pre>
</div>
</div>
<ul class="collapsible"> <ul class="collapsible">
<li> <li>
<div class="collapsible-header">Tipp 1</div> <div class="collapsible-header">Tipp 1</div>
<div class="collapsible-body"> <div class="collapsible-body">
<p> <p>
<pre><code>[word="lorem"];</code></pre> Ich kann über den Button "Add structural attributes to your query" umschließende
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy Satz-Tags setzen. Dafür muss ich auf den Button "Sentence" klicken und nachdem ich meine Anfrage
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam erstellt habe wieder auf "End Sentence" an der gleichen Stelle.
voluptua. </p>
<p>
Wenn ich mit Sätzen arbeite, darf ich nicht die Platzhalter-Token ("<code>[]*</code>") vergessen, da sonst
ausschließlich Sätze mit genau den gesuchten Wörtern gefunden werden.
</p>
<p>
Wir haben bisher nur mit beliebigen Endungen eines Wortes in Form von
<code>[word="lore.*"]</code> gearbeitet. Das gleiche funktioniert auch am
Anfang eines Wortes, indem ich beliebig viele Wildcard-Character an den Anfang
der Wortes setze: <code>[word=".*rem"]</code>.
</p> </p>
</div> </div>
</li> </li>
@ -110,22 +249,23 @@
<div class="collapsible-header">Tipp 2</div> <div class="collapsible-header">Tipp 2</div>
<div class="collapsible-body"> <div class="collapsible-body">
<p> <p>
<pre><code>[word="lorem"];</code></pre> Über den Button "Add structural attributes to your query" kann ich auch Entitäten bestimmen.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy Für unser Beispiel arbeiten wir ausschließlich mit den german ent_types. Deren Definitionen kann ich
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam mir in den Tagset-Listen anschauen. Hier kann ich dann die gewünschte Entität auswählen. Wenn
voluptua. der gesuchte Wert beliebig sein darf, muss ich zwischen den öffnenden und schließenden ent-tag ein
</p> Platzhalter-Token setzen, das beliebig lang sein darf ("<code>[]*</code>").
</div> <pre><code>&lt;ent_type="LOC"&gt; []* &lt;/ent_type&gt;</code></pre>
</li>
<li>
<div class="collapsible-header">Lösung</div>
<div class="collapsible-body">
<p>
<pre><code>[word="lorem"];</code></pre>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.
</p> </p>
</div> </div>
</li> </li>
</ul> </ul>
<script>
let solutionButtons = document.querySelectorAll('.solution-button');
solutionButtons.forEach((button) => {
button.addEventListener('click', (event) => {
let solutionField = event.target.parentElement.parentElement.querySelector('.solution-field');
solutionField.classList.toggle('hide');
});
});
</script>