Pfannkuchen mit ICO zu Python oder wie man Menschen und ICO-Projekte misst

Published on September 26, 2018

Pfannkuchen mit ICO zu Python oder wie man Menschen und ICO-Projekte misst

    Guten Tag Freunde.


    Es besteht ein klares Verständnis dafür, dass die meisten ICO-Projekte im Wesentlichen ein vollständig immaterieller Vermögenswert sind. Das ICO-Projekt ist kein Mercedes-Benz-Auto, das fährt, unabhängig davon, ob es geliebt wird oder nicht. Und der Haupteinfluss auf die ICO ist die Stimmung der Menschen - sowohl die Haltung gegenüber dem Gründer der ICO als auch das Projekt selbst.


    Es wäre gut, die Stimmung der Menschen in Bezug auf den Gründer von ICO und / oder das ICO-Projekt zu messen. Was wurde gemacht Bericht unten


    Das Ergebnis war ein Instrument zum Sammeln positiver / negativer Stimmungen aus dem Internet, insbesondere von Twitter.


    Meine Umgebung ist Windows 10 x64, ich habe Python 3 im Spyder-Editor in Anaconda 5.1.0, einer drahtgebundenen Netzwerkverbindung, verwendet.


    Datenerfassung


    Ich werde die Stimmung von den Twitter-Posts bekommen. Zuerst werde ich herausfinden, was der Gründer von ICO jetzt macht und wie positiv er davon am Beispiel einiger berühmter Persönlichkeiten spricht.


    Ich werde die Python-Tweepy-Bibliothek verwenden. Um mit Twitter arbeiten zu können, müssen Sie sich als Entwickler registrieren, siehe twitter / . Kriterien für den Zugriff auf Twitter abrufen


    Der Code lautet:


    import tweepy
    API_KEY = "vvvvEXQWhuF1fhAqAtoXRrrrr"
    API_SECRET = "vvvv30kspvqiezyPc26JafhRjRiZH3K12SGNgT0Ndsqu17rrrr"
    ACCESS_TOKEN = "vvvv712098-WBn6rZR4lXsnZCwcuU0aOsRkENSGpw2lppArrrr"
    ACCESS_TOKEN_SECRET = "vvvvlG7APRc5yGiWY5xFKfIGpqkHnXAvuwwVzMwyyrrrr"
    auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
    auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
    api = tweepy.API(auth)

    Jetzt können wir auf die Twitter-API zugreifen und etwas davon abrufen oder umgekehrt. Der Fall wurde Anfang August erledigt. Sie müssen einige Tweets erhalten, um das aktuelle Projekt des Gründers zu finden. Gesucht wie folgt:


    import pandas as pd 
    searchstring = searchinfo+' -filter:retweets'
    results = pd.DataFrame()
    coursor = tweepy.Cursor(api.search, q=searchstring, since="2018-07-07", lang="en", count = 500)
    for tweet in coursor.items():
        my_series = pd.Series([str(tweet.id), tweet.created_at, tweet.text, tweet.retweeted], index=['id', 'title', 'text', 'retweeted'])
        result = pd.DataFrame(my_series).transpose()
        results = results.append(result, ignore_index = True)
    results.to_excel('results.xlsx')

    Ersetzen Sie in searchinfo den gewünschten Namen und leiten Sie ihn weiter. Das Ergebnis behielt die results.xlsx im exec.


    Creative


    Dann entschied ich mich für ein kreatives. Wir müssen die Projekte des Gründers finden. Projektnamen sind Eigennamen und werden groß geschrieben. Nehmen wir an, und es scheint wahr zu sein, dass in jedem Tweet ein Großbuchstabe geschrieben wird: 1) Der Name des Gründers, 2) Der Name seines Projekts, 3) Das erste Wort des Tweets und 4) Fremdwörter. Die Wörter 1 und 2 werden häufig getwittert, und 3 und 4 sind selten. In der Häufigkeit sind wir 3 und 4 und werden gesiebt. Ja, es wurde auch klar, dass Links oft auf Twitter auftauchen; 5) wir werden sie auch entfernen.


    Es stellte sich wie folgt heraus:


    import re
    import nltk
    nltk.download('stopwords')
    from nltk.corpus import stopwords
    from nltk.stem.porter import PorterStemmer
    corpus = []
    for i in range(0, len(results.index)):
        review1 = []
        mystr = results['text'][i]
        #убрать 1)имя кого ищем и 2)его имя в тэге
        mystr = re.sub(searchinfo, ' ', mystr)
        searchinfo1 = searchinfo.replace(" ","_")
        mystr = re.sub(searchinfo1, ' ', mystr)
        #убрать 3)ссылки
        splitted_text = mystr.split()
        mystr=""
        for word in splitted_text: #первые 7 символов
            if len(word)>6:
                if word.find('https:/')==-1 and word.find('http://')==-1:
                    mystr = mystr+' '+word
            else:
                mystr = mystr+' '+word
        review = re.sub('[^a-zA-Z]', ' ', mystr)    
        review = review.split()
        for word in review:
            if word[0].isupper():
                review1.append(word.lower())
        ps = PorterStemmer()
        review1 = [ps.stem(word) for word in review1 if not word in set(stopwords.words('english'))]
        review1 = ' '.join(review1)
        corpus.append(review1)
    from sklearn.feature_extraction.text import CountVectorizer
    cv = CountVectorizer()
    X = cv.fit_transform(corpus).toarray()
    names = cv.get_feature_names()

    Analyse kreativer Daten


    In der Namensvariablen haben wir Wörter und in der Variablen X die Orte, an denen sie erwähnt werden. Tabelle "Fold" X - wir erhalten die Anzahl der Referenzen. Löschen Sie Wörter, die selten erwähnt werden. Speichern Sie in Excel. In Excel erstellen wir ein schönes Balkendiagramm mit Informationen darüber, wie oft welche Wörter in welcher Abfrage erwähnt werden.


    Unsere besten ICO-Stars sind "Le Minh Tam" und "Mike Novogratz". Diagramme:


    Bild


    Man kann sehen, dass Le Minh Tam mit "CEO, Crypto, Mine, Sky" verwandt ist. Und ein bisschen "Verschwinden, Geld verdienen, Millionen".


    Bild


    Man kann sehen, dass Mike Novogratz mit "Bank, Bitcoin, Krypto, Ziffer, Galaxie" verwandt ist.


    Daten von X können in das neuronale Netzwerk eingegeben werden und können lernen, alles zu definieren, oder Sie können:


    Datenanalyse


    Und dann hören wir auf herumalbernSeien Sie kreativ und verwenden Sie die Python-Bibliothek TextBlob . Die Bibliothek ist ein Wunder.


    Kluge Leute sagen, sie kann:


    1. Phrasen hervorheben
    2. einen Teil des Markups machen
    3. analysieren Sie die Stimmung (es ist nützlich für uns unten),
    4. Do Klassifizierung (naive bayes, Entscheidungsbaum),
    5. übersetzen und definieren Sie die Sprache mit google translate,
    6. tokenization (den Text in Wörter und Sätze aufteilen),
    7. die Häufigkeit von Wörtern und Ausdrücken identifizieren
    8. analysieren
    9. N-Gramm erkennen
    10. Identifizieren Sie Flexion, Deklination, Konjugation von Wörtern (Pluralisierung und Singularisierung) und Lemmatisierung.
    11. richtige Schreibweise

    Die Bibliothek ermöglicht Ihnen das Hinzufügen neuer Modelle oder Sprachen durch Erweiterungen und die WordNet-Integration. Kurz gesagt, NLP- Wunderwafl .


    Wir haben die Suchergebnisse in der Datei results.xlsx gespeichert. Laden Sie es und gehen Sie es mit der TextBlob-Bibliothek durch, um die Stimmung zu bewerten:


    from textblob import TextBlob
    results = pd.read_excel('results.xlsx')
    polarity = 0
    for i in range(0, len(results.index)):
        polarity += TextBlob(results['text'][i]).sentiment.polarity
    print(polarity/i)

    Cool Ein paar Zeilen Code und ein Knall resultieren.


    Ergebnisse überprüfen


    Es stellte sich heraus, dass die auf der Anfrage von Le Minh Tam gefundenen Tweets Anfang August 2018 etwas zeigten, das sich negativ auf die Tweets auswirkte, mit einer durchschnittlichen Bewertung aller Tweets minus 0,13 . Wenn man sich die Tweets selbst ansieht, sieht man zum Beispiel: "Crypto Mining-Chef sagte, mit 35 Millionen Dollar in Fonds verschwinden zu wollen, der Mining-Konzern von Sky Mining, Le Minh ...


    Der Mitspieler „Mike Novogratz“ hatte etwas, was sich positiv auf Tweets auswirkte, mit einer durchschnittlichen Bewertung aller Tweets plus 0,03 . Sie können es so interpretieren, dass sich alles ruhig vorwärts bewegt.


    Angriffsplan


    Für die Zwecke der ICO-Bewertung lohnt es sich, die Informationen über die Gründer der ICO und die ICO selbst aus mehreren Quellen zu überwachen. Zum Beispiel:



    Plan zur Überwachung einer ICO:


    1. Erstellen Sie eine Liste mit den Namen der Gründer der ICO und der ICO selbst.
    2. Erstellen Sie eine Liste mit Ressourcen zur Überwachung.
    3. Wir machen einen Roboter, der Daten für jede Zeile von 1 sammelt - für jede Ressource von 2 das obige Beispiel.
    4. Wir stellen einen Roboter her, der eine Schätzung für jede 3 gibt, ein Beispiel oben.
    5. Speichern Sie die Ergebnisse 4 (und 3).
    6. Wir wiederholen die Absätze 3 - 5 Stunden, automatisiert, die Ergebnisse der Prüfung können irgendwo nachgeschickt / gesendet / gespeichert werden.
    7. Automatisch folgen wir den Sprüngen der Bewertung in Abschnitt 6. Wenn Sprünge in der Bewertung in Abschnitt 6 auftreten, ist dies ein Grund, eine zusätzliche Studie über das Geschehen auf fachkundige Weise durchzuführen. Und erhebe eine Panik oder freue dich umgekehrt.

    Na so etwas.


    PS Nun, oder kaufe diese Informationen zum Beispiel hier von Thomsonreuters