用蟒蛇取你的笑话。

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)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java对ServiceListener和ServiceTracker调用提供了哪些排序保证?   java找不到方法格式的符号(DateTimeFormatter)?   mysql有没有一种方法可以将TCPDump输出到一个文件中,并用Java对其进行过滤,每5秒钟用新数据覆盖一次该文件?   java如何最好地配置用户上传支持文件的上传位置   java我在Android上使用OData4j,我无法获取实体   JPA实体关系简单示例中的java获取错误   JAVANoClassDefFoundError:安卓。应用程序。用法安卓中的UsageStatsManager   Eclipse中javaoo代码分析   java MethodVisitor抛出类格式错误   java为什么在从ViewModel调用时,改型排队不起作用?   调试小程序Java控制台:删除跟踪消息大小限制   java复杂安卓活动动画   java如何在使用JDOM2解析XML时忽略注释内容   java通过循环创建文本字段   即使在bufferedwriter关闭后也未发现java文件异常   单链表恢复中的java错误