<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-23  評論-58  文章-0  trackbacks-0

    推翻了第一版,參考了其他分詞程序,重新寫的第二版。

    逆向最大匹配中文分詞程序,能實現中英文數字混合分詞。比如能分出這樣的詞:bb霜、3室、樂phone、touch4、mp3、T恤

    public class RMM2 extends M
    {
        
    public static final HashMap<Character,TreeNode> dic = Dictionary.getRmmdic();
        
        
    /**
         * 
    @return 返回匹配最長詞的長度, 沒有找到返回 0.
         
    */

        
    public int maxMatch(TreeNode node,char[] sen, int offset) 
        
    {
            
    int idx = offset;
            
    for(int i=offset; i>=0; i--
            
    {
                node 
    = node.subNode(sen[i]);
                
    if(node != null
                
    {
                    
    if(node.isAlsoLeaf()) 
                        idx 
    = i; 
                }

                
    else 
                    
    break;
            }

            
    return idx ;
        }

        
        
    public ArrayList<Token> getToken(ArrayList<Sentence> list)
        
    {
            Collections.reverse(list);
            ArrayList
    <Token> tokenlist=new ArrayList<Token>();
            
    for(Sentence sen:list)
            
    {
                
    int i=sen.getText().length-1;
                
    while(i>-1)
                
    {
                    TreeNode n
    =dic.get(sen.getText()[i]);
                    
    if(n!=null)
                    
    {
                        
    int j=maxMatch(n, sen.getText(),i);
                        
    if(j<i)
                        
    {
                            Token token 
    = new Token(new String(sen.getText(),j,i-j+1),sen.getStartOffset()+j,sen.getStartOffset()+i+1);
                            tokenlist.add(token);
                            i
    =j-1;
                        }

                        
    else
                        
    {
                            Token token 
    = new Token(new String(sen.getText(),i,1),sen.getStartOffset()+i,sen.getStartOffset()+i+1);
                            tokenlist.add(token);
                            i
    --;
                        }

                    }

                    
    else
                    
    {
                        Token token 
    = new Token(new String(sen.getText(),i,1),sen.getStartOffset()+i,sen.getStartOffset()+i+1);
                        tokenlist.add(token);
                        i
    --;
                    }

                }

            }

            Collections.reverse(tokenlist);
            
    return tokenlist;
        }

    }

    posted on 2012-06-29 17:29 nianzai 閱讀(1374) 評論(0)  編輯  收藏 所屬分類: 中文分詞
    主站蜘蛛池模板: 亚洲精品无码av中文字幕| 免费看黄视频网站| 人人玩人人添人人澡免费| 国产嫩草影院精品免费网址| 亚洲综合色区中文字幕| 亚洲国产精品免费在线观看| 久久夜色精品国产噜噜噜亚洲AV | 亚洲精品无码少妇30P| 精品久久久久成人码免费动漫| 久久久久亚洲AV成人片| 亚洲免费黄色网址| 亚洲国产美女精品久久| 天天操夜夜操免费视频| 久久精品国产亚洲av天美18| 蜜桃视频在线观看免费视频网站WWW| 精品久久久久久亚洲| 四虎影视在线影院在线观看免费视频| 亚洲AV无码1区2区久久| 亚洲午夜免费视频| 亚洲中文字幕AV在天堂| 国产高清免费在线| 九九热久久免费视频| 久久久久亚洲精品美女| 国内精品乱码卡1卡2卡3免费 | 久视频精品免费观看99| 亚洲乱码一区二区三区国产精品| 午夜视频免费成人| 一级毛片免费播放试看60分钟| 亚洲av无码一区二区三区不卡| 黄色毛片免费观看| 亚洲AV综合色区无码一区爱AV| 18女人水真多免费高清毛片| 亚洲乱亚洲乱妇无码| 国产成人亚洲精品狼色在线| 日韩成人免费视频| 亚洲国产成人无码AV在线影院| 亚洲午夜精品久久久久久浪潮| 理论亚洲区美一区二区三区| 亚洲精品无码乱码成人| 日韩欧美一区二区三区免费观看| 免费一区二区三区在线视频|