Bot generated silliness

in #steemstem5 years ago (edited)

I created a silly script which can generate short sentences using a text sample set. The idea is pretty simple. It is based on a probabilistic principle. More specifically, it first finds the probability that a word is followed by another word using the sample set and then constructs a sentences using these probabilities.

Method by example

For example if you feed it the sample sentences:

I have a cow
I have a banana
A cheese
A cheese cake would be nice

Then if it picksI to start a sentence with the sample suggests that I is followd up byhave a and that a can be followed up by cow, banana or cheese. If you work this out mathematically you end up with a probabilistic graph which in math world is called a Markov Chain. In the case of the sample set it could generate a sentence like I have a cheese.

Probability + (non-human) quality check

This probabilistic process generates random sentences, which even though some patterns recognition is going on, is quite often gibberish. In the previous example, it could for example generate I have a cheese cake would be nice. So you can then add a function which checks if the output makes sense using some basic rules. For example, if the sample on average has short sentences, it would probably generate gibberish if the output is a long sentence.

Here is an overview if you enjoy flow charts :D
text5730.png

Output

I let the script loose on a long list of english proverbs and I generated some fun stuff:

procrastination is hard work

a man is no man

if wishes were horses, beggars should have ears

the longest journey starts with you

brevity is bound to the dead

people who can do it will

On average it still produces a lot of nonsensical stuff. Maybe only 10% of its output is interesting. But you can feed the good results back to your data set which then improves the result. Yeay another flowchart.

rect41.png

Steem feedback mechanism

This feedback mechanism to the data set you can perform on steem. I can let payout-value determine the quality of the output. But proverbs are of course not so fun. Also, proverbs are a bit more difficult than ordinary sentences since they quite often contain certain logical structures or some special word order. So from a pattern recognition perspective not the best stuff to work with. What's fun then? Insults! Especially, Shakesperean ones.

Mechanical owl the insult owl

So I collected a long list of insults and used my script to generate insults which are pretty swell. Mechanicalowl will starting posting these on a daily bases and then add new data to the underlying data set based on the payout :D


936px-Shakespeare3.jpg
Wiki + Pixabay

To conclude here are some insults:

Dissembling harlot, thou art the cap of nature.

Thou wert clean enough to be known a cheese.

Thy tongue outvenoms all the tartness of all markets.

:D

Sort:  

Markov chains can be fun!

Posted using Partiko Android

Short declarative sentences ... I guess you can write like Hemingway now!

This:
if wishes were horses, beggars should have ears

Posted using Partiko Android

Makes perfect sense :D

Posted using Partiko Android




This post has been voted on by the SteemSTEM curation team and voting trail. It is elligible for support from @utopian-io.

If you appreciate the work we are doing, then consider supporting our witness stem.witness. Additional witness support to the utopian-io witness would be appreciated as well.

For additional information please join us on the SteemSTEM discord and to get to know the rest of the community!

Please consider setting @steemstem as a beneficiary to your post to get a stronger support.

Please consider using the steemstem.io app to get a stronger support.

Hi @mathowl!

Your post was upvoted by Utopian.io in cooperation with @steemstem - supporting knowledge, innovation and technological advancement on the Steem Blockchain.

Contribute to Open Source with utopian.io

Learn how to contribute on our website and join the new open source economy.

Want to chat? Join the Utopian Community on Discord https://discord.gg/h52nFrV

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by mathowl from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

Coin Marketplace

STEEM 0.28
TRX 0.12
JST 0.034
BTC 63956.43
ETH 3320.30
USDT 1.00
SBD 3.92