• <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
            <2008年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            留言簿(16)

            隨筆分類(lèi)(56)

            隨筆檔案(89)

            文章分類(lèi)

            推薦博客

            搜索

            •  

            最新隨筆

            最新評(píng)論

            閱讀排行榜

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

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

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

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

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

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

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

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

                 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

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

                早起先刷牙

             

                

             

            圖中紅圈為切分點(diǎn),切分點(diǎn)之間的連線(xiàn)表示確定的一種分詞

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

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

             

                          400

            早起            100

                          500

            起先            150

                          500

                          300

            刷牙            100

                          500

            則以上三種切分法的代價(jià)分別為

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

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

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

            因此選用第2種切分法。

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

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

            {

                    Mincost = MAX;

                    If(high-low<=1)

                    {

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

                    cost[low][high] = mincost;

                    Return mincost

                   }

                    fori = low+1 to high

                   {

                       a = Segment(S,low,i,cost,last);//為了簡(jiǎn)單這里做了精簡(jiǎn),事實(shí)上如果a返回的是無(wú)窮大,則后面不用繼續(xù)計(jì)算,直接跳出,因?yàn)檫@種情況下無(wú)論如何也不可能是最優(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記錄最佳切分點(diǎn)

                       }

                    }

                    ExtractSegmentPos(Last,low,high);//該函數(shù)是將切分點(diǎn)一一展開(kāi)。

            }

             

             

             

             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);

            }


            參考文獻(xiàn)

            [1] 孫 曉, 黃德根  基于動(dòng)態(tài)規(guī)劃的最小代價(jià)路徑漢語(yǔ)自動(dòng)分詞   [J]小型微型計(jì)算機(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 胡滿(mǎn)超 閱讀(759) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            久久久青草青青国产亚洲免观| 国产成人精品久久亚洲高清不卡| 中文无码久久精品| 国产福利电影一区二区三区,免费久久久久久久精 | 奇米影视7777久久精品| 精品久久久久久中文字幕大豆网| 欧美精品一本久久男人的天堂| 97久久婷婷五月综合色d啪蜜芽| 久久99精品久久久久久hb无码 | 亚洲精品国精品久久99热一| 亚洲精品成人网久久久久久| 蜜桃麻豆www久久| 中文字幕日本人妻久久久免费| 丁香五月综合久久激情| 亚洲AV日韩AV天堂久久| 一本一道久久a久久精品综合 | 久久99精品国产麻豆不卡| 麻豆精品久久精品色综合| 久久久久久久波多野结衣高潮 | 久久精品国产亚洲av影院| 99精品久久精品一区二区| 久久久久久国产精品无码下载 | 久久精品aⅴ无码中文字字幕不卡| 88久久精品无码一区二区毛片 | 中文精品久久久久人妻不卡| 久久激情亚洲精品无码?V| 国产精品欧美亚洲韩国日本久久| 欧美亚洲色综久久精品国产| 久久99这里只有精品国产| 久久精品无码一区二区WWW| 欧美激情精品久久久久久久九九九| 日韩一区二区久久久久久| 麻豆精品久久精品色综合| 四虎国产精品免费久久久| 精品久久久噜噜噜久久久| av国内精品久久久久影院| 久久精品国产亚洲AV嫖农村妇女| 熟妇人妻久久中文字幕| 久久精品国产清高在天天线| 国产午夜精品久久久久免费视| 日本久久久久亚洲中字幕 |