6个版本

0.1.5 2021年12月29日
0.1.4 2021年3月29日

#932 in 文本处理


markov_bot 中使用

GPL-3.0-only

26KB
353 代码行

markov_strings

一个简单、可配置的马尔可夫链文本生成器。给它一个字符串数组,它会输出一个随机生成的字符串。

这是来自同一作者的npm库markov-strings的移植版本。

用法

use markov_strings::*;

// Instantiate the generator
let mut markov = Markov::new();

// Optional: specify a state size
markov.set_state_size(3); // Default: 2

// Feed it data
let data: Vec<InputData> = vec![/* a lot of data */];
markov.add_to_corpus(data);

// Define a results filter
markov
    .set_filter(|r| {
        // A minimal relative score and number of references
        // The thresholds are relative to your input
        r.score > 5 && r.refs.len() > 2
            // We want to generate random tweets
            && r.text.len() <= 280
            // No mentions
            && !r.text.contains("@")
            // No urls
            && !r.text.contains("http")
    })
    .set_max_tries(100);

let result: MarkovResult = markov.generate().unwrap();

依赖项

~0.6–1.3MB
~28K SLoC