通过马尔可夫链生成随机句子。

chattymarkov的Python项目详细描述


codecovtravis buildpypi version

说明

chattymarkov是一个python模块,它允许您生成随机语句 通过马尔可夫链算法。

它主要适用于旨在从用户的 聊天并生成完整的w.t.f.答案。

这个库可以支持多个数据库,特别是redis 非常适合存储马尔可夫链的相关信息。

安装

pip install chattymarkov

示例

来自examples/memory.py

#!/usr/bin/env python3fromchattymarkovimportChattyMarkovmarkov=ChattyMarkov("memory://")markov.learn("My favorite animal is the crocodile")markov.learn("The word animal is six letters long")print(markov.generate())

在这里,markov实例学习两个句子(大概是 来自聊天网络,如irc或discord)。有趣的是 “动物是”序列出现两次。所以generate()方法, 它返回一个完全随机的结果,可能返回一个完全构建的 从未有人写过的句子:

$ ./memory.py
The word animal is the crocodile
$ ./memory
My favorite animal is six letters long

句子越多,生成的句子就越有趣。

支持的数据库

  • redis(推荐):您可以提供unix套接字路径(例如 redis:///path/to/unix_socket.sock;db=0;password=foobarhost:port(例如redis://localhost:6739;db=0)。额外的参数是 在unix socket path/host:port描述符后用分号分隔。 对于异步版本,请改用redis_async://
  • json:您可以提供将用json格式化的文件的路径。 示例:json:///path/to/file.json
  • 内存:在内存数据库中,只需提供memory://作为连接 字符串。对于异步版本,请改用memory_async://

贡献

如果要向数据库添加一些支持或重新设计库, 请提出请求,以便我们讨论。

待办事项

  • 支持其他数据库?

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

推荐PyPI第三方库


热门话题
在ElasticSearch中将SearchHit转换为Java对象   第三方库类的java重写XmlAdapter   java如何使用动画类获得平滑的动画效果?   Java PDFBox如果文本内容超过PDF的第一页,如何添加新页面?   Java二叉搜索树u根到最近叶的距离   java什么是diff Scanner和BufferedReader   java如何设计不生成并行数组的程序   java多次声明变量会降低执行速度吗?   java如何使用JXLAPI读取下拉列表的值   多线程为什么自定义阻塞队列在Java中不是线程安全的   java在一个变量中每输入1000个单位,就从另一个变量中减去1?   java Mapstruct通用映射器   Java中的类能否确定它是否已被修改?   java如何在MogoOperations聚合函数中定义输出类型?