3 days ~ Evaluating the curation effort of aicu
My curation bot @aicu has been running for a couple of days now, let's look how well it's doing.
Cold Hard Numbers
My bot has been watching the "new" category of steemit for three days. Minus some crashes at night due to overheating. I'd say that's roughly 48-55 hours of runtime. In this time it resteemed and voted on 46 posts which the bot categorised as exceptional content.
If you're curious about how a bot determines such a subjective concept: I trained a machine learning model on a list of ~9000 articles. The articles are annotated with "picked by a curation network" or "not picked". The features only contain features which would not bias the classifier towards patterns that are discouraged in the steemit whitepaper (only voting on trending posts, scalping rewards etc.). I excluded features like the number of voters, the voters themselves, comments, author name and the post reward. The model looks at the text itself (TF-IDF Model +POS Tagger) and various metrics from the post itself like HTML tags, the number of images, post readability, the main post category etc. I don't want to discover trending posts with this bot, but interesting authors.
The vote and resteem are cast after roughly 14 minutes. I'm thinking of reducing that time window, as that would give more reward to the author. Aside from that, if cheetah notices a post in the 14 minute time window, the bot won't pick the post.
In the beginning, I set the bot to vote and resteem a post if 85% of the trees in the forest are confident that the post is high quality. After running for a while, I noticed that this threshold produced a few too many matches, and I increased the limit to 90%. It's been running at this setting since today, and I'll keep monitoring it from there.
Anyway, onto the performance of the bot. I decided to monitor performance not by the curation reward, but by the number of posts picked by larger curation networks after my bot has picked a post.
46 posts in total, of those are: 10 % picked by Curie, 6.5% C² and 6.5% travelfeed along with some others. Not too bad for a first attempt. I'm curious how this performance will change with the new 90% threshold.
Onto further feature engineering
But first and foremost I need to improve the features in the model. I've been thinking about training a Convolutional Neural Network as a feature extractor on images to incorporate this feature into the model. But I'm a bit sceptic whether this feature would introduce further noise. An interesting feature might be switching the HTML part of the model over to a TF-IDF model based on html tags including class names. Currently, the model is quite good at picking posts with high-quality images, without looking at them. Just reading a post seems to be good enough for the start.
This is a fascinating, yet intelligent piece of gadgetry you've crafted.
Wanted to let you know your bot picked up one of my posts, and I am thankful to the bot, but moreso to you for taking the type to craft something with this amount of artificial intelligence.
To make a bot that curates what appears to be quality content, and also to do it make effective earnings, I think that is admirable!
My posts have received some @curie votes this week, so if the one the bot picked also receives a @curie vote, then you are definitely on the right track.
I can't toot my own horn without sounding like I am bragging, but I think my content is better than most posts that took some manual time to write and edit, and definitely better than the for-profit spam posts designed for farming rewards.
So again, at least in my opinion, I think your bot is working well, and I appreciate its existence and operator. Cheers!
Now I will have a look at your blog :)
Thanks :) You do certainly write interesting posts, keep up the good work on your end as well :)
Posted using Partiko Android
Someone already built an AI bot for curation. I think she stopped but let me check.
There are many different approaches to AI curation bots. And especially how you use them. It would be fairly easy to scalp e.g. Curie posts just by monitoring the upvotes of promising posts. Both can be done using machine learning
Discovering new and interesting content on the other hand is a bit more tricky.
Regarding the other curation bot:
It would be interesting to know which bot that was. It's always interesting to see the approaches of other people :)
Well, it picked your post for curation, so you can follow the link. It's @trufflepig.
Oh, so the bot goldrooster meant was trufflepig, thanks :) It uses an interesting approach as well.
Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 13 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.
I upvoted your contribution because to my mind your post is at least 5 SBD worth and should receive 192 votes. It's now up to the lovely Steemit community to make this come true.
I am
TrufflePig
, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, you can find an explanation here!Have a nice day and sincerely yours,
TrufflePig
Hey @bauloewe, I like the selection of this bot. Keep up the good work!
Posted using Partiko iOS
Thanks, I'm glad that you like its selection :)
I'm working on an updated version right now. I hope I'll be able to share some on it soon
Posted using Partiko Android
Cool!
This is a really fine idea for AI using. I have never heard of anyone doing this. Was it difficult to program it?
Hey, sorry for replying so late, I've completely missed your comment :)
It wasn't particularly difficult to program. The thing is, that my perception of that might be a bit off, as I've been studying computer science with focus on AI. Especially natural language processing. So in general I'd say, if you have a basic understanding of machine learning and natural language processing it shouldn't be too hard
:-D and now sorry for my late reply. I got yours during my vacation and than forgot about it.
LOL, "shouldn't be too hard." This can only someone say who is into this topic. No, I have really no understanding of machine learning, I can somehow imagine that, but not putting it into the proper words.
Thanks for putting me on your list, can I still say that? :-DDD
P.S. what do you think of this new HF?
Wir habens auch mit dem timing :D Klar kannst du, aber welche Liste 🤔?
Jedenfalls, ich hab ja gesagt, wenn man einen Hintergrund hat in Computerlinguistik/NLP/ML/AI ;)
Wegen der HF -> die macht Curation ziemlich attraktiv, auch wenn das downvoten Feature teils etwas zu exzessiv benutzt wird. Bin gespannt wie sich das entwickelt. Bin in letzter Zeit zu sehr mit meinem SM Bot beschäftigt, aber hoffe ich finde bald mal Zeit Neuerungen wie die großen sprachmodelle (GPT-2, BERT) mit aicu zu testen
LOL :-D
Da dein AICU account eine künstliche "Findemaschine" ist, war ich mir nicht sicher, ob ich überhaupt "Liste" oder "Radar" sagen kann. Ich bin öfter von aicu gefunden worden und hab mich gefreut. Die macht das also alles alleine?
Sorry, dass ich so dumm frage.
Wenn du Sprachmodelle sagst, gehe ich davon aus, dass sich in dieser Richtung etwas Nennenswertes getan hat.
Hat Computerlinguistik dich irgendwie auch mit philosophischen Fragen in Kontakt gebracht? Sprache ist sehr sehr interessant, wie ich finde.
Ist im Prinzip ein Ranking/Recommendation System, ähnliche Sachen setzt auch Google/Facebook ein um Inhalte im feed vorzuschlagen ;)
Der bot läuft komplett selbstständig. Das einzige wo ich in Zukunft evtl eingreifen werde ist wenn ein Plagiat ausgewählt wird. Im Moment schau ich ob cheetah den Post flagged, aber mit den neuen Post Zeiten ist das jetzt etwas knapp.
Und ja, bei sprachmodellen hat sich die letzten Jahrzehnte sehr viel getan. Gerade dieses Jahr kam mit GPT-2 und BERT viele Neuerungen hinzu. (zwar noch fraglich, ob die Modelle wirklich so gut sind, aber das ist ne längere Geschichte)
In Computerlinguistik hast du auch normale Linguistik Vorlesungen, da geht's auch mehr in die Geisteswissenschaftliche Richtung und auch philosophischer. Computerlinguistik ist zumindest an meiner Uni mehr auf die theoretische Basis ausgerichtet. Sprache beschrieben mit formaler Logik, Datenstrukturen die ligustische Ideen einfangen etc (gesprochen und geschrieben) . Und natürlich viel KI, Machine learning uvm. Ist schon eine interessante Kombi Sprache so zu sehen und zu kennenzulernen. Aber auch reine Linguistik ist faszinierend
Posted using Partiko Android
Du meinst den berühmten Algorithmus, nach dem Content eine bestimmte Vielfalt zeigen muss, ja?
Ja, die neuesten Post-Zeiten sind wie alle HF-Änderungen immer zwei- oder mehrgesichtig. Sie eliminieren einen Nachteil und schaffen dafür einen anderen.
Warum bist du auf Steemit? Frage ich aus Neugier. Ist es für dich ein Experiment, eine Plattform, wo du für deine persönlichen Ziele etwas lernen kannst?
Ich befasse mich ab und zu mal mit KI und dem Versuch, Menschlichkeit nachzuahmen. Ich hatte dazu mal einen sehr interessanten Artikel gelesen, der entgegen der Mainstream-Verbreitungen etwas differenziertere Informationen gab.
"Formale Logik" müsste ich erst recherchieren, was das ist. Wie Datenstrukturen linguistische Ideen einfangen, stelle ich mir überaus komplex, bis unmöglich vor. Eine Unterhaltung, die ich einst darüber führte mit jemandem, kannst du hier finden: https://steemit.com/thoughts/@oendertuerk/would-it-be-possible-to-download-skills-into-your-brain-like-in-the-movie-matrix - wenn du gaaanz viel Zeit hast :)
Wobei die Frage wäre, was genau "Linguistische Ideen" sind.
Grüße!
Nein, damit habt das nichts zu tun. Es geht eher um ähnlichkeit zu Nutzer/Gruppen präferenzen. Aicu fängt z. B. die Präferenz von den großen curatoren Netzwerken (Curie in erster Linie) ein, zumindest versucht es das. welchen algo meinst du?
Imo waren die 15 Minuten davor ideal was Plagiate anging. Cheetah arbeitet recht schnell, aber nicht 5 min schnell.
Auf steemit bin ich gelandet weil ich ne blogging Plattform gesucht hab. Medium war mir suspekt und von steemit hab ich öfters am Rand was mitbekommen.
Bin seit 2016 im Crypto Bereich unterwegs, da schnappt man das ein oder andere auf.
Und da mir das Konzept von Dezentralisierter content plattform/social media gefallen hat, bin ich geblieben und hab anfangs über Silber/Gold münzen gepostet.
Dann hab ich gesehen wie einfach man mit der steem blockchain interagieren kann programmiertechnisch und hab angefangen den curator bot zu schreiben. Ist ja recht nahe an meinem Fachgebiet dran, da hat sich das ganze ergeben. Der SM bot ist entstanden weil ich meine Reinforcement Learning Kenntnisse verbessern wollte.
Linguistische Ideen meint Konzepte und Theorien über sprachverständnis, sprachbedeutung, Struktur uvm. Da gibt's dann z. B. Mathematische Konstrukte die sicherstellen das Sachen wie kasus, numerus etc in einem Satz korrekt "vergeben" werden. Nennt sich Linear Funktionale Grammatik. Oder allgemein satzstruktur (Syntax Bäume z. B. Sind Visualisierungen von formalen grammatiken die oft dafür benutzt werden). Gibt noch viele mehr, aber das mal als Grundidee.
Linguistische Ideen werden ziemlich erfolgreich seit viele Jahrzehnten umgesetzt in der informatik, gerade neuronale Netzwerke ermöglichen interessante höherdimensionale Repräsentation von Daten die auch viele sprachliche Relationen gut einfangen. Aber das Rad neu erfinden tun sie nicht.
Formale logik ist nen Oberbegriff für Sachen wie Aussagenlogik, Prädikatenlogik (1.,2. Etc Ordnung) Modallogik, Temporale Logik uvm. Den Post schau ich mir später dann mal an :)