给出前一个字符的字符串中的下一个字符的可能性?

时间:2018-06-10 20:10:14

标签: java string conditional generator probability

我正在尝试找到一种方法来查找(并存储)字符跟随Java中字符序列中另一个字符的概率。

给定character sequences的数据集:

如果一个单词以'A'开头,那么数据集字符串序列中所有可能字符的概率是多少(例如'b','c','d')?从这个概率来看,序列中下一个字符的概率是多少?

姓名:

  • ADDA
  • ANNA
  • ADAM

'a'之后的第二个字符为第1个:66.6%'d',33.3%'n'

'd'之后的第3个字符为第2个:50%'d',50%'a'

'n'之后的第3个字符为第2个:100%'n'

'd'之后的第4个字符为第3个:100%'a'

'n'之后的第4个字符为第3个字符:100%'a'

'a'之后的第4个字符为第3个字符:100%'m'

有没有办法以可用的格式存储所有这些数据,以便我可以根据数据集中以下字符的概率使用数据在给定的第一个字符后生成字符?

我想以这种方式生成名单列表:

  1. 随机选择第一个字符
  2. 追加从可能的字符及其概率列表中选择的字符
  3. 用不同的字符长度冲洗并重复
  4. 我不是要求一个完整的解决方案 - 只是建议如何做到这一点。

    如果有人提出这个问题,我道歉。如果您发现任何问题,请告诉我如何改进我的问题。

1 个答案:

答案 0 :(得分:1)

对于碰巧遇到这个问题的其他人:我发现this blog post有一个关于马尔可夫链的很好的教程,用于预测许多事物中的下一个字符概率。马尔可夫链是the Wikipedia