您的位置:首页 > 编程语言 > C#

单词拼写检查器-贝叶斯算法C#版实现

2010-05-31 11:32 363 查看
最近在看贝叶斯算法,该算法在不少方面都有应用,已有的开发实例有:拼写检查、文本分类、垃圾邮件过滤、中文分词等方面。根据需要,决定实现前面两种,拼写检查已经实现,先贴于此。

程序效果图:

代码

for (int i = 0; i < n; i++)//delete一个字母的情况
{
tempWord = word.Substring(0, i) + word.Substring(i + 1);
al.Add(tempWord);
possibleNum++;

}

for (int i = 0; i < n - 1; i++)//transposition一个字母的情况
{
tempWord = word.Substring(0, i) + word.Substring(i + 1, 1) + word.Substring(i, 1) + word.Substring(i + 2);
al.Add(tempWord);
possibleNum++;

}

for (int i = 0; i < n; i++)//alter一个字母的情况
{
string t = word.Substring(i, 1);
for (int ch = 'a'; ch <= 'z'; ch++)
{
if (ch != Convert.ToChar(t))
{
tempWord = word.Substring(0, i) + Convert.ToChar(ch) + word.Substring(i + 1);
al.Add(tempWord);
possibleNum++;

}
}
}

for (int i = 0; i <= n; i++)//insert一个字母的情况
{
//string t = word.Substring(i, 1);
for (int ch = 'a'; ch <= 'z'; ch++)
{
tempWord = word.Substring(0, i) + Convert.ToChar(ch) + word.Substring(i);
al.Add(tempWord);
possibleNum++;
// Console.WriteLine(tempWord);

}
}

程序采用vs2005实现. 如需要可跟我联系。

下一步准备使用Bayes写个文本分类程序。

转载请注明来源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: