• <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)  編輯 收藏 引用
            久久久久综合国产欧美一区二区| 色偷偷91久久综合噜噜噜噜| 久久精品国产亚洲AV影院| 久久久久亚洲AV无码专区首JN | 99久久国产综合精品成人影院| 99久久婷婷国产综合亚洲| 久久精品国产福利国产秒| 久久免费香蕉视频| 亚洲人成网亚洲欧洲无码久久| 久久国产亚洲精品麻豆| 久久婷婷五月综合成人D啪| 亚洲av成人无码久久精品| 久久99热这里只有精品国产| 伊人久久综合成人网| 久久er国产精品免费观看8| 少妇精品久久久一区二区三区| 狠狠色综合网站久久久久久久| 97精品伊人久久久大香线蕉| 精品无码久久久久久久动漫| 欧美牲交A欧牲交aⅴ久久| 人妻精品久久久久中文字幕| 亚洲嫩草影院久久精品| 久久综合狠狠综合久久综合88 | 久久天天躁狠狠躁夜夜不卡| 国产欧美久久久精品| 亚洲va久久久久| 久久精品免费网站网| 国产一级持黄大片99久久 | 99久久国产综合精品五月天喷水| 亚洲级αV无码毛片久久精品 | 久久精品国产亚洲av麻豆小说| 无码任你躁久久久久久老妇App| 久久99精品久久久久久9蜜桃| 久久99精品国产| 国产精品久久久久天天影视| 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 亚洲国产日韩欧美综合久久| 久久久亚洲精品蜜桃臀| 久久久精品久久久久久| 精品久久人人做人人爽综合 | 国产精品久久久久国产A级|