Machine Learning Methode zur Texterkennung
Verfasst: Donnerstag 21. September 2023, 19:50
Hallo zusammen,
Ich würde gerne mithilfe von Python maschinelles Lernen verwenden, um Strings in bestimmte Kategorien einzuteilen. Mein Problem ist aber, dass die Strings oft aus mehreren Wörtern OHNE Leerzeichen dazwischen bestehen. Ich habe bisher nur die Methode gefunden, die einen Text in einzelne Wörter zerlegt (anhand von Leerzeichen) und die Wörter jeweils zählt (Bags of Words). Nach einer derartigen Vorprozessierung wird das maschinelle Lernen auf die Zählung angewendet. Das geht in meinem Fall aber nicht. Stattdessen müssen Strings eher nach Schlüsselwörtern/-mustern durchforstet werden.
Beispielhaft gebe ich mal eine Liste an Wörtern mit den zugehörigen Kategorien:
engine oil
engineoil
shell oil 229,5 5L
oil229,5
oil engine
shell 5w30 229,5
--> Diese Strings sollen als Kategorie 1 erkannt werden (Öle), weil Schlüsselstrings wie "oil" oder "229,5", aber nicht "filter", "filt", "toilet", "spoiler", "pump" oder "line" vorkommen.
oil filter
oilfilter
engine oil filt
engineoilfilter
oil filt
--> Diese Strings sollen als Kategorie 2 erkannt werden (Ölfilter), da Muster wie "filter" oder "filt" zusammen mit "oil" auftreten.
toilet
spoiler
oil pump
oilpump
oil line
oilline
--> Diese Strings sollen als Kategorie 3 erkannt werden (Sonstiges).
Hat jemand eine Idee, wie ich meine Strings vorprozessieren soll und welche Machine-Learning-Methode sich anschließend anbietet?
Wenn ich weiß, in welcher Art die Vorprozessierung gemacht werden soll, dann kann ich einen Trainingsdatensatz aufstellen und die entsprechende ML-Methode auf weitere Testdaten anwenden.
Vielen Dank schon mal für jeglichen Input!
VG David
Ich würde gerne mithilfe von Python maschinelles Lernen verwenden, um Strings in bestimmte Kategorien einzuteilen. Mein Problem ist aber, dass die Strings oft aus mehreren Wörtern OHNE Leerzeichen dazwischen bestehen. Ich habe bisher nur die Methode gefunden, die einen Text in einzelne Wörter zerlegt (anhand von Leerzeichen) und die Wörter jeweils zählt (Bags of Words). Nach einer derartigen Vorprozessierung wird das maschinelle Lernen auf die Zählung angewendet. Das geht in meinem Fall aber nicht. Stattdessen müssen Strings eher nach Schlüsselwörtern/-mustern durchforstet werden.
Beispielhaft gebe ich mal eine Liste an Wörtern mit den zugehörigen Kategorien:
engine oil
engineoil
shell oil 229,5 5L
oil229,5
oil engine
shell 5w30 229,5
--> Diese Strings sollen als Kategorie 1 erkannt werden (Öle), weil Schlüsselstrings wie "oil" oder "229,5", aber nicht "filter", "filt", "toilet", "spoiler", "pump" oder "line" vorkommen.
oil filter
oilfilter
engine oil filt
engineoilfilter
oil filt
--> Diese Strings sollen als Kategorie 2 erkannt werden (Ölfilter), da Muster wie "filter" oder "filt" zusammen mit "oil" auftreten.
toilet
spoiler
oil pump
oilpump
oil line
oilline
--> Diese Strings sollen als Kategorie 3 erkannt werden (Sonstiges).
Hat jemand eine Idee, wie ich meine Strings vorprozessieren soll und welche Machine-Learning-Methode sich anschließend anbietet?
Wenn ich weiß, in welcher Art die Vorprozessierung gemacht werden soll, dann kann ich einen Trainingsdatensatz aufstellen und die entsprechende ML-Methode auf weitere Testdaten anwenden.
Vielen Dank schon mal für jeglichen Input!
VG David