<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 FMW extends M
    {
        
    public static final HashMap<Character,TreeNode> dic = Dictionary.getFmmdic();
        
        
    /**
         * 
    @return 返回可能匹配詞的長度, 沒有找到返回 0.
         
    */

        
    public ArrayList<Integer> maxMatch(TreeNode node,char[] sen, int offset) 
        
    {
            ArrayList
    <Integer> list=new ArrayList<Integer>();
            
    for(int i=offset; i<sen.length; i++
            
    {
                node 
    = node.subNode(sen[i]);
                
    if(node != null
                
    {
                    
    if(node.isAlsoLeaf()) 
                        list.add(i
    +1);
                }

                
    else 
                    
    break;
            }

            
    if(list.size()==0)
                list.add(offset);
            
    return list;
        }

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

                        }

                        
    else
                        
    {
                            
    if(ilist.get(0)>i)
                            
    {
                                Token token 
    = new Token(new String(sen.getText(),i,ilist.get(0)-i),sen.getStartOffset()+i,sen.getStartOffset()+ilist.get(0));
                                tokenlist.add(token);
                            }

                            
    else
                            
    {
                                
    if(tokenlist.size()==0 || tokenlist.get(tokenlist.size()-1).getEnd()<=i+sen.getStartOffset())
                                
    {
                                    Token token 
    = new Token(new String(sen.getText(),i,1),sen.getStartOffset()+i,sen.getStartOffset()+i+1);
                                    tokenlist.add(token);
                                }

                            }

                        }

                    }

                    
    else
                    
    {
                        
    if(tokenlist.size()==0 || tokenlist.get(tokenlist.size()-1).getEnd()<=i+sen.getStartOffset())
                        
    {
                            Token token 
    = new Token(new String(sen.getText(),i,1),sen.getStartOffset()+i,sen.getStartOffset()+i+1);
                            tokenlist.add(token);
                        }

                    }

                    i
    ++;
                }

            }

            
    return tokenlist;
        }

    }



    posted on 2012-07-02 14:17 nianzai 閱讀(3078) 評論(4)  編輯  收藏 所屬分類: 中文分詞

    評論:
    # re: 全切分分詞程序,能實現中英文數字混合分詞 2012-07-16 11:16 | hadoop
    你好,非常感謝你的nut項目,在使用過程中有些問題:怎樣分發nutla生成的索引文件到每個datanode,代碼里面好像沒有提到,希望能給點思路,還有方便留下你的聯系方式嗎,想向你多學習  回復  更多評論
      
    # re: 全切分分詞程序,能實現中英文數字混合分詞 2012-07-16 18:14 | nianzai
    這個現在需要手工分發。  回復  更多評論
      
    # re: 全切分分詞程序,能實現中英文數字混合分詞 2012-07-16 18:15 | nianzai
    QQ:383138070  回復  更多評論
      
    # re: 全切分分詞程序,能實現中英文數字混合分詞 2014-05-14 15:32 | sdyjmc
    能對車牌號進行分詞嗎? M 是什么啊  回復  更多評論
      
    主站蜘蛛池模板: 99re6在线视频精品免费下载| 最近2019中文字幕免费直播| 国产亚洲精品国产| 99热在线免费播放| 亚洲码和欧洲码一码二码三码| 亚洲国产高清精品线久久| 国产无遮挡无码视频免费软件| 亚洲一区二区影视| 亚洲AV成人精品日韩一区18p| 久久久免费的精品| 成人精品国产亚洲欧洲| 亚洲精品无码不卡在线播放HE | 无码精品A∨在线观看免费| 亚洲成a人片在线不卡一二三区| 国产亚洲大尺度无码无码专线 | 亚洲伊人久久综合中文成人网| 午夜精品免费在线观看| 亚洲色精品三区二区一区| 亚洲伊人久久大香线蕉综合图片| 丁香花免费高清视频完整版| 精品无码国产污污污免费网站国产| 亚洲第一视频网站| 免费播放春色aⅴ视频| 亚洲日本在线免费观看| 高清永久免费观看| 亚洲成熟丰满熟妇高潮XXXXX| 久久亚洲精品无码AV红樱桃| 亚洲七七久久精品中文国产| 丁香花免费完整高清观看| 中文字幕无码免费久久| 色综合久久精品亚洲国产| 亚洲毛片基地日韩毛片基地| 国内精品99亚洲免费高清| 日本成人在线免费观看| 91频在线观看免费大全| a级毛片毛片免费观看永久| 亚洲日韩在线中文字幕综合| 亚洲一区精品视频在线| 久久精品国产亚洲av麻豆小说 | 国产亚洲综合久久| 自拍偷区亚洲国内自拍|