Hey! Wie schon oben beschrieben möchte ich gerne eine Ausge in folgender Form erzeugen:
paeuschen: 1 pause
...bisher schaffe ich es aber immer nur separat von einander folgende ausgaben zu bekommen:
paeuschen:1
paeschen , pause
...und hier jetzt der Code, an dem ich schon die ganze zeit rumwerke :/
Code: Alles auswählen
lexicon={"pause":("pause","break","paeuschen", "intermezzo", "ruhephase"),
"arbeiten":("arbeiten","taetig", "malochen", "lernen"),
"zeit":("zeit","stunden","tag")}
text= "ich muss ertmal eine kleine ruhephase tag machen am tag, nach stunden pause. ich war den ganzen tag arbeiten und lernen, ein kleines paeuschen tut da schon gut, ich hatte naemlich heute gar keine pause, ich war nur arbeiten."
wort=re.findall(r'(\w+)',str(text))
syn=[]
probe={}
ja=[]
list_of_keys = lexicon.keys()
for teil in lexicon.values():
for t in teil:
for element in wort:
if element == t:
syn.append(t)
for k in list_of_keys:
if t in str(lexicon[k]):
ja.append(t)
print(ja)
from collections import Counter
hier=(Counter(syn))
#print(hier)
# Umdrehen des Woerterbuchs
from collections import defaultdict
reverse_lexicon = defaultdict(list)
for key, words in lexicon.items():
for word in words:
reverse_lexicon[word].append(key)
print(reverse_lexicon)
from collections import Counter
new={}
#print(wort)
#or var in reverse_lexicon:
# if var in wort:
for var in wort:
if var in reverse_lexicon:
#print(element)
#new.append(var)
#print(reverse_lexicon[var])
new[var]=reverse_lexicon[var]
print(new)
#Counter(new):
#for i in Counter(new):
# for e in reverse_lexicon:
# print(i)
entschuldigt, dass es ein bisschen chaotisch aussieht, aber wie gesagt, ich fummel da schon eine Weile rum und komme dem Ziel einfach nicht näher :/
Würd mich freuen, wenn ihr euch das nochmal anschauen könntet...LG