用蟒蛇取你的笑话。

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 InputStream对象在声明后关闭   java未定义名为“transactionManager”的bean重命名transactionManager   java“jar”命令何时会拒绝将类添加到java中。jar文件?   java JPA标准依赖WHERE子句   安卓中从SD卡读取文本文件时出现java错误   java直接启用类似位置的权限   使用@WebMvcTest和Mockito-BDDMockito对SpringBoot-RestController进行java测试   java JSESSIONID存储在哪里?   java jtextarea鼠标事件覆盖容器鼠标事件   java DRL无法解析动态加载的类   java是从一个方法返回多个对象的最简单方法   java自定义按钮/编辑框是否不可见?   java GUI如何在保存用户输入的同时在面板或框架之间切换   swing Java自定义JSlider不会更新   GridBagLayout中的java超过1个JPanel   java从ProjectReactor中的flux中采样除第一个元素外的所有元素   Java泛型和泛型类型   Java代码生成宽指令的jvm