Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws1516:generiertes_gedicht

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ws1516:generiertes_gedicht [2016/01/21 17:49]
noralehmann
ws1516:generiertes_gedicht [2016/06/11 15:08] (aktuell)
noralehmann
Zeile 8: Zeile 8:
  
 === Aufgaben: === === Aufgaben: ===
-  * Epochenwissen aneignen +  * Gedichtsammlung erstellen 
-  * Bob Dylan Projekt Code verstehen +  * Gedichte in Fragmente zerlegen und ins Wörterbuch abspeichern 
-  * Gedichte einlesen +  * Zufallssatz mit 2-gram Modell erzeugen 
-  * Wortwahrscheinlichkeiten aus den Texten ermitteln +  * Gedichtstruktur mit Versen und Strophen bilden 
-  * Versschema vorgeben+  * Extras einbauen 
 +  * Zufallssatz mit 2-gram Modell erzeugen
  
 == Verwendete Texte: == == Verwendete Texte: ==
 +  * Menschheitsdämmerung von Kurt Pinthus
 +  * selbsterstellte Gedichtesammlung von mehreren expressionistischen Künstlern
  
 === Protokolle: === === Protokolle: ===
Zeile 133: Zeile 136:
      ​versucht alle '​Module',​ die ich bis jetzt erstellt habe, zu vereinen und ein erstes Gedicht zu erzeugen.      ​versucht alle '​Module',​ die ich bis jetzt erstellt habe, zu vereinen und ein erstes Gedicht zu erzeugen.
      ​Jedoch erwies sich das als recht schwer und wird jetzt mein Ziel für die nächste Woche.      ​Jedoch erwies sich das als recht schwer und wird jetzt mein Ziel für die nächste Woche.
 +
 +== Protokoll vom 04.02.2016 ==
 +     ​Funktionen geschrieben,​ die die Verse und Strophenanzahl und mit zufälligen Wörter die Zufallsätze generieren.
 +     
 +     ​Erstes Gedicht:
 +     ​['​tuermen',​ '​aller',​ ':',​ '​heym',​ '​mit',​ '​seiner',​ '​taten'​]
 +     ​['​der',​ '​vaeter',​ '​hassen',​ '​diese',​ '​abgrenzung',​ '​ge',​ '​schieden'​]
 +     ​['​lasset',​ '​uns',​ '​im',​ '​schlaf',​ '​hypnotisieren',​ '​zwei',​ '​menschen'​]
 +     ​['​halb',​ '​schon',​ '​mit',​ '​jenen',​ '​furchtbaren',​ '​bewusstsein',​ '​des'​]
 +     ​['​regen',​ '​die',​ '​gaslaternen',​ '​und',​ '​wollen',​ '​wachen',​ '​ein'​]
 +     
 +     ​['​was',​ '​ich',​ '​ich',​ '​will',​ '​sich',​ '​die',​ '​arbeit'​]
 +     ​['​abschiednehmen',​ '​das',​ '​daliegen',​ '​in',​ '​dich',​ '​diese',​ '​blutet'​]
 +     ​['​schatten',​ '​schwankt',​ '​ueber',​ '​musik',​ '​ein',​ '​mensch',​ '​in'​]
 +     ​['​ueber',​ '​die',​ '​schneckenwindungen',​ '​des',​ '​gerechten',​ '​aber',​ '​wir'​]
 +     ​['​himmel',​ '​doch',​ '​ueber',​ '​eine',​ '​inatter',​ '​wenn',​ '​ich'​]
 +     
 +     ​['​die',​ '​schnur',​ '​boeses',​ '​tier',​ '​bricht',​ '​durch',​ '​roehricht'​]
 +     ​['​nacht',​ '​freunde',​ '​nicht',​ '​verhaengnis',​ '​mehr',​ '​nein',​ '​erdhosen'​]
 +     ​['​roten',​ '​fahnen',​ '​schwenken',​ '​isord',​ '​zieht',​ '​in',​ '​leidvoller'​]
 +     ​['​geist',​ '​der',​ '​geheimnisse',​ '​verschlafenes',​ '​land',​ '​ihr',​ '​viel'​]
 +     ​['​die',​ '​tempeljahre',​ '​die',​ '​schatten',​ '​halten',​ ':',​ '​toderschlagene'​]
 +     
 +     
 +     ​Gedicht wird jetzt schöner ausgegeben:
 +     arm des enzians durchsetzten beizenden geroell
 +     welt so
 +     rot (saemtlich vergriffen ) ich im vergifteten
 +     aus der pfuetzen zwischen ihren werken verbunden dein
 +     ​zischend der schiffe haengen verweste tiere stehn in die
 +     ​augenbcdles umpulst den gefaengnissen
 +     
 +     bin ich bin mir schreit tief meine stimmen :
 +     ​welche stunde wie sie
 +     mild wurden ploetzlich stand ich werde jetzt im traume ruehret
 +     
 +     die ferne
 +     die welt einschliessen herr und schaumluegenden Äusserungen der
 +     sich die morgue die enge
 +     ​vorbei als unfruchtbarer sand reibt aus den yebel menschenblut i
 +     die taten sondern vereinigt wie grosse wolken
  
  
Zeile 279: Zeile 323:
 #​alliteration("​gewünschtes Wort") und dann al anzeigen lassen oder random.choice(al) #​alliteration("​gewünschtes Wort") und dann al anzeigen lassen oder random.choice(al)
 </​code>​ </​code>​
 +
 +=== Code vom 21.01.2016 ===
 +<​code>​
 +''​ # -*- coding: utf-8 -*-
 +"""​
 +Created on Thu Jan 14 17:23:24 2016
 +
 +@author: Nora Lehmann
 +"""​
 +
 +import random
 +
 +
 +quelle=open("​menschheitsdaemmerung.txt"​)
 +s=quelle.read()
 +quelle.close()
 +na=["​www","​txt",",","​\"",":","​http://","​.","​_","?","​iii","​!","&","​0","​1","​2","​3","​4","​5","​6","​7","​8","​9","​-","​...","​*",">","<","​1.E.1"​]
 +s=s.lower()
 +
 +s=s.replace("​\xc3\xa4","​ae"​) ​   #Text '​reinigen'​
 +s=s.replace("​\xc3\xbc","​oe"​)
 +s=s.replace("​\xc3\x9f","​ss"​)
 +s=s.replace("​\xc3\x9c","​ue"​)
 +
 +for x in na:
 +    s=s.replace(x,"​ ")
 +s=s.split()
 +
 +wb={}
 +"""​wb speichert für jedes Wort die Woerter, die davor kamen"""​
 +for i,x in enumerate (s):
 +    if i==len(s)-1:​
 +        break
 +    if x not in wb:
 +        wb[x]=[s[i-1]]
 +    else:
 +        wb[x].append(s[i-1])
 +
 +satz=[""​] ​         ​
 +def zufallssatz(x,​y):​
 +    """​Erzeugt einen Zufallssatz,​ indem die Funktionen zufällig das darauffolgende
 +    Wort aus dem Wörterbuch auswählt. Dieser Prozess wird y-mal wiederholt"""​
 +    satz=[x]
 +    for i in range(y):
 +        if x in wb:
 +            x=random.choice(wb[x])
 +            satz.append(x)
 +        else:
 +            break
 +    return satz[::-1]
 +
 +#​SCHLAGWÖRTER  ​
 +'''​zählt die am meisten vorkommenden Wörter in der Quelle'''  ​
 +fuellwoerter={'​sich',​ '​nicht','​oder',​ '​mich','​dass',​ '​mein','​herausgeber','​gibt',​ '​hier','​printed',​ '​herausgegeben',​ '​rowohlt','​verlag','​send',​ '​uerer',​ '​thus',​ '​antho',​ '​durch',​ '​da\xc3\x9f',​ '​\xc3\xbcber',​ '​sind',​ '​eine',​ '​noch',​ '​sein','​wenn','​alle',​ '​doch',​ '​euch',​ '​wird',​ '​nach',​ '​schon',​ '​aber',​ '​alle',​ '​doch',​ '​euch',​ '​wird',​ '​nach',​ '​schon',​ '​aber'​}  ​
 +wob={}
 +for wort in s:
 +    if wort in fuellwoerter:​
 +        continue
 +    if not wort in wob and len (wort) >= 4:
 +        wob[wort]=1 #Wort wird der Wert 1 zugeordnet ​
 +    if wort in wob:
 +        wob[wort]=wob[wort]+1 #Wert wird erhöht
 +    else:
 +        continue
 +import heapq 
 +schlagwoerter=heapq.nlargest(20,​ wob, key=wob.get)
 +
 +#​ALLITERATION
 +al={}
 +def alliteration(w):​
 +    for x in s:
 +        if w[0]==x[0]:
 +            if w in al:
 +                al[w].append(x)
 +            else:
 +                al[w]=[x]
 +g="​wort"​
 +#print g
 +alliteration (g)
 +"""​alliteration("​gewünschtes Wort") und dann al anzeigen lassen oder random.choice(al)"""​
 +#print random.choice(al[g])
 +
 +
 +#ASSONANZEN
 +avokal=[]
 +evokal=[]
 +ivokal=[]
 +ovokal=[]
 +uvokal=[]
 +
 +for din in wb:
 + for x in din:
 + if x=="​a":​
 + avokal.append(din)
 + break
 + if x=="​e":​
 + evokal.append(din)
 + break
 + if x=="​i":​
 + ivokal.append(din)
 + break
 + if x=="​o":​
 + ovokal.append(din)
 + break
 + if x=="​u":​
 + uvokal.append(din)
 + break
 + else:
 + continue
 +
 +
 +def assonanzen(a):​
 + """​Häufung eines Vokals. Funktion ermittelt für eine gegebene Funktion ein Wort mit den gleichen Vokal.
 + Das zweite Wort sollte als value vom ersten Wort in wb gespeichert sein."""​
 + vokale={"​a","​e","​i","​o","​u"​}
 + asso="​ "
 + for x in a:
 + if x in vokale:
 + if x=="​a":​
 + asso=asso+random.choice(avokal)
 + asso=asso+random.choice(avokal)
 + return asso
 + break
 + if x=="​e":​
 + return random.choice(evokal)
 + break
 + if x=="​i":​
 + return random.choice(ivokal)
 + break
 + if x=="​o":​
 + return random.choice(ovokal)
 + break
 + if x=="​u":​
 + return random.choice(uvokal)
 + break
 +
 + else:
 + continue
 + print a
 +
 +#GEDICHT
 +"""​1.Assonanzen beachten
 + 2.Alliterationen
 + 3.Schlagwörter
 + Rest auffüllen"""​
 +
 +#1.Strophe
 +
 +print zufallssatz(assonanzen("​a"​),​5)
 +print zufallssatz("​zarter",​5)
 +print zufallssatz(assonanzen("​a"​),​5)
 +print zufallssatz(assonanzen("​a"​),​5)
 +print zufallssatz(assonanzen("​a"​),​5)
 +</​code>''​
ws1516/generiertes_gedicht.1453394987.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)