我想用马尔可夫链创建一个简单的文本生成器。我不明白如何使用 java 'random' 例程以及使用什么数据结构?
例如,假设我有一个加载文档的例程,然后有一个马尔科夫例程来基于单独的结构生成文档。我将如何修改/创建生成文档例程?
public class MarkovGenerator {
DataStructure wordFreqMapByPos = new DataStructure();
public void train(String doc) {
for (word : doc) {
// Add word to the pos,
// Build a word frequency map AT THE POSITION IN THE DOCUMENT
wordFreqMapByPos.put(thePos, wordsAtThisPos)
}
}
public void generateDocument() {
?????
for (pos : wordFreqMapByPos) {
// Generate a word
// Do I need to weight? generate a word based on how often
// the word occurs at this position?
// How?
}
}
}