通过马尔可夫链生成随机句子。
chattymarkov的Python项目详细描述
说明
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=foobar或 host:port(例如redis://localhost:6739;db=0)。额外的参数是 在unix socket path/host:port描述符后用分号分隔。 对于异步版本,请改用redis_async://。
- json:您可以提供将用json格式化的文件的路径。 示例:json:///path/to/file.json
- 内存:在内存数据库中,只需提供memory://作为连接 字符串。对于异步版本,请改用memory_async://。
贡献
如果要向数据库添加一些支持或重新设计库, 请提出请求,以便我们讨论。
待办事项
- 支持其他数据库?