• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 89  文章 - 118  trackbacks - 0
            <2012年12月>
            2526272829301
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            留言簿(16)

            隨筆分類(56)

            隨筆檔案(89)

            文章分類

            推薦博客

            搜索

            •  

            最新隨筆

            最新評論

            閱讀排行榜

            轉(zhuǎn)自:http://blog.csdn.net/pennyliang/archive/2010/07/07/5717498.aspx

            中文分詞方法有很多,其中基于詞典的分詞方法有:
            •     基于模式匹配的方法:(速度快)

                                 正向最大匹配、逆向最大匹配法、雙向匹配法

            •      基于規(guī)則的方法:(索引壓縮的效果最好)
                                 最少分詞法
                 基于統(tǒng)計的分詞方法有:
            •      統(tǒng)計語言模型分詞(2-gram,3-gram)
            •      串頻統(tǒng)計的漢語自動分詞

                  除了這些基本的方法,為了獲得最佳的效果,也可以引入動態(tài)規(guī)劃的方法獲得最優(yōu)解。

                 設(shè)句子P = W0W1W2?Wn , 其中Wi (0≤i≤n) 為句子P中的第i 個漢字。Si(0≤i≤n+1)為句子的第i個間隙(切分位置)

                 那么一個句子P理論上有多少種分詞法呢?

                 分詞分法總數(shù)的通項:Fn)表示一個有n個單詞的句子包含的全部不同的分詞方法。

                 F(n)=1+ F(n-1)+F(n-2)+F(n-3)+F(n-4)+..F(1)

                F(1)=1

                F(2)=2

                F(3)=4

                F(4)=8

                 …

                F(n)=2F(n-1)

                則F(n)=2n-1

                如果將詞頻看做是距離,則求解最佳切分方法等價于在2n-1的解空間中尋找1種最佳的切分方法使得路徑最短。為此我們舉個例子:

                早起先刷牙

             

                

             

            圖中紅圈為切分點,切分點之間的連線表示確定的一種分詞

            圖中給出了三種分法,分別是[][][][][]、[早起][][刷牙][][起先][刷牙]

            假定我們有這樣一個字頻和詞頻表,分別如下

             

                          400

            早起            100

                          500

            起先            150

                          500

                          300

            刷牙            100

                          500

            則以上三種切分法的代價分別為

            [][][][][]400+500+500+300+500 = 2200

            [早起][][刷牙]100+500+100 = 700

            [][起先][刷牙]400+150+100 =750 (此處應(yīng)為650)

            因此選用第2種切分法。

            動態(tài)規(guī)劃的偽代碼大致為:

            Segment(S,low,high,cost,last)

            {

                    Mincost = MAX;

                    If(high-low<=1)

                    {

                    mincost = Costof(cost,L(low,high-low)); //其中L(start,length)的含義表示從start開始從P中取length長度的文本,Costof為該段文本的字頻,或者詞頻,如果不存在則為無窮大;如果cost數(shù)組中已經(jīng)計算過,則不重復(fù)計算,直接取值返回。

                    cost[low][high] = mincost;

                    Return mincost;

                   }

                    fori = low+1 to high

                   {

                       a = Segment(S,low,i,cost,last);//為了簡單這里做了精簡,事實上如果a返回的是無窮大,則后面不用繼續(xù)計算,直接跳出,因為這種情況下無論如何也不可能是最優(yōu)解,可以直接剪枝。

                       b = Segment(S,i,high,cost,last);

                       if(a+b<Mincost)

                       {

                           Mincost = a + b;

                           Cost[low][high]=Mincost;

                           Last[low][high] = i;//Last記錄最佳切分點

                       }

                    }

                    ExtractSegmentPos(Last,low,high);//該函數(shù)是將切分點一一展開。

            }

             

             

             

             ExtractSegmentPos(Last,low,high)

            {

                 SegPos=MAX;

                 if(high-low>1)

                 {

                      If(Last[low][high]>0)

                      {

                          SegPos =  Last[low][high]

                          output(SegPos);
                      }

                      else

                      { 

                           return;

                      }

                 }

                 ExtractSegmentPos(Last,low, SegPos);

                 ExtractSegmentPos(Last, SegPos,high);

            }


            參考文獻

            [1] 孫 曉, 黃德根  基于動態(tài)規(guī)劃的最小代價路徑漢語自動分詞   [J]小型微型計算機系統(tǒng)  第27 卷第3 期 2006 年3 月

            其他推薦閱讀

            http://www.leadbbs.com/MINI/default.asp?230-2682632-0-0-0-0-0-a-.htm

            posted on 2010-07-30 09:06 胡滿超 閱讀(761) 評論(0)  編輯 收藏 引用
            久久免费视频6| 久久久中文字幕日本| 久久人人爽人人爽人人爽| 久久青青草原精品国产软件| 久久久久国产精品麻豆AR影院| 日韩中文久久| 国产成人久久激情91| 精品国产青草久久久久福利| 久久亚洲精品国产精品婷婷 | 国产精品久久久久一区二区三区| 精品久久久久久国产牛牛app| 久久婷婷色综合一区二区| 久久久久久久精品妇女99| 99久久99这里只有免费的精品| 国产精品欧美亚洲韩国日本久久| 囯产极品美女高潮无套久久久| 亚洲综合久久综合激情久久 | 国产精品一区二区久久精品涩爱| 亚洲AV乱码久久精品蜜桃| 久久精品中文字幕一区| 久久国产精品77777| 国产精品亚洲综合久久 | 伊人久久综合成人网| 久久99热这里只有精品国产| 久久天天躁狠狠躁夜夜网站| 久久人人爽人人精品视频| 国产精品美女久久久m| 国内精品伊人久久久久妇| 久久久久黑人强伦姧人妻| 狠狠狠色丁香婷婷综合久久五月| 久久久久久久久久久久久久| 久久久久国产精品嫩草影院| 亚洲综合久久综合激情久久| 99久久精品日本一区二区免费| 亚洲AV日韩精品久久久久久| 国产欧美久久久精品影院| 香蕉99久久国产综合精品宅男自 | 久久久久久综合一区中文字幕| 久久精品亚洲日本波多野结衣| 少妇久久久久久被弄高潮| 久久无码国产专区精品|