贝叶斯分类器的简单应用-拼写检查的实现

本文介绍了如何利用贝叶斯定理进行拼写检查,具体应用在编辑距离为1的查找上。通过C#编程语言实现,探讨了数据字典效率问题。
摘要由CSDN通过智能技术生成

最近看了贝叶斯定理,挺有意思的,下面是贝叶斯定理在拼写检查中的应用具体的理论部分参看阮一峰老师的文章

点击打开链接 pathyon实现只用了21行。 由于编辑距离为2的扩展实在是太大了,这里就只实现了编辑距离为1的查找

以C#实现(Ps:编辑距离可以更加完善,数据字典的效率比较低啊)

 /// <summary>
    /// 统计次数类
    /// </summary>
   public class Statistics
    {
     public  Dictionary<string, int> di_text; 
       public Statistics(List<string> Li_text)
      {
          di_text = new Dictionary<string, int>();
           foreach(string word in Li_text)
           {
                if(di_text.Keys.Contains(word))
                {
                    di_text[word]++;
                }
                else
                {
                    di_text.Add(word, 1);
                }
           }
    }
}


 /// <summary>
    /// 编辑距离类
    /// </summary>
    class Edit
    {
        //数据字典,单词以及对应的 编辑距离为1的词
     public  Dictionary<string, List<string>> Di_Word_Edit = new Dictionary<string, List<string>>();
        public void  Edit_1(ref List<string> text)

       {
         
            Char[] char_text;
            string alphat = "abcdefghijklmnopqrstuvwxyz";
            char[] alphat_char=alphat.ToCharArray();
            List<string> li_text_2=new List<string>();
            int text_count = text.Count;
            string Later_text; int Lengths=0;
            for(int i=0;i<text_count;i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值