dankenstein Markov Chain Twitter Bot generator开源项目

我要开发同款
匿名用户2021年11月08日
30阅读
开发技术Python
所属分类应用工具、IM/聊天/语音工具
授权协议BSD-3-Clause License

作品详情

Dankenstein

DankensteinisaMarkovChainTwitterBotgenerator,basedonmakingamashupofdifferentcorpora.

Itisdescribedinthisblogpost.

Dependencies

ThesoftwareitselfisimplementedusingBash,Make,andPython.

You'llneedaTwitterAccountandaTwitterapplication.Fromthelatter,you'llneedaconsumerkey,aconsumersecret,anaccesstokenandanaccesstokensecret.

EntertheseintotwitterCredentials.sh

Togeneratethesupporteddatasetsyou'llneed:

PopplerbrewinstallpoppleronmacOSsudoapt-getinstall-ypoppler-utilsonUbuntu

Afterthat,youcanruntheimportEnv.shscriptinthedev-folder.ThiswillcreateaPythonvirtualenvironment(condaifyouhaveit,virtualenvotherwise)calleddankenstein,andinstallallpython-dependencies.

Ifyou'dratherinstallthemseparately,theyare:Tweepy,darklyrics,wikiquote,markovify;(optionallynltk)

Usage

UsageisbasedaroundMake.Thefollowingoptionsareavailable:

makecorpora:Buildsallcorporamakelist:Listsallavailablecorporamakecombinations:Printsallpossiblecombinationsoftwocandidates-mayincludeduplicates(withswitchedpositions)makemodelARGS="corpus1corpus2[(scale1scale2)stateSizeoverlapTotaloverlapRatiotriessentencesmodelComplexity]":Generatesamodelbasedontwocorpora(theonlyrequiredargs).Ifyoudefinescale1,youmustdefinescale2.Alloptionsinsidethesquarebracketsareoptional.ARGS:corpus1string-thenameofthefirstcorpusnodefaultcorpus2string-thenameofthesecondcorpusnodefaultscale1float/int-scaleofcorpus1relativetocorpus2defaultsto1scale2float/int-scaleofcorpus2relativetocorpus1defaultsto1stateSizeint-statesizeoftheMarkovchaindefaultsto2overlapTotalint-maximumsequentialwordsthatoverlapwithasentencefromthecorporadefaultsto15overlapRatioint-maximumpercentageofoverlapwithasentencefromthecorporadefaultsto70triesint-attemptstomakeanoriginalsentencedefaultsto10sentencesint-numberofsentencesdefaultsto5modelComplexitystring-naive|expertdefaultsto"naive"EXAMPLE:makemodelARGS="tcmjobs21215301025expert"&&makesentencesmakesentence:Outputsonesentencebasedonanavailable(previouslytrained)model.makesentences:Outputstheamountofsentencesgivenasanargumentduringmodelgeneration.makeclean:Deletesallcorpora.maketweet:Postsatweet.

Itispossibletoseallcombinationsforagivencandidate,e.g.makecombinations|grep"picard+".

Deployment:

Twittersecretsaresetviaenvironmentvariables,e.g.

exportCONSUMER_KEY="consumer_key"exportCONSUMER_SECRET="consumer_secret"exportACCESS_KEY="access_token"exportACCESS_SECRET="access_token_secret"

Anexampledeploymentisdescribedinthebottomofthisblogpost.

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论