[PYTHON] Erstellen Sie einen Bot, der Twitter-Trends verstärkt

Haben Sie eine Zeit, in der Sie den Twitter-Trend ankurbeln möchten?

In einem solchen Fall erstellen wir einen Bot, der automatisch twittert, indem Sätze aus einem bestimmten Tag in Python generiert werden.

Dieses Mal werde ich den Teil des Abrufens von Sätzen von Twitter und des Bildens von Sätzen weglassen. Außerdem habe ich es ungefähr 3 Mal aktualisiert, Das allererste ist einfach, also werde ich es erklären.

Führen Sie eine Syntaxanalyse durch

Zuerst müssen wir die Nomenklatur aus dem Japanischen extrahieren. Dieses Mal werden wir eine Syntaxanalysebibliothek namens "janome" verwenden.

janome ist ein Tool, das Japanisch in Syntax zerlegt

from janome.tokenizer import Tokenizer

tokenizer = Tokenizer()

sentence = 'Der heutige Gast war Herr Wada.'

for token in tokenizer.tokenize(sentence):
    print(token)
    
#Das heutige Substantiv,Anwalt möglich,*,*,*,*,heute,Hongjitsu,Hongjitsu
#Hilfswörter,Union,*,*,*,*,von,Nein,Nein
#Gastnomenklatur,Allgemeines,*,*,*,*,Die Gäste,Die Gäste,Die Gäste
#Ist ein Assistent,Hilfe,*,*,*,*,Ist,C.,Beeindruckend
#Wada Nomen,Proprietäre Nomenklatur,Name der Person,Nachname,*,*,Wada,Wada,Wada
#San Nomen,Suffix,Name der Person,*,*,*,Herr.,Sonne,Sonne
#Deshi Hilfsverb,*,*,*,Besonderer Tod,Kontinuierlicher Typ,ist,Deci,Deci
#Hilfsverb,*,*,*,Besondere,Grundform,Ta,Ta,Ta
#.. Symbol,Phrase,*,*,*,*,。,。,。

Der Japaner wird so zersetzt.

Suchen Sie nach Duplikaten

Sie können damit einen Tweet aufschlüsseln, dies kann jedoch zu Rauschen führen.

Machen Sie daher nur dann einen Satz, wenn dieselbe Nomenklatur in mehreren Tweets vorhanden ist.

Manche Leute mögen das. Screenshot.png

Erstens gibt es eine Klasse für die doppelte Extraktion.

class DuplicateChecker:
    
    def __init__(self, tokenier: Tokenizer):
        self.twitt_nouns = []
        self.tokenier = tokenier

    def extract_duplications(self) -> [str]:
        return [x for x in set(self.twitt_nouns) if self.twitt_nouns.count(x) > 1]

    def input_twitt(self, twitt: str):
        tokens = self.tokenier.tokenize(twitt)
        
        nouns = []
        buffer = None
        for token in tokens:
            if token.part_of_speech.count("Substantiv"):
                if buffer is None: 
                    buffer = ""
                buffer += token.surface
            else:
                if buffer is not None:
                    nouns.append(buffer)
                buffer = None
                    
                    
        self.twitt_nouns.extend(nouns)

Wenn ich jetzt nach Duplikaten suche, sieht es so aus:

tokenier = Tokenizer()
duplicateChecker = DuplicateChecker(tokenier)

duplicateChecker.input_twitt("Ich spürte die Möglichkeit des Streifenmusters")
duplicateChecker.input_twitt('Ich fühle nur die Möglichkeit')
duplicateChecker.input_twitt('Fühle die Möglichkeit')

nouns = duplicateChecker.extract_duplications()
nouns # ["Möglichkeit"]

(Die Produktion wurde auch vom Benutzer überprüft.)

Anweisungserstellung

Machen Sie einen Satz aus der zuletzt extrahierten Nomenklatur. (Diese Zeit ist angemessen.)

class SentenceGenerator:
    
    def __init__(self, nouns:[str]):
        self.nouns = nouns
        self.senence_base = ["{}Ist Gras", "{}wichtig", "{}", "{}Hallo", "{}だHallo", "{}!"]
        
    def generate(self) -> str:
        index:int = int(random.uniform(0, 200)) % len(self.senence_base)
        sentence = self.senence_base[index].format(self.nouns[0])
        return sentence

Wenn es ausgeführt wird, sieht es so aus. スクリーンショット 2.png

Zusammenfassung

Diesmal habe ich versucht, etwas unangemessen Einfaches zu machen. Wenn es eine Antwort gibt, werde ich schreiben, wie ich sie aktualisiert habe.

Recommended Posts

Erstellen Sie einen Bot, der Twitter-Trends verstärkt
Erstellen Sie einen Slack Bot
Schritte zum Erstellen eines Twitter-Bots mit Python
Erstellen Sie mithilfe der Twitter-Streaming-API einen Echtzeit-Bot für die automatische Antwort
Erstellen Sie einen Twitter-BOT mit dem GoogleAppEngine SDK für Python
Erstellen Sie mit Django einen LINE-Bot
Einfach! Implementieren Sie einen Twitter-Bot, der auf Heroku in Python ausgeführt wird
Ich habe einen Twitter-Bot erstellt, der das von #PokemonGO gefangene Pokemon murmelt
[LINE Messaging API] Erstellen Sie einen BOT, der eine Verbindung zu jemandem mit Python herstellt
Erstellen Sie einen Bot, um Corona-Virus-Informationen zu retweeten
[Python] [LINE Bot] Erstellen Sie einen LINE Bot mit Papageienrückgabe
Erstellen Sie ein neues Diktat, das Diktate kombiniert
[Python] Erstellen Sie einen LineBot, der regelmäßig ausgeführt wird
Machen wir einen Twitter-Bot mit Python!
Erstellen Sie einen BOT, der mit Discord registrierte Bilder wie Piktogramme aufrufen kann
Erstellen Sie einen Twitter-BOT-Dienst mit der GAE / P + Tweepy + RIOT-API! (Teil 2)
[Python] Ich habe einen Twitter-Bot erstellt, der freundschaftliche Tweets mit Markov-Kettenregeln generiert.
Erstellen Sie mit AWS Lambda einen Bot, der Instanzen mit bestimmten Tags automatisch startet / stoppt
Ein Memo, auf das ich gestoßen bin, als ich ein Zitat RT auf Twitter Bot gemacht habe
Machen Sie Twitter Trend Bot mit Heroku + Python
Stummschalten Sie Twitter-Trends und haben Sie ein angenehmes Twitter-Leben! !!
Erstellen Sie mit Minette für Python einen LINE BOT
Erstellen Sie eine Seite, die unbegrenzt mit Python geladen wird
Erstellen Sie einen BOT, der die Anzahl der infizierten Personen in der neuen Corona anzeigt
Python: Erstellen Sie eine Klasse, die entpackte Zuweisungen unterstützt
Erstellen Sie einen Discord-Bot, der einseitig mit Python benachrichtigt (nur Anfragen und JSON werden verwendet).
Erstellen Sie eine gefälschte Klasse, die auch betrügt, ist Instanz
Erstellen Sie mit Selenium einen Datenerfassungsbot in Python
Ich habe einen Twitter BOT mit GAE (Python) gemacht (mit einer Referenz)
Erstellen Sie einen BOT, der die Discord-URL verkürzt
Erstellen Sie einen Chatbot, der die kostenlose Eingabe mit Word2Vec unterstützt
Erstellen Sie in Python einen Dekorator, der Argumente dynamisch akzeptiert. Erstellen Sie einen Dekorator
Erstellen Sie einen Django-Zeitplan
Erstellen Sie mit MeCab mit Discord einen Bot, der nur das Ergebnis der morphologischen Analyse zurückgibt
Erstellen Sie ein Python-Modul
Erstellen Sie eine Python-Umgebung
Ich habe ein Skript geschrieben, um mit AWS Lambda + Python 2.7 schnell eine Entwicklungsumgebung für Twitter Bot zu erstellen
Erstellen Sie eine Web-App, die Zahlen mit einem neuronalen Netzwerk erkennt
Erstellen Sie eine PythonBox, die nach der PEPPER-Eingabe mit Random ausgegeben wird
Erstellen Sie einen QR-Code, der durch Kratzen "Izumi Oishi" anzeigt
Erstellen Sie ein Plug-In, das in Sublime Text 2 immer beliebigen Text hervorhebt
Erstellen Sie eine App für maschinelles Lernen mit ABEJA Platform + LINE Bot
Erstellen Sie einen Mastodon-Bot mit einer Funktion, die automatisch mit Python antwortet
[Python] Erstellen Sie einen Linebot, der ein beliebiges Datum auf ein Foto zeichnet
Erstellen wir ein Skript, das sich bei Ideone.com in Python registriert.
Erstellen Sie ein Lebensspiel, das manuell mit tkinter aktualisiert wird
Erstellen wir eine Docker-Umgebung, in der Qiita-Trendinformationen gespeichert werden!
Erstellen Sie den Code, der in Python "A und vorgeben B" ausgibt
Ein unfruchtbarer Twitter-Posting-Client, der nur Ihre Tweets speichert
Tornado - Erstellen wir eine Web-API, die JSON problemlos mit JSON zurückgibt
Erstellen Sie eine Web-API, die Bilder mit Django liefern kann
Ich habe versucht, einen Bot für die Ankündigung eines Wiire-Ereignisses zu erstellen
Erstellen Sie ein Korrelationsdiagramm aus dem Konversationsverlauf von Twitter