Zuerst würde ich einen CountVectorizer verwenden, um das erzeugte Vokabular zu betrachten. Da wären Wörter wie "Von", "Laptop", "Schnell", "Silber" usw.Sie können Stoppwörter verwenden, um solche Wörter zu verwerfen, die uns keine Informationen liefern. Ich würde auch weitermachen und "hart", "Laufwerk", "Festplatte" usw. verwerfen, weil ich weiß, dass dies eine Liste von Festplatten ist, so dass sie keine Informationen liefern. Dann hätten wir Liste von Wörtern wie
- Seagate 500Go
- Seagate 120Go
- Seagate Barracuda 7200.12 ST3500418AS 500 GB 7200 RPM SATA 3,0 Gb/s
- 500Go Seagate usw.
Sie können eine Liste von Funktionen verwenden, wie Dinge, die mit RPM enden, wahrscheinlich RPM-Informationen geben, gleiches gilt für Dinge, die mit mb / s oder Gb/s enden. Dann würde ich alphanumerische Zeichen wie "1234FBA5235" verwerfen, was höchstwahrscheinlich Modellnummern usw. ist, die uns nicht viele Informationen geben. Nun, wenn Sie bereits bekannte Festplatten-Marken wie 'Seagate' 'Kingston' kennen, können Sie die String-Ähnlichkeit verwenden oder einfach prüfen, ob sie im gegebenen Satz vorhanden sind. Sobald das erledigt ist, können Sie mithilfe von Clustering ähnliche Objekte gruppieren. Objekte mit ähnlicher Geschwindigkeit wie rpm, gb, gb/s, Markenname werden nun gruppiert. Wenn Sie etwas wie KMeans verwenden, müssen Sie den besten Wert von K herausfinden. Sie müssen einige manuelle Arbeiten ausführen. Was Sie tun können, verwenden Sie ein Streudiagramm und Augapfel für welchen Wert von K die Daten die besten klassifiziert.
Aber das Problem in oben genannten Ansatz ist, wenn Sie nicht vorher die Liste der Marken Hand dann wissen, würden Sie in Schwierigkeiten geraten. Dann würde ich Bayesian Classifier benutzen, um nach jedem Satz zu suchen und die Wahrscheinlichkeit zu bekommen, dass es eine Festplattenmarke ist. Ich für zwei Dinge aussehen würde
- Blick auf den Daten, die meisten der Zeit würde der Satz ausdrücklich das Wort ‚Festplatte‘ erwähnen, dann würde ich wissen, dass es auf jeden Fall über eine Festplatte zu sprechen. Die Chancen für so etwas wie "Mercedes Benz Festplatte" sind gering.
- Dies ist ein bisschen mühsam, aber ich würde einen Python Web Scrapper über Amazon schreiben (oder wenn Sie nicht einfach Google für die meisten verwendeten Festplattenmarken schreiben und eine Liste erstellen) Es gibt mir eine Liste wie 'Seagate Barracuda 7200.12 ST3500418AS 500GB 7200 RPM SATA 3.0Gb/s 'jetzt für jeden Satz würde es etwas wie Naive Bayes verwenden, um mir Wahrscheinlichkeit zu geben, dass es eine Marke ist. sklearn kommt ziemlich praktisch, um dieses Zeug zu machen.
Vielen Dank! Sehr interessanter Ansatz! – Martin