Ich habe einen großen Textkorpus.
Manuell habe ich ein Lexikon erstellt, welches Synonyme umfasst.
Code: Alles auswählen
lexicon={"pause":("pause","break","paeuschen", "intermezzo", "ruhephase"),
"arbeiten":("arbeiten","taetig", "malochen", "lernen")}
# die übereinstimmung der Synonyme sei nun einmal dahingestellt.
Code: Alles auswählen
text= "ich muss ertmal eine kleine ruhepause machen. 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."
Und dazu, wie oft diese Synonyme verwendet werden.
Er strebe also ein Ausgabe in folgender Form an:
ruhepause , von Pause
arbeiten, von arbeiten
lernen, von arbeiten
paeuschen, von pause
pause, von pause
arbeiten, arbeiten
oder zusammengefasst am besten:
ruhepause , von Pause, 1
arbeiten, von arbeiten,2
.
.
.
ich habe versucht das auf folgende weise zu lösen:
Code: Alles auswählen
wort=re.findall(r'(\w+)',str(text))
syn=[]
for teil in lexicon.values():
for t in teil:
if t in wort:
syn.append(t)
print(syn)
Wisst ihr eine Lösung?
Danke schon mal!