2012-02-16 288 views
-1

我想计算字符串中每个字符出现在整个字符串长度的条件可能性。说str = {女士},所以P(m)= m出现的次数/ m的总数。但是,对于每个字符,总概率应该总和为1,即P(m)= 1; P(a)= 1等等。我坚持这一点,如果下面的代码被修改以合并这一点,我们将不得不承担责任。概率的计算

+2

嗯......在你的代码中你计算的概率是多少? – 2012-02-16 19:27:16

+2

对于这个问题,getche()是什么? – 2012-02-16 19:28:11

+4

我不认为你在处理“概率”问题。 “频率”可能是一个更好的术语。你已经知道你的数据的一切,所以没有什么随机的。 – 2012-02-16 19:28:14

回答

2

在开始编程之前,您可以/应该考虑您要计算的内容。首先阅读这个:https://en.wikipedia.org/wiki/Bigram然后这个:https://en.wikipedia.org/wiki/N-gram。它会让你开始计算n-grams的条件频率(这就是你所需要的)的含义

+0

询问之前使用Google搜索它。谢谢你的链接。其目标与N Gram计算类似。因此,如何使用我已经完成的工作为此编码。 – Chaitali 2012-02-16 19:40:52

+0

这并不容易。我建议你从计算Bigram矩阵开始。如果你得到这个工作,你可以概括你的程序。要为一组给定的字符串计算Bigram矩阵,首先用全零(矩阵的宽度和高度匹配字母表中的字母数)初始化矩阵。然后你重复遍历字符集中的所有字符串;为每个字母的每个字符串递增矩阵中坐标为(x,y)的条目,其中x是前一个字母,y是当前字母。最后,你必须按列数除以每一项。 – 2012-02-16 19:53:18

+0

这与前向算法相似吗?我的意思是马尔可夫模型中的前向算法和这个算法做同样的任务吗?还是Baum Welch算法? – Chaitali 2012-02-16 20:08:11