posts - 195, comments - 34, trackbacks - 0, articles - 1

          AC算法使用例子

          Posted on 2010-01-21 23:46 小強(qiáng)摩羯座 閱讀(1238) 評(píng)論(0)  編輯  收藏 所屬分類: 算法編程

          /**
            * 實(shí)現(xiàn)測(cè)試:串匹配和詞頻統(tǒng)計(jì)功能
            */
           public  void largerTextExample()
           {
            String text = "你好abc,ac,abc,def,ac,okt, ac,dfdfe, ac , what is it 你好啊,bc";
            String[] terms = {"你好","ac", "abc", "bc"};
            for (int i = 0; i < terms.length; i++)
            {
             
             tree.add(terms[i].getBytes(), terms[i]);
             System.out.println( terms[i]);
            }
            tree.prepare();

            Set termsThatHit = new HashSet();
            Iterator iter = tree.search(text.getBytes());
            
          //  統(tǒng)計(jì)詞頻
            Map<String, Integer> freqCount = new HashMap<String, Integer>();
            for (; iter.hasNext();)
            {
             SearchResult result = (SearchResult) iter.next();
             Set set = result.getOutputs();
             System.out.println(set);
             for(Iterator it = set.iterator();it.hasNext();)
             {
              String str = (String)it.next();
              if( freqCount.get(str) == null)
               freqCount.put(str, 1);
              else
               freqCount.put(str, freqCount.get(str)+1);
             }
            }
            for(String key: freqCount.keySet())
            {
             System.out.println( "key = " + key + ", value "+ freqCount.get(key) );
            }

          ------------結(jié)果-------------------------
          你好
          ac
          abc
          bc
          [你好]
          [abc, bc]
          [ac]
          [abc, bc]
          [ac]
          [ac]
          [ac]
          [你好]
          [bc]
          key = abc, value 2
          key = 你好, value 2
          key = ac, value 4
          key = bc, value 3



          主站蜘蛛池模板: 克东县| 昆明市| 太仓市| 伊通| 墨竹工卡县| 彭水| 十堰市| 桐梓县| 澳门| 高邮市| 平安县| 乌拉特后旗| 鄂尔多斯市| 南宁市| 郁南县| 宜川县| 凤冈县| 龙海市| 徐州市| 稷山县| 正镶白旗| 新干县| 镇宁| 亚东县| 平潭县| 宁蒗| 固原市| 于都县| 包头市| 云阳县| 永和县| 平乐县| 孟村| 铜陵市| 德保县| 瓮安县| 达尔| 新和县| 丹凤县| 高淳县| 禹城市|