public ChineseSegmenter() { DagGenerator = new DagGenerator.DagGenerator(); RouteGenerator = new BestRouteGenerator(DagGenerator); Algorithm = new ViterbiAlgorithm(); CutDagCommand = new CutWithHmmCommand(DagGenerator, RouteGenerator, Algorithm); AddWordCutCommand = new CutWithHmmCommand(DagGenerator, RouteGenerator, Algorithm); }
public ChineseSegmenter(CutCommandType cutCommandType) { DagGenerator = new DagGenerator.DagGenerator(); RouteGenerator = new BestRouteGenerator(DagGenerator); if (cutCommandType == CutCommandType.All) { CutDagCommand = new CutAllCommand(DagGenerator, RouteGenerator); } else if (cutCommandType == CutCommandType.Hmm) { Algorithm = new ViterbiAlgorithm(); CutDagCommand = new CutWithHmmCommand(DagGenerator, RouteGenerator, Algorithm); } else { Algorithm = new NoHmmAlgorithm(); CutDagCommand = new CutWithoutHmmCommand(DagGenerator, RouteGenerator, Algorithm); } AddWordCutCommand = new CutWithHmmCommand(DagGenerator, RouteGenerator, Algorithm); }