Aktionen

Maschinelles Dichten: Unterschied zwischen den Versionen

Aus exmediawiki

 
(58 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
[[AI@exLabIII|Seminar]], '''31.10.2019'''
 
=KHM-Wolke=
 
=KHM-Wolke=
 
Anleitung: [[KHM-Wolke einrichten]]
 
Anleitung: [[KHM-Wolke einrichten]]
Zeile 7: Zeile 8:
 
* Eigener Kalender, Passwortcontainer, Mindmaps etc.
 
* Eigener Kalender, Passwortcontainer, Mindmaps etc.
 
* Frontend für euren E-Mail Account
 
* Frontend für euren E-Mail Account
 +
<!--
 
----
 
----
 
'''Link zu unserem Seminars-Filesharing-Ordner:''' '''[https://wolke.khm.de/index.php/s/oqZMPmgS9M8Yw9m Seminars-Cloud]''' oder neuer link???
 
'''Link zu unserem Seminars-Filesharing-Ordner:''' '''[https://wolke.khm.de/index.php/s/oqZMPmgS9M8Yw9m Seminars-Cloud]''' oder neuer link???
 +
 
----
 
----
 
'''Experimentelle Informatik - Kalender:''' https://wolke.khm.de/index.php/apps/calendar/p/n6a59z9AnKKnFgTz/exLabIII
 
'''Experimentelle Informatik - Kalender:''' https://wolke.khm.de/index.php/apps/calendar/p/n6a59z9AnKKnFgTz/exLabIII
 
* '''''...zum Download im *.ics Format:''''' https://wolke.khm.de/remote.php/dav/public-calendars/n6a59z9AnKKnFgTz?export
 
* '''''...zum Download im *.ics Format:''''' https://wolke.khm.de/remote.php/dav/public-calendars/n6a59z9AnKKnFgTz?export
 
+
---->
----
+
--
  
 
=Vorstellungsrunde=
 
=Vorstellungsrunde=
Zeile 19: Zeile 22:
 
Frage1 an euch:
 
Frage1 an euch:
 
* was richtete eure aufmerksamkeit in den letzten tagen/wochen/monaten besonders auf sich? d.h. welche debatten, news, diskussionen mit euren freunden/bekannten in diesem kontext?
 
* was richtete eure aufmerksamkeit in den letzten tagen/wochen/monaten besonders auf sich? d.h. welche debatten, news, diskussionen mit euren freunden/bekannten in diesem kontext?
 +
* wie lautet deine künstlerische Fragestellung?
 +
<!--
 
----
 
----
 
  human@machine $ whoami
 
  human@machine $ whoami
Zeile 36: Zeile 41:
 
* Oktober 2018: https://www.heise.de/newsticker/meldung/Amazon-KI-zur-Bewerbungspruefung-benachteiligte-Frauen-4189356.html
 
* Oktober 2018: https://www.heise.de/newsticker/meldung/Amazon-KI-zur-Bewerbungspruefung-benachteiligte-Frauen-4189356.html
 
** Amazon: KI zur Bewerbungsprüfung benachteiligte Frauen - Ein automatisches Bewertungssystem von Bewerbungen bei Amazon wurde größtenteils eingestampft, nachdem der US-Konzern mitbekommen hatte, dass die KI Frauen systematisch benachteiligte. Das geht aus einem [https://www.reuters.com/article/us-amazon-com-jobs-automation-insight/amazon-scraps-secret-ai-recruiting-tool-that-showed-bias-against-women-idUSKCN1MK08G Bericht der Nachrichtenagentur Reuters] hervor. Demnach war seit 2014 intern ein Algorithmus entwickelt worden, der unter mehreren Bewerbungstexten automatisch jene der vielversprechendsten Bewerber herausfiltern sollte.
 
** Amazon: KI zur Bewerbungsprüfung benachteiligte Frauen - Ein automatisches Bewertungssystem von Bewerbungen bei Amazon wurde größtenteils eingestampft, nachdem der US-Konzern mitbekommen hatte, dass die KI Frauen systematisch benachteiligte. Das geht aus einem [https://www.reuters.com/article/us-amazon-com-jobs-automation-insight/amazon-scraps-secret-ai-recruiting-tool-that-showed-bias-against-women-idUSKCN1MK08G Bericht der Nachrichtenagentur Reuters] hervor. Demnach war seit 2014 intern ein Algorithmus entwickelt worden, der unter mehreren Bewerbungstexten automatisch jene der vielversprechendsten Bewerber herausfiltern sollte.
 +
-->
 +
----
  
----
 
 
=Exkursion/Gäste in diesem Semester=
 
=Exkursion/Gäste in diesem Semester=
  
Zeile 45: Zeile 51:
 
Imi-nocyb.png|Christoph Marischika 05.12.2019 [[AI@exLabIII#Krieg & KI]]
 
Imi-nocyb.png|Christoph Marischika 05.12.2019 [[AI@exLabIII#Krieg & KI]]
 
Fiffkon19web.jpg|Fiffkon 22.-24.11. [[AI@exLabIII#Exkursion]]
 
Fiffkon19web.jpg|Fiffkon 22.-24.11. [[AI@exLabIII#Exkursion]]
 +
Fingerprintfam.png|Workshop und Diskussion mit Matthias Burba und Klaus Fritze in [[DNA phenotyping]], Freitags @ [[Open Lab]]
 
</gallery>
 
</gallery>
  
 
----
 
----
 +
 
=Projektpräsentation - Verena Lercher=
 
=Projektpräsentation - Verena Lercher=
 
[http://www.verenalercher.com/ Verena Lercher] stellt ihre künstlerische Arbeit vor:  
 
[http://www.verenalercher.com/ Verena Lercher] stellt ihre künstlerische Arbeit vor:  
Zeile 53: Zeile 61:
  
 
----
 
----
 +
==Ross Goodwin on the Road==
 +
Not a poet.
 +
 +
Ross Goodwin is an Artist, creative technologist, hacker, gonzo data scientist, writer of writers. Graduate of NYU ITP & MIT; former Obama administration ghostwriter. Employs machine learning, natural language processing, other computational tools to realize new forms & interfaces for written language.
 +
 +
<big>'''wordcar'''</big>
 +
https://github.com/rossgoodwin/wordcar
 +
 +
<embedvideo service="youtube">https://www.youtube.com/watch?v=TqsW0PMd8R0</embedvideo>
 +
 +
Artikel:
 +
* https://medium.com/artists-and-machine-intelligence/ai-poetry-hits-the-road-eb685dfc1544
 +
* https://bombmagazine.org/articles/ross-goodwins-1-the-road/
 +
* https://fm4.orf.at/stories/2874687/
 +
 
=Jupyter Notebooks Einführung=
 
=Jupyter Notebooks Einführung=
 
Offizielle Dokumentation: https://jupyter-notebook.readthedocs.io/en/stable/index.html
 
Offizielle Dokumentation: https://jupyter-notebook.readthedocs.io/en/stable/index.html
  
 +
Jupyter ist eine Webapplikation, die das Arbeiten mit sogenannten Jupyter Notebooks ermöglicht.
 +
In Jupyter Notebooks kann man neben Code (nicht nur Python) auch formatierten Text, Links,
 +
Bilder, Videos und interaktive Widgets generieren, laufen lassen und exportieren.
 +
Neben der modernen Jupyter-Umgebung kann man Python auch im klassichen Interface “Editor + Command Line” verwenden.
 +
 +
----
 
==Markdown Syntax==
 
==Markdown Syntax==
{| class="wikitable toptextcells"
 
! colspan="2"| Textgestaltung
 
|- class="hintergrundfarbe8"
 
! width="50%"| Ausgangsform
 
! width="50%"| Zielform
 
|-
 
|
 
<pre>
 
Normaler Text wird so dargestellt wie eingegeben.
 
  
Eine Leerzeile erzeugt einen Absatz.
+
Markdown hat Ähnlichkeiten mit einer Computersprache, ist aber wesentlich einfacher konzipiert und soll so für jeden verständlich sein. Markdown ermöglicht es, Texte im Web zu formatieren, ohne das betreffende Dokument dazu mit eckigen Klammern, Befehlen und sonstigen Kommandos zu überfluten, wie man sie für ein gestyltes HTML-Dokument normalerweise benötigt.
</pre>
+
 
| Normaler Text wird so dargestellt wie eingegeben.
+
Am besten zeigen sich die Vorteile von Markdown in einem Praxisbeispiel. Zwei Absätze mit Text und einer Überschrift sollen gestylt werden – der erste kursiv, und der Zweite gefettet. In klassischem HTML müsste man eigentlich folgenden Code verfassen:
 +
----
 +
<nowiki>
 +
<h2>Markdown-Test</h2></nowiki>
 +
<br>
 +
<nowiki>
 +
<p><strong>Dieser Text soll fett geschrieben werden.</strong></p></nowiki>
 +
<br>
 +
<nowiki>
 +
<p><em>Und dieser Absatz soll kursiv angezeigt werden.</em></p></nowiki>
 +
----
 +
In Markdown würde das obere Beispiel wie folgt aussehen:
 +
----
 +
## Markdown-Test
 +
**Dieser Text soll fett geschrieben werden.**
 +
*Und dieser Absatz soll kursiv angezeigt werden.*
 +
----
 +
* zum Ausprobieren, siehe Notebook in Cloud: '''Markdown-basics.ipynb'''
 +
 
 +
'''Markdown hilfe:'''
 +
* https://help.github.com/en/articles/basic-writing-and-formatting-syntax
 +
advanced:
 +
*https://help.github.com/en/articles/working-with-advanced-formatting
 +
 
 +
*https://www.markdownguide.org/
 +
*https://sourceforge.net/p/bexpred/wiki/markdown_syntax/
 +
 
 +
----
 +
=erste Schritte mit Python=
 +
 
 +
=== Variablen setzen ===
  
Eine Leerzeile erzeugt einen Absatz.
+
var_string = "null"
|-
+
var_int = 0
|<code> Zwei oder mehr Leerzeichen am Ende der Zeile<span class="hintergrundfarbe6">&nbsp;&nbsp;</span></code>
 
<code>erzeugen einen Zeilenumbruch.</code>
 
| Zwei oder mehr Leerzeichen am Ende der Zeile<br />erzeugen einen Zeilenumbruch.<br />
 
  
|-
+
=== Ausgaben mit ''print()'' ===
| <code>*Kursiv*, **Fett** und ***Fett kursiv***</code> bzw.<br />
+
print(var_int)
<code>_Kursiv_, __Fett__ und ___Fett kursiv___</code>
 
| ''Kursiv'', '''Fett''' und '''''Fett kursiv''''' bzw.<br />
 
''Kursiv'', '''Fett''' und '''''Fett kursiv'''''
 
|-
 
| <code>Markiert Text als `Inline-Quelltext`</code>
 
| Markiert Text als <code>Inline-Quelltext</code>
 
|-
 
|
 
<pre>
 
Ein normaler Absatz
 
  
    Ein Code-Block
+
print("Hallo Welt")
    durch Einrückung
 
    mit vier Leerzeichen
 
</pre>
 
| Ein normaler Absatz
 
  
&nbsp;&nbsp;&nbsp;&nbsp;<code>Ein Code-Block</code><br />
+
=== Eingaben mit ''input()''===  
&nbsp;&nbsp;&nbsp;&nbsp;<code>durch Einrückung</code><br />
+
Text:
&nbsp;&nbsp;&nbsp;&nbsp;<code>mit vier Leerzeichen</code>
+
input("Schreibe ein Wort:")
|-
 
|
 
<pre>
 
* Ein Punkt in einer ungeordneten Liste
 
* Ein weiterer Punkt in einer ungeordneten Liste
 
    * Ein Unterpunkt, um vier Leerzeichen eingerückt
 
* Statt * funktionieren auch + oder -
 
</pre>
 
|
 
* Ein Punkt in einer ungeordneten Liste
 
* Ein weiterer Punkt in einer ungeordneten Liste
 
** Ein Unterpunkt, um vier Leerzeichen eingerückt
 
* Statt * funktionieren auch + oder -
 
|-
 
|
 
<pre>
 
1. Ein Punkt in einer geordneten Liste
 
2. Ein weiterer Punkt; bei der Eingabe muss nicht auf irgendeine Reihenfolge geachtet werden, sondern nur darauf, dass es beliebige Ziffern sind
 
1. Noch ein Punkt, der zeigt, dass auch die mehrfache Angabe derselben Ziffer möglich ist
 
</pre>
 
|
 
# Ein Punkt in einer geordneten Liste
 
# Ein weiterer Punkt; bei der Eingabe muss nicht auf irgendeine Reihenfolge geachtet werden, sondern nur darauf, dass es beliebige Ziffern sind
 
# Noch ein Punkt, der zeigt, dass auch die mehrfache Angabe derselben Ziffer möglich ist
 
|-
 
|colspan="2"| HTML-Überschriften werden erzeugt, indem man die Zeile mit [[Doppelkreuz (Schriftzeichen)|Doppelkreuzen]] beginnt – ihre Anzahl gibt die Ebene der gewünschten Überschrift an.
 
|-
 
|
 
<pre>
 
# Überschrift in Ebene 1
 
#### Überschrift in Ebene 4
 
</pre>
 
| <div style="border-bottom: 1px solid #AAAAAA; font-size: 1.8em; margin-top: 1em; margin-bottom: .25em; overflow: hidden; font-family: serif;">Überschrift in Ebene 1</div>
 
<div style="font-size: 100%; font-weight: bold; margin-top: .3em; margin-bottom: 0em; overflow: hidden; padding: 0;">Überschrift in Ebene 4</div>
 
|-
 
|colspan="2"| Für die ersten zwei Ebenen ist auch eine alternative Schreibweise möglich:
 
|-
 
|
 
<pre>
 
Überschrift in Ebene 1
 
======================
 
Überschrift in Ebene 2
 
----------------------
 
</pre>
 
| <div style="border-bottom: 1px solid #AAAAAA; font-size: 1.8em; margin-top: 1em; margin-bottom: .25em; overflow: hidden; font-family: serif;">Überschrift in Ebene 1</div>
 
<div style="border-bottom: 1px solid #AAAAAA; font-size: 1.5em; margin-top: 1em; margin-bottom: .25em; overflow: hidden; font-family: serif;">Überschrift in Ebene 2</div>
 
|-
 
| <code>> Dieses Zitat wird in ein HTML-Blockquote-Element gepackt.</code>
 
| <blockquote>Dieses Zitat wird in ein HTML-Blockquote-Element gepackt.</blockquote>
 
|-
 
| colspan="2" |Horizontale Linien werden durch drei oder mehr Bindestriche, Unterstriche oder Sternchen in einer Zeile erzeugt.
 
|-
 
|Horizontale Linie<pre>
 
---
 
</pre>
 
|<div style="border-bottom: 1px solid #AAAAAA; font-size: 1.8em; margin-top: 1em; margin-bottom: .25em; overflow: hidden; font-family: serif;">
 
</div>
 
|-
 
| <code><nowiki>[Beschriftung des Hyperlinks](https://de.wikipedia.org/ "Titel, der beim Überfahren mit der Maus angezeigt wird")</nowiki></code>
 
| [https://de.wikipedia.org/ <span title="Titel, der beim Überfahren mit der Maus angezeigt wird">Beschriftung des Hyperlinks</span>]
 
|-
 
| ''allgemeine Syntax:''<br />
 
<code><nowiki>![Alternativtext](Bild-URL "Bildtitel hier")</nowiki></code>
 
  
''konkretes Beispiel:''<br />
+
Ganzzahl:
<code><nowiki>![nur ein Beispiel](https://commons.wikimedia.org/wiki/File:Example_de.jpg "Beispielbild")</nowiki></code>
+
int(input("Schreibe eine Ganzzahl:"))
| ''Bindet ein Bild von der Quelle ''Bild-[[Uniform Resource Locator|URL]]'' ein.''
 
  
[[Datei:Example de.jpg|200px|rahmenlos|alt=nur ein Beispiel|Beispielbild]]
+
Fließkommazahl:
|}
+
float(input("Schreibe eine Fließkommazahl:"))
 +
 
 +
===die »for«-Schleife===
 +
liste = ["Alles", "macht", "weiter"]
 +
for i in liste:
 +
    print(i)
 +
 
 +
===Kommentare===
 +
Einzeiliges Kommentar
 +
# mit dem Hashtag zu Beginn einer Zeile wird auskommentiert
 +
 
 +
mehrzeilige Kommentare:
 +
"""In 3 Anführungszeichen
 +
können mehrzeilige Kommentare (__doc__strings)
 +
verfasst werden"""
 +
 
 +
----
 +
==Python Tutorials==
 +
 
 +
'''Onlinetutorial:'''
 +
*[https://tutorial.djangogirls.org/de/python_introduction/ Python tutorial der djangogirls (Deutsch)]
 +
 
 +
'''Book:'''
 +
*[https://exmediawiki.khm.de/exmediawiki/images/6/6d/Py-tutorial-de.pdf Das Python3.3-Tutorial (Deutsch)]
 +
 
 +
'''Videotutorial:'''
 +
*[https://www.youtube.com/playlist?list=PLbd_WhypdBbAMyFfKgSj27JO7CEpuIcEK Videotutorial von »Coding is for girls« (Englisch)]
 +
 
 +
'''Hands-on Tutroial:'''
 +
*[https://hourofpython.trinket.io/a-visual-introduction-to-python#/welcome/an-hour-of-code an hour of Code - A Visual Introduction to Python]
 +
 
 +
----
 +
=Stimmungsanalyse=
 +
[[Datei:Textblob.jpeg|500px]]
 +
 
 +
in short:
 +
 
 +
Opinion Mining (manchmal als Stimmungsanalyse oder Emotion AI ) bezieht sich auf
 +
* die Verwendung von natürlicher Sprachverarbeitung, Textanalyse , Computerlinguistik und Biometrie, 
 +
* systematisches Identifizieren, Extrahieren, Quantifizieren und studieren affektiver Zustände, sowie subjektiver Informationen.
 +
 
 +
Generell zielt Sentimentanalyse darauf ab, die Haltung eines Sprechers/Autors in Bezug auf einige Themen oder die kontextuelle Polarität / emotionale Reaktion auf ein Dokument, eine Interaktion, oder ein Ereignis zu bestimmen.
 +
----
 +
Wikipedia:
 +
 
 +
Sentiment Detection (auch Sentimentanalyse, englisch für „Stimmungserkennung“) ist ein Untergebiet des Text Mining und bezeichnet die automatische Auswertung von Texten mit dem Ziel, eine geäußerte Haltung als positiv oder negativ zu erkennen.
 +
* see: https://de.wikipedia.org/wiki/Sentiment_Detection#Einf%C3%BChrung
 +
 
 +
==textblob==
 +
TextBlob ist ein Tool für natural language processing (NLP) mit Python.
 +
 
 +
Mit Textblob sind viele Ansätze wie etwa Erkennen von Wortarten, Extraktion von Substantiven, Stimmungsanalyse und auch Klassifizierungen möglich.
 +
 
 +
===textblob in short===
 +
type in terminal:
 +
pip install textblob
 +
 
 +
type in Notebook:
 +
from textblob import TextBlob
 +
 
 +
textsnippet = TextBlob('not a very great experiment')
 +
 
 +
print(textsnippet.sentiment)
 +
 
 +
----
 +
[[Category:Seminar]]
 +
[[Category:KI]]
 +
[[Category: Natural Language Processing]]
 +
[[Category:AI Poetry]]
 +
[[Category:Python]]
 +
[[Category:Sentiment Analysis]]
 +
[[Category:WS2019-20]]

Aktuelle Version vom 31. Mai 2020, 15:02 Uhr

Seminar, 31.10.2019

KHM-Wolke

Anleitung: KHM-Wolke einrichten

was bietet euch diese Cloud?:

  • Filesharing zwischen eigenen und den Lab-Rechnern
  • Eigene Cloud
  • Eigener Kalender, Passwortcontainer, Mindmaps etc.
  • Frontend für euren E-Mail Account

--

Vorstellungsrunde

human@machine $ whoareyou

Frage1 an euch:

  • was richtete eure aufmerksamkeit in den letzten tagen/wochen/monaten besonders auf sich? d.h. welche debatten, news, diskussionen mit euren freunden/bekannten in diesem kontext?
  • wie lautet deine künstlerische Fragestellung?

Exkursion/Gäste in diesem Semester


Projektpräsentation - Verena Lercher

Verena Lercher stellt ihre künstlerische Arbeit vor:

Verena l2.png

Ross Goodwin on the Road

Not a poet.

Ross Goodwin is an Artist, creative technologist, hacker, gonzo data scientist, writer of writers. Graduate of NYU ITP & MIT; former Obama administration ghostwriter. Employs machine learning, natural language processing, other computational tools to realize new forms & interfaces for written language.

wordcar https://github.com/rossgoodwin/wordcar

Artikel:

Jupyter Notebooks Einführung

Offizielle Dokumentation: https://jupyter-notebook.readthedocs.io/en/stable/index.html

Jupyter ist eine Webapplikation, die das Arbeiten mit sogenannten Jupyter Notebooks ermöglicht. In Jupyter Notebooks kann man neben Code (nicht nur Python) auch formatierten Text, Links, Bilder, Videos und interaktive Widgets generieren, laufen lassen und exportieren. Neben der modernen Jupyter-Umgebung kann man Python auch im klassichen Interface “Editor + Command Line” verwenden.


Markdown Syntax

Markdown hat Ähnlichkeiten mit einer Computersprache, ist aber wesentlich einfacher konzipiert und soll so für jeden verständlich sein. Markdown ermöglicht es, Texte im Web zu formatieren, ohne das betreffende Dokument dazu mit eckigen Klammern, Befehlen und sonstigen Kommandos zu überfluten, wie man sie für ein gestyltes HTML-Dokument normalerweise benötigt.

Am besten zeigen sich die Vorteile von Markdown in einem Praxisbeispiel. Zwei Absätze mit Text und einer Überschrift sollen gestylt werden – der erste kursiv, und der Zweite gefettet. In klassischem HTML müsste man eigentlich folgenden Code verfassen:


<h2>Markdown-Test</h2>
<p><strong>Dieser Text soll fett geschrieben werden.</strong></p>
<p><em>Und dieser Absatz soll kursiv angezeigt werden.</em></p>


In Markdown würde das obere Beispiel wie folgt aussehen:


## Markdown-Test
**Dieser Text soll fett geschrieben werden.**
*Und dieser Absatz soll kursiv angezeigt werden.*

  • zum Ausprobieren, siehe Notebook in Cloud: Markdown-basics.ipynb

Markdown hilfe:

advanced:


erste Schritte mit Python

Variablen setzen

var_string = "null"
var_int = 0

Ausgaben mit print()

print(var_int)
print("Hallo Welt")

Eingaben mit input()

Text:

input("Schreibe ein Wort:")

Ganzzahl:

int(input("Schreibe eine Ganzzahl:"))

Fließkommazahl:

float(input("Schreibe eine Fließkommazahl:"))

die »for«-Schleife

liste = ["Alles", "macht", "weiter"]
for i in liste:
    print(i)

Kommentare

Einzeiliges Kommentar

# mit dem Hashtag zu Beginn einer Zeile wird auskommentiert

mehrzeilige Kommentare:

"""In 3 Anführungszeichen
können mehrzeilige Kommentare (__doc__strings)
verfasst werden"""

Python Tutorials

Onlinetutorial:

Book:

Videotutorial:

Hands-on Tutroial:


Stimmungsanalyse

Textblob.jpeg

in short:

Opinion Mining (manchmal als Stimmungsanalyse oder Emotion AI ) bezieht sich auf

  • die Verwendung von natürlicher Sprachverarbeitung, Textanalyse , Computerlinguistik und Biometrie,
  • systematisches Identifizieren, Extrahieren, Quantifizieren und studieren affektiver Zustände, sowie subjektiver Informationen.

Generell zielt Sentimentanalyse darauf ab, die Haltung eines Sprechers/Autors in Bezug auf einige Themen oder die kontextuelle Polarität / emotionale Reaktion auf ein Dokument, eine Interaktion, oder ein Ereignis zu bestimmen.


Wikipedia:

Sentiment Detection (auch Sentimentanalyse, englisch für „Stimmungserkennung“) ist ein Untergebiet des Text Mining und bezeichnet die automatische Auswertung von Texten mit dem Ziel, eine geäußerte Haltung als positiv oder negativ zu erkennen.

textblob

TextBlob ist ein Tool für natural language processing (NLP) mit Python.

Mit Textblob sind viele Ansätze wie etwa Erkennen von Wortarten, Extraktion von Substantiven, Stimmungsanalyse und auch Klassifizierungen möglich.

textblob in short

type in terminal:

pip install textblob

type in Notebook:

from textblob import TextBlob
textsnippet = TextBlob('not a very great experiment')
print(textsnippet.sentiment)