Hallo liebe Community,
momentan bin ich dabei, mir die Grundkenntnisse der KI anzueignen. Dies geschieht alles im Rahmen meiner Ausbildung innerhalb der Schule.
Nun Aufgabe ist es eine Neuronales Netzwerk zu entwickeln, dass in der Lage ist Twitter Tweeds von verschiedenen Personen zu Klassifizieren. Ich bin immer noch dabei die mir zugrundeliegenden Tweets in ein Format zu bringen, mit dem das Neuronale Netzwerk etwas anfangen kann. Die Anforderung ist, dass jedes Input-Value eine Zahl zwischen 0 und 1 darstellt.
Mein Input soll eine Anreihung der Worte im vorkommenden Tweet sein (das habe ich so beschlossen). Nun muss ich eine Möglichkeit finden, einzelne Worte möglichst mit deren Bedeutung in einer Zahl von 0 - 1 zu bringen.
Ich habe mich bereits einige 1Tage damit gedanklich beschäftigt, bin jedoch zu keinem guten Ergebnis gekommen. Gestern habe ich etwas Zeit gefunden, ein Algorithmus zu entwickeln, um aus einem Buchstaben eine Zahl zwischen 0 und 1 zu generieren. Dabei wollte ich die Position des Buchstaben mit in die Wertung einfließen lassen, in der Hoffnung, dass ich dadurch auch ein Teil der "Bedeutung" mit einfließen lassen kann.
Jedoch bin ich im Nachhinein auf zwei Probleme gestoßen. Die ich im folge näher erläutern möchte. Jedoch erstmal zu dem Algorithmus für ein Buchstaben. Ich werde das ganze anhand des Wortes "Hallo" näher erklären.
Folgende Bedingungen bin ich eingegangen:
Nun gehe ich Wort für Wort durch und generiere zu jedem Wort eine Zahl zwischen 0 und 1. Dafür lasse ich mir als erstes zu jedem einzelnen Buchstaben eine Zahl im dem gültigen Bereich ausgeben. Diese Zahlen summiere ich und Teile sie durch die Anzahl der Zeichen in einem Wort.
Der Algorithmus für einen Charakter:
Anhand von „Hallo“ würde ich folgende Berechnungen durchführen:
H = (72 / 255 + ( 72 / 255 * 1 / 2)) / 2
a = (97 / 255 + (97 / 255 * 2 / 2)) / 2
l = (108 / 255 + (108 / 255 * 3 / 2)) / 2
l = (108 / 255 + (108 / 255 * 4 / 2)) / 2
o = (111 / 255 + (111 / 255 * 5 / 2)) / 2
Dieser Algorithmus hat mindestens zwei Fehler:
Nun, nachdem meine Situation näher erläutert wurde, zu meiner eigentlichen Frage:
Ich bin auf der Suche nach einem Algorithmus, der mir ermöglicht ganze Wörter möglichst mit deren Bedeutung (z. B durch die Anordnung der Buchstaben z. B) in einer Zahl zu bringen, die kleine gleich 1 und größer gleich 0 sein muss.
Da mir diesbezüglich die richtigen Keywords fehlen, fällt es mir schwer einen solchen Algorithmus zu finden. Habt ihr evtl. ein paar Tipps oder Keywords, die mir die Suche erleichtern würden? Oder kennt ihr ähnliche Algorithmen die ich anwenden könnte?
momentan bin ich dabei, mir die Grundkenntnisse der KI anzueignen. Dies geschieht alles im Rahmen meiner Ausbildung innerhalb der Schule.
Nun Aufgabe ist es eine Neuronales Netzwerk zu entwickeln, dass in der Lage ist Twitter Tweeds von verschiedenen Personen zu Klassifizieren. Ich bin immer noch dabei die mir zugrundeliegenden Tweets in ein Format zu bringen, mit dem das Neuronale Netzwerk etwas anfangen kann. Die Anforderung ist, dass jedes Input-Value eine Zahl zwischen 0 und 1 darstellt.
Mein Input soll eine Anreihung der Worte im vorkommenden Tweet sein (das habe ich so beschlossen). Nun muss ich eine Möglichkeit finden, einzelne Worte möglichst mit deren Bedeutung in einer Zahl von 0 - 1 zu bringen.
Ich habe mich bereits einige 1Tage damit gedanklich beschäftigt, bin jedoch zu keinem guten Ergebnis gekommen. Gestern habe ich etwas Zeit gefunden, ein Algorithmus zu entwickeln, um aus einem Buchstaben eine Zahl zwischen 0 und 1 zu generieren. Dabei wollte ich die Position des Buchstaben mit in die Wertung einfließen lassen, in der Hoffnung, dass ich dadurch auch ein Teil der "Bedeutung" mit einfließen lassen kann.
Jedoch bin ich im Nachhinein auf zwei Probleme gestoßen. Die ich im folge näher erläutern möchte. Jedoch erstmal zu dem Algorithmus für ein Buchstaben. Ich werde das ganze anhand des Wortes "Hallo" näher erklären.
Folgende Bedingungen bin ich eingegangen:
- Ich gehe davon aus das jedes verwendete Zeichen in einem Tweet in der ASCII Tabelle vorkommt.
- Ein Tweet besteht aus jeweils 280 Zeichen.
- Die Worttrennung wird mittels eines Leerzeichens erkannt.
Nun gehe ich Wort für Wort durch und generiere zu jedem Wort eine Zahl zwischen 0 und 1. Dafür lasse ich mir als erstes zu jedem einzelnen Buchstaben eine Zahl im dem gültigen Bereich ausgeben. Diese Zahlen summiere ich und Teile sie durch die Anzahl der Zeichen in einem Wort.
Der Algorithmus für einen Charakter:
- c = der Dezimalwert des Buchstaben.
- i = der Index des Buchstabens im Wort.
- tl = die Tabellen länge (bei ASCII 255).
Anhand von „Hallo“ würde ich folgende Berechnungen durchführen:
H = (72 / 255 + ( 72 / 255 * 1 / 2)) / 2
a = (97 / 255 + (97 / 255 * 2 / 2)) / 2
l = (108 / 255 + (108 / 255 * 3 / 2)) / 2
l = (108 / 255 + (108 / 255 * 4 / 2)) / 2
o = (111 / 255 + (111 / 255 * 5 / 2)) / 2
Dieser Algorithmus hat mindestens zwei Fehler:
- Zum einen berücksichtige ich nicht, dass ein Wort eine dynamische Länge hat und Teile einfach durch 2. Dadurch kommt es vor, dass längeren Worten der Output größer 1 ist.
- Und darüber hinaus ist der erstelle Wert natürlich immer noch nicht wirklich „eindeutig“ für ein bestimmtes Wort, da durch die Berechnung zufälligerweise andere Wörter die selber Numerische Zahl ergeben können.
Nun, nachdem meine Situation näher erläutert wurde, zu meiner eigentlichen Frage:
Ich bin auf der Suche nach einem Algorithmus, der mir ermöglicht ganze Wörter möglichst mit deren Bedeutung (z. B durch die Anordnung der Buchstaben z. B) in einer Zahl zu bringen, die kleine gleich 1 und größer gleich 0 sein muss.
Da mir diesbezüglich die richtigen Keywords fehlen, fällt es mir schwer einen solchen Algorithmus zu finden. Habt ihr evtl. ein paar Tipps oder Keywords, die mir die Suche erleichtern würden? Oder kennt ihr ähnliche Algorithmen die ich anwenden könnte?