用蟒蛇取你的笑话。
PyJoke的Python项目详细描述
pyjoke是一个在数据库中获取完美笑话的包。 你说一句话,就会得到一个笑话。那不是很好吗?常用用法是:
#!/usr/bin/python # -*- coding: utf-8 -*- from pyjoke.PyJoke import * s = "Sentence with keywords" p = PyJoke() p.changeParams() p.changeDatabase("SoftJokes.db","jokesfr",True) p.changeDatabase("HardJokes.db","jokes_fr_cat",False) if p.params.conv==0: print p.getTheJoke(s) else: for i in range(p.params.conv): s = p.getTheJoke(s) print "Personne "+str((i%2)+1)+" dit : "+s
pyjoke已经作为nao模块(法语)开发,但也可以作为独立模块工作。 它应该可以用英语工作。
它是如何工作的?
- 给pyjoke一个句子(见上面的脚本)
- pyjoke会分析这个句子
- 首先,创建一个关键字列表(通过删除stopwords)
- 如果Postag处于活动状态,它将为每个Kword加一个分数
- 然后,创建一个查询,连接到数据库并发送查询
- 上面的查询是用来过滤笑话的 它将获得至少1个关键字的笑话
- 然后,给每个笑话打分
- 并返回最好的一个
用户可以更改什么?
- 配置mysql或sqlite数据库
- 使用Postag(和分数)
- NAO模式
- 语言(默认为法语)
- 对话模式(实验)
数据库格式
笑话数据库至少需要有两个字段:
- 文本
- 得分
文本本身就是笑话,分数是一个不会被使用的任意分数,真的(应该这么做…)
有用的libs和依赖项
pyjoke有依赖项,有些是可选的
- NTLK
- sqlite(或mysql)
- 山药
- treetagger(可选)
- /usr/lib/sqlite3/pcre.so(opt)