Ich bin Ingenieur in einem mittelständischen Unternehmen. Plötzlich beschloss ich zusammenzufassen, was ich in Qiita gelernt hatte. Vorerst werde ich das maschinelle Lernen, das ich studiere, zusammenfassen. (Wenn Sie sich das Herz brechen, machen Sie eine Pause mit einem anderen Thema, das leicht zu schreiben ist.) Ich habe übrigens vor, hauptsächlich Python als Sprache zu verwenden.
――Ich mag eher die Art zu berühren und zu verstehen als die Theorie, also sind es viele verschiedene Dinge. ――Weil es Analphabet ist, denke ich, dass es schwer zu verstehen sein wird. ―― Aus diesem Grund denke ich, dass es viele Dinge gibt, die Sie dazu bringen, es zu lesen, aber bitte verstehen Sie!
――Lass uns maschinelles Lernen mit Twitter-Daten studieren. ――Dieses Mal werden wir über die Daten und die Umgebungsvorbereitung sprechen, die verwendet werden sollen. ――Nächstes Mal plane ich, Tweets zu gruppieren und die Ähnlichkeit zu berechnen.
Zu Beginn meines Studiums habe ich verschiedene Dinge mit "Iris" und "Titanic" ausprobiert, die in Nachschlagewerken und Tutorials so wie sie sind erscheinen, aber ich habe kein Interesse an Daten. Ich bin überhaupt nicht in meinen Kopf gekommen ...
Ich habe es mir anders überlegt und mich entschieden, ** Twitter ** -Daten zu verwenden, deren Analyse interessant zu sein scheint. Um es noch faszinierender zu machen (?), Werde ich mich dieses Mal auf Tweets über "** Parfüm **" konzentrieren. (Hinweis: Es ist eine Nocchi-Schule)
Übrigens, als ich einen Tweet mit "Parfüm" bekam und ihn mir ansah, stellte ich fest, dass die Anzahl der Tweets geringer war als erwartet (250 / 1h) und noch geringer, als ich Tweets ausschloss, die Bots zu sein schienen. Ich frage mich, ob es viele Fans gibt, die keine Tweets veröffentlichen. (Ich frage mich, ob Sie private Tweets ohne Benutzernamen veröffentlichen können ... Muri ...)
Infolgedessen ist die Anzahl der Daten etwas gering, daher möchte ich in Zukunft die Anzahl der Künstler zum Vergleich erhöhen. (Kandidaten: ** CAPSULE **, ** Sakanaction ** ...)
Was speziell mit maschinellem Lernen zu tun ist, ist ... ** Ich denke, während ich mich bewege **.
Wir haben bereits eine Umgebung erstellt, in der Tweets über Parfüm mithilfe der Streming-API gesammelt und mit der elastischen Suche gesammelt werden können. Speichern Sie dieses Mal einige Daten aus Elasticsearch in einer Datei (** es.log ) und verwenden Sie ein lokales Skript ( tw_ml.py **) für maschinelles Lernen und andere Aktivitäten, um das Lernen zu beschleunigen. Ich denke.
Es sieht wie folgt aus.
Das Datenformat ist wie folgt. (Da es sich beim Speichern um einen Wörterbuchtyp handelt, ist an das Unicode-Objekt "u" angehängt.)
es.log(1 Auszug, Daten sind Dummy)
[{u'_score': 1.0, u'_type': u'raw', u'_id': u'AVZkL6ZevipIIzTJxrL7', u'_source': {u'retweeted_status': u'True', u'text': u'Perfume\u306e\u597d\u304d\u306a\u6b4c', u'user': u'xxxxxxxxxx', u'date': u'2016-08-07T08:45:27', u'retweet_count': u'0', u'geo': u'None', u'favorite_count': u'0'}, u'_index': u'tweet'}]
Um es.log aus Python zu lesen, öffnen Sie es mit Codecs und verwenden Sie ast, um es in das Wörterbuch zurückzugeben. Derzeit gibt es 265 Fälle, aber wenn ich der Meinung bin, dass die Datenmenge nicht ausreicht, werde ich sie erneut von Elasticsearch erhalten und erhöhen.
tw_ml.py(Auszug)
import codecs
import ast
with codecs.open("es.log", "r", "utf-8") as f:
es_dict = ast.literal_eval(f.read())
print "doc:%d" % len(es_dict) # doc:265
--Script-Ausführungsumgebung
Windows7 64bit
Python2.7
Haupt-Python-Bibliotheken
numpy 1.11.1
scipy 0.12.0
scikit-learn 0.16.0
mecab-python 0.996
Mecab wird übrigens für die japanische morphologische Analyse verwendet, aber "** mecab-ipadic-neologd **" wird für das Wörterbuch verwendet. Wenn ich das nicht benutzen würde, würden sogar "Kashiyuka", "Ah-chan" und "Nocchi" nicht als Worte angesehen werden ... lol
tw_ml.py(Auszug)
MECAB_OPT = "-Ochasen -d C:\\tmp\\mecab-ipadic-neologd\\"
t = mc.Tagger(MECAB_OPT)
Ich dachte, aber da es lang geworden ist, werde ich ab dem nächsten Mal das Hauptthema des maschinellen Lernens machen! Lol Vorerst habe ich vor, Tweets zu gruppieren und Ähnlichkeiten zu berechnen.
Recommended Posts