Ich habe während meiner freien Frühlingsferien als Student schlampig Krabbeln und Kratzen gelernt, aber ich habe mich für einen Twitter-Bot entschieden, weil ich hier etwas machen wollte. Mit Hilfe von Freund B habe ich einen Bot erstellt, der die Tweets von Freund B analysiert und Tweets von Freund B erstellt.
Verwenden der virtuellen Ubuntu-Umgebung mit virtualbox unter Windows 10 Ubuntu 18.04.4 LTS
Ich werde für jeden eine kleine Erklärung schreiben
Als ich nachforschte, indem ich fragte: "Nun, wie lassen Sie die zu generierenden Sätze wie diese Person aussehen? Wie macht man die automatische Generierung von Sätzen überhaupt?", Fand ich eine Markov-Kettenregel.
In diesem Artikel finden Sie das Markov-Kettengesetz, das ebenfalls leicht verständlich geschrieben ist. Ich habe auch auf den Python-Code verwiesen. ** Markov Kettenregel ist erstaunlich! ** Es wird sein.
[Python] Generiere Sätze mit der Markov-Kette im N-ten Stock](https://qiita.com/k-jimon/items/f02fae75e853a9c02127)
MeCab MeCab wird als Mittel zur Analyse der abgerufenen Tweets verwendet. Der grundlegende Ablauf der Satzgenerierung besteht darin, "mit MeCab eine morphologische Analyse der erfassten Tweets durchzuführen, eine Liste von Wörtern zu erstellen und die Wörter gemäß der Markov-Kettenregel anzuordnen".
Klicken Sie hier für eine detaillierte Erklärung von MeCab.
tweepy Verwenden Sie die von Twitter offiziell bereitgestellte Twitter-API, um Twitter automatisch zu betreiben. Mit der Twitter-API können Sie Ihr Konto programmgesteuert betreiben.
Wenn Sie die Twitter-API von Python aus betreiben, ist tweepy, eine Python-Bibliothek, praktisch. Daher habe ich bei der Suche im Internet gelernt, wie man sie verwendet, während ich auf dieses Buch verwies.
[Python Crawling & Scraping - Praktisches Entwicklungshandbuch für die Datenerfassung und -analyse-](https://www.amazon.co.jp/Python%E3%82%AF%E3%83%AD%E3%83% BC% E3% 83% AA% E3% 83% B3% E3% 82% B0-% E3% 82% B9% E3% 82% AF% E3% 83% AC% E3% 82% A4% E3% 83% 94 % E3% 83% B3% E3% 82% B0-% E3% 83% 87% E3% 83% BC% E3% 82% BF% E5% 8F% 8E% E9% 9B% 86% E3% 83% BB% E8% A7% A3% E6% 9E% 90% E3% 81% AE% E3% 81% 9F% E3% 82% 81% E3% 81% AE% E5% AE% 9F% E8% B7% B5% E9% 96% 8B% E7% 99% BA% E3% 82% AC% E3% 82% A4% E3% 83% 89-% E5% 8A% A0% E8% 97% A4-% E8% 80% 95% E5% A4% AA / dp / 4774183679 / ref = tmm_other_meta_binding_title_0? _Encoding = UTF8 & qid = & sr =)
MySQL
Ich entschied mich für MySQL, um die von der Twitter-API erfassten Daten zu speichern, und dachte, ich sollte die Datenbank trotzdem studieren. Die Verwendung von MySQL hat den Vorteil, dass die Anwendung später problemlos erweitert werden kann. Zum Zeitpunkt der Testproduktion habe ich versucht, die Daten in eine Textdatei zu schreiben, aber es scheint, dass der Vorgang etwas langsam war.
Wenn Sie mehr über MySQL erfahren möchten, klicken Sie auf den folgenden Link. Ich denke, Sie können ein Bild bekommen.
VPS Ich habe einen VPS gemietet, weil ich einen Server brauchte, um den Bot auszuführen. Das Bild ist, dass Sie einen Computer verwenden können, der immer läuft.
Das Erstellen der erforderlichen Umgebung erforderte Linux-Kenntnisse, was für mich als Server-Anfänger eine ziemlich schwierige Aufgabe war, aber ich installierte die erforderliche Software wie MySQL und MeCab.
Ich konnte es problemlos bei CohoHa VPS ausleihen. Ich werde es bald als Webserver verwenden. Es ist billig, wenn Sie für 880 Yen pro Monat auf dem Server spielen können ...
Es ist endlich das Hauptthema, aber in der Abbildung sieht es so aus.
Die Rolle jedes Skripts ist wie folgt @ twitter_collector.py (Datenerfassungsskript)
@ bot.py (Bot Körper)
Ich denke, dass es einfacher ist, den Teil, der Daten sammelt, und den Bot-Körper, der twittert, zu trennen.
Wir haben die Umgebung von CentOS 8 auf dem Server vorbereitet, alle erforderlichen Tools wie MeCab, MySQL und Python darauf installiert und die Umgebung erstellt.
Bot wird betrieben, indem automatisch ein Shell-Skript ausgeführt wird, um ein Python-Skript von systemd auszuführen. systemd wird in diesem Artikel leicht verständlich erklärt.
Es hat Spaß gemacht, weil es ziemlich interessante Tweets erzeugt hat, indem nur Sätze gemäß der Markov-Kettenregel gebildet wurden, aber im Moment entwerfe ich die folgenden zwei Punkte, weil ich es ähnlicher machen möchte
--Überprüfen Sie die Verteilung des Tweet-Intervall-Musters der Person für jede Zeitzone und lassen Sie sie entsprechend twittern.
Beides wird erreicht, indem Daten von Tweets abgerufen werden, die tatsächlich von Freund B erstellt wurden, sie aufgelistet und zufällig Werte aus ihnen ausgewählt werden.
Wie erwartet wird der Satz umso weniger aussagekräftig, je länger der Satz ist. Wenn es sich jedoch um einen kurzen Tweet handelt, kann es sich um einen Tweet handeln, den die Person wirklich gesagt hat, und Wörter werden zufällig aus den Inhalten ausgewählt, die die Person in der Vergangenheit getwittert hat. Daher konnte ich je nach Kombination Tweets generieren, die mich zum Lachen bringen würden.
Ich denke, wenn die Symbole genau gleich sind, ist es möglicherweise nicht möglich, zwischen dem Bot und der Person selbst zu unterscheiden, und ich möchte einen Tuling-Test durchführen.
Freund B, danke für deine Mitarbeit.
Ich fragte mich, ob ich es mit maschinellem Lernen schaffen könnte, aber nennen wir es die nächste Aufgabe ... Die Frühlingsferien sind vorbei ... Es ist eine Online-Klasse.
Vielen Dank für das Lesen bis zum Ende. Wenn Sie einen Rat haben, würde ich mich freuen, wenn Sie einen Kommentar abgeben könnten.
Recommended Posts