コード例 #1
0
ファイル: TestSegmenter.cs プロジェクト: riiiqpl/jieba.NET
 public void TestCalc()
 {
     var s = "语言学家参加学术会议";
     var seg = new JiebaSegmenter();
     var dag = seg.GetDag(s);
     var route = seg.Calc(s, dag);
     foreach (var key in route.Keys.ToList().OrderBy(k => k))
     {
         Console.Write("{0}: ", key);
         var pair = route[key];
         Console.WriteLine("({0}, {1})", pair.Freq, pair.Key);
     }
 }
コード例 #2
0
        internal IEnumerable <Pair> CutDag(string sentence)
        {
            var dag   = _segmenter.GetDag(sentence);
            var route = _segmenter.Calc(sentence, dag);

            var tokens = new List <Pair>();

            var x   = 0;
            var n   = sentence.Length;
            var buf = string.Empty;

            while (x < n)
            {
                var y = route[x].Key + 1;
                var w = sentence.Substring(x, y - x);
                if (y - x == 1)
                {
                    buf += w;
                }
                else
                {
                    if (buf.Length > 0)
                    {
                        AddBufferToWordList(tokens, buf);
                        buf = string.Empty;
                    }
                    //tokens.Add(new Pair(w, _wordTagTab.GetDefault(w, "x")));
                    tokens.Add(new Pair(w, _wordTagTab.SelectValueOrDefault(w, "x")));
                }
                x = y;
            }

            if (buf.Length > 0)
            {
                AddBufferToWordList(tokens, buf);
            }

            return(tokens);
        }
コード例 #3
0
        public void TestCalc()
        {
            var s     = "语言学家参加学术会议";
            var seg   = new JiebaSegmenter();
            var dag   = seg.GetDag(s);
            var route = seg.Calc(s, dag);

            foreach (var key in route.Keys.ToList().OrderBy(k => k))
            {
                Console.Write("{0}: ", key);
                var pair = route[key];
                Console.WriteLine("({0}, {1})", pair.Freq, pair.Key);
            }
        }
コード例 #4
0
ファイル: TestSegmenter.cs プロジェクト: riiiqpl/jieba.NET
 public void TestGetDag()
 {
     JiebaSegmenter seg = new JiebaSegmenter();
     var dag = seg.GetDag("语言学家参加学术会议");
     foreach (var key in dag.Keys.ToList().OrderBy(k => k))
     {
         Console.Write("{0}: ", key);
         foreach (var i in dag[key])
         {
             Console.Write("{0} ", i);
         }
         Console.WriteLine();
     }
 }
コード例 #5
0
        public void TestGetDag()
        {
            var seg = new JiebaSegmenter();
            var dag = seg.GetDag("语言学家参加学术会议");

            foreach (var key in dag.Keys.ToList().OrderBy(k => k))
            {
                Console.Write("{0}: ", key);
                foreach (var i in dag[key])
                {
                    Console.Write("{0} ", i);
                }
                Console.WriteLine();
            }
        }