//======================================================= // 输出分词过程中每一步的中间结果 //======================================================= private void OnSegmentEventHandler(object sender, SegmentEventArgs e) { switch (e.Stage) { case SegmentStage.BeginSegment: Console.WriteLine("\r\n==== 原始句子:\r\n"); Console.WriteLine(e.Info + "\r\n"); break; case SegmentStage.AtomSegment: Console.WriteLine("\r\n==== 原子切分:\r\n"); Console.WriteLine(e.Info); break; case SegmentStage.GenSegGraph: Console.WriteLine("\r\n==== 生成 segGraph:\r\n"); Console.WriteLine(e.Info); break; case SegmentStage.GenBiSegGraph: Console.WriteLine("\r\n==== 生成 biSegGraph:\r\n"); Console.WriteLine(e.Info); break; case SegmentStage.NShortPath: Console.WriteLine("\r\n==== NShortPath 初步切分的到的 N 个结果:\r\n"); Console.WriteLine(e.Info); break; case SegmentStage.BeforeOptimize: Console.WriteLine("\r\n==== 经过数字、日期合并等策略处理后的 N 个结果:\r\n"); Console.WriteLine(e.Info); break; case SegmentStage.OptimumSegment: Console.WriteLine("\r\n==== 将 N 个结果归并入OptimumSegment:\r\n"); Console.WriteLine(e.Info); break; case SegmentStage.PersonAndPlaceRecognition: Console.WriteLine("\r\n==== 加入对姓名、翻译人名以及地名的识别:\r\n"); Console.WriteLine(e.Info); break; case SegmentStage.BiOptimumSegment: Console.WriteLine("\r\n==== 对加入对姓名、地名的OptimumSegment生成BiOptimumSegment:\r\n"); Console.WriteLine(e.Info); break; case SegmentStage.FinishSegment: Console.WriteLine("\r\n==== 最终识别结果:\r\n"); Console.WriteLine(e.Info); break; } }
private void OnSegmentEventHandler(object sender, SegmentEventArgs e) { SendEvents(e); }
private void SendEvents(SegmentEventArgs e) { if (OnSegmentEvent != null) OnSegmentEvent(this, e); }
//======================================================= // ����ִʹ�����ÿһ�����м��� //======================================================= private void OnSegmentEventHandler(object sender, SegmentEventArgs e) { switch (e.Stage) { case SegmentStage.BeginSegment: //Console.WriteLine("\r\n==== ԭʼ���ӣ�\r\n"); //Console.WriteLine(e.Info + "\r\n"); //WriteToTxt(e.Info + "\r\n"); break; case SegmentStage.AtomSegment: //Console.WriteLine("\r\n==== ԭ���з֣�\r\n"); Console.WriteLine(e.Info); //WriteToTxt(e.Info); break; case SegmentStage.GenSegGraph: //Console.WriteLine("\r\n==== ���� segGraph��\r\n"); //Console.WriteLine(e.Info); //WriteToTxt(e.Info); break; case SegmentStage.GenBiSegGraph: //Console.WriteLine("\r\n==== ���� biSegGraph��\r\n"); //Console.WriteLine(e.Info); //WriteToTxt(e.Info); break; case SegmentStage.NShortPath: //Console.WriteLine("\r\n==== NShortPath �����зֵĵ��� N �������\r\n"); //Console.WriteLine(e.Info); //WriteToTxt(e.Info); break; case SegmentStage.BeforeOptimize: //Console.WriteLine("\r\n==== �������֡����ںϲ��Ȳ��Դ����� N �������\r\n"); //Console.WriteLine(e.Info); //WriteToTxt(e.Info); break; case SegmentStage.OptimumSegment: //Console.WriteLine("\r\n==== �� N ������鲢��OptimumSegment��\r\n"); //Console.WriteLine(e.Info); //WriteToTxt(e.Info); break; case SegmentStage.PersonAndPlaceRecognition: //Console.WriteLine("\r\n==== ��������������������Լ�������ʶ��\r\n"); //Console.WriteLine(e.Info); //WriteToTxt(e.Info); break; case SegmentStage.BiOptimumSegment: //Console.WriteLine("\r\n==== �Լ����������������OptimumSegment����BiOptimumSegment��\r\n"); //Console.WriteLine(e.Info); //WriteToTxt(e.Info); break; case SegmentStage.FinishSegment: Console.WriteLine("\r\n==== ����ʶ������\r\n"); Console.WriteLine(e.Info); WriteToTxt(e.Info); break; case SegmentStage.BcakwardOptimize: //Console.WriteLine("\r\n==== ����ƥ��ϵ����˺�\r\n"); //Console.WriteLine(e.Info); //WriteToTxt(e.Info); break; } }