private void OnPredictionSelected(object sender, RoutedEventArgs e) { WordSegment replaceSegment = null; if (Target.SelectionStart < Target.Text.Length) { replaceSegment = _wordsSegmenter.GetTokenAt(Target.Text, (uint)Target.SelectionStart); } else if (Target.Text[Target.Text.Length - 1] != ' ') { var tokens = _wordsSegmenter.GetTokens(Target.Text); if (tokens == null || tokens.Count == 0) { return; } replaceSegment = tokens[tokens.Count - 1]; } if (replaceSegment != null) { Target.Select((int)replaceSegment.SourceTextSegment.StartPosition, (int)replaceSegment.SourceTextSegment.Length); } string prediction = (sender as Button).Content.ToString(); InjectString(prediction, true); UpdatePredictions(); }
public SpellerSegment(WordSegment segment, SpellChecker spellChecker, WinRTSpellerInterop owner) { _segment = segment; _spellChecker = spellChecker; _suggestions = null; _owner = owner; }
public void UpdateView(double timestart, double timeend) { StreamReader fin = new StreamReader("simulog.log"); while (!fin.EndOfStream) { string text = fin.ReadLine(); string[] args = text.Split(' '); string name = args[0]; int time = int.Parse(args[1]); ValueSegment vs = null, vsp = null; SimulateDataModel sdmodel = vddict[name]; switch (sdmodel.Type) { case "BIT": vs = new BitSegment(); vs.Value = Int32.Parse(args[2]); break; case "WORD": vs = new WordSegment(); vs.Value = Int32.Parse(args[2]); break; case "DWORD": vs = new DWordSegment(); vs.Value = Int64.Parse(args[2]); break; case "FLOAT": vs = new FloatSegment(); vs.Value = float.Parse(args[2]); break; } if (sdmodel.Values.Count() == 0) { vsp = vs.Clone(); vsp.Value = 0; vsp.TimeStart = (int)(timestart); vs.TimeStart = vsp.TimeEnd = time; sdmodel.Add(vsp); sdmodel.Add(vs); } else { vsp = sdmodel.Values.Last(); vs.TimeStart = vsp.TimeEnd = time; sdmodel.Add(vs); } } foreach (SimulateDataModel sdmodel in vddict.Values) { if (sdmodel.Values.Count() > 0) { sdmodel.Values.Last().TimeEnd = (int)(timeend); } } }
private ICTCLASSharp() { wordSegment = new WordSegment(); string ErrMsg; if (!wordSegment.InitWordSegment(Path.Combine(RuntimeInfo.BaseDirectory, DataPath) + Path.DirectorySeparatorChar, out ErrMsg)) { throw new Exception("SharpICTCLAS分词器初始化失败:" + ErrMsg); } }
/// <summary> /// 构造函数 /// </summary> /// <param name="dictPath"></param> /// <param name="nKind"></param> public WordSegmentApp(string dictPath, int nKind) { this.wordSegment = new WordSegment(); //wordSegment.PersonRecognition = false; //wordSegment.PlaceRecognition = false; //wordSegment.TransPersonRecognition = false; //wordSegment.OnSegmentEvent += new SegmentEventHandler(this.OnSegmentEventHandler); wordSegment.InitWordSegment(dictPath); this.dictPath = dictPath; this.nKind = nKind; }
public Segment(string dictpath) { if (wordSegment == null) { wordSegment = new WordSegment(); dictPath = dictpath; wordSegment.InitWordSegment(dictpath); wordSegment.PersonRecognition = false; wordSegment.TransPersonRecognition = false; wordSegment.PlaceRecognition = false; } }
//======================================================= // 构造函数 //======================================================= public WordSegmentSample(string dictPath, int nKind) { this.nKind = nKind; this.wordSegment = new WordSegment(); //wordSegment.PersonRecognition = false; //wordSegment.PlaceRecognition = false; //wordSegment.TransPersonRecognition = false; //---------- 订阅分词过程中的事件 ---------- wordSegment.OnSegmentEvent += new SegmentEventHandler(this.OnSegmentEventHandler); wordSegment.InitWordSegment(dictPath); }
private static List <WordResult[]> resultSegment(string src) { String s; WordSegment ws = getWordSegmentInstance(); lock (ws) { s = Utility.Traditional2Simplified(src); s = Utility.ToDBC(s); return(ws.Segment(s, ms_nKind)); } }
public static WordSegment GetWordSegmentInstance() { if (wordSegment == null) { wordSegment = new WordSegment(); wordSegment.InitWordSegment(ConfigurationManager.AppSettings["IctclasData"]); return(wordSegment); } else { return(wordSegment); } }
private static WordSegment getWordSegmentInstance() { if (ms_wordSegment == null) { try { string dictPath = Path.Combine(Environment.CurrentDirectory, "SegmentDict") + Path.DirectorySeparatorChar; ms_wordSegment = new WordSegment(); ms_wordSegment.InitWordSegment(dictPath); log.Debug("正在初始化字典库,请稍候..."); } catch (Exception e) { System.Windows.Forms.MessageBox.Show("字典库初始化失败!", "错误", System.Windows.Forms.MessageBoxButtons.OK); log.Debug("字典库初始化失败"); } } return(ms_wordSegment); }
//线程的执行函数,for循环中线程根据自身的ID,加2取文本文件,保证两个线程的输入文件没有交集 private static void AnalyFuc(object order) { int num = ((Para)order).Num; WordSegment wordSegment = new WordSegment(); wordSegment.InitWordSegment(DictPath); StreamReader sr = null; StreamWriter sw = new StreamWriter(outDir + num + ".txt", false, System.Text.Encoding.Default); for (int i = num; i < fileList.Count; i += 2) { sr = new StreamReader(fileList[i], System.Text.Encoding.Default); string input = ""; input = sr.ReadLine(); List <WordResult[]> result = null; while (input != null) { if (input == "") { input = sr.ReadLine(); continue; } try { result = wordSegment.Segment(input); } catch (Exception e) { Console.WriteLine(e.Message); continue; } for (int j = 1; j < result[0].Length - 1; ++j) { sw.Write(result[0][j].sWord + " "); } sw.WriteLine(""); input = sr.ReadLine(); } sr.Close(); } sw.Close(); }
public void SetValue(SimulateDataModel sdmodel, object value, int timestart, int timeend) { RemoveValue(sdmodel, timestart, timeend); ValueSegment vseg; switch (sdmodel.Type) { case "BIT": BitSegment bseg = new BitSegment(); bseg.Value = value; vseg = bseg; break; case "WORD": WordSegment wseg = new WordSegment(); wseg.Value = value; vseg = wseg; break; case "DWORD": DWordSegment dseg = new DWordSegment(); dseg.Value = value; vseg = dseg; break; case "FLOAT": FloatSegment fseg = new FloatSegment(); fseg.Value = value; vseg = fseg; break; default: throw new ArgumentException(); } vseg.TimeStart = timestart; vseg.TimeEnd = timeend; sdmodel.Add(vseg); }
public static WordSegmentItem Create(WordSegment segment) { return new WordSegmentItem(segment); }
public WordSegmentItem(WordSegment segment) { WordSegment = segment; }
public void Replace(WordSegment segment, Word newWord) { throw new System.NotImplementedException(); }
public SearchMessage(string dictpath) { wordSegment = new WordSegment(); wordSegment.InitWordSegment(dictpath); }
// Token: 0x06008615 RID: 34325 RVA: 0x0024B9A6 File Offset: 0x00249BA6 public SpellerSegment(string sourceString, WordSegment segment, SpellChecker spellChecker, WinRTSpellerInterop owner) : this(sourceString, new WinRTSpellerInterop.TextRange(segment.SourceTextSegment), spellChecker, owner) { }
public static void TestNShortPath() { int n = 2; List <int[]> result; int[] aPath; //--------------------------------------------------------------edie by SharpKey string dictPath = Path.Combine(Environment.CurrentDirectory, "Data") + Path.DirectorySeparatorChar; Console.WriteLine("正在初始化字典库,请稍候..."); //WordSegmentSample sample = new WordSegmentSample(DictPath, 2); WordSegment wordSegment = new WordSegment(); wordSegment.InitWordSegment(dictPath); Segment m_Seg = new Segment(wordSegment.m_dictBigram, wordSegment.m_dictCore);//Seg class //wordSegment.Segment("", 2); ColumnFirstDynamicArray <ChainContent> apCost = m_Seg.TestSegment("始##始这个人的确实在末##末", 0.1, 2); Console.WriteLine(apCost.ToString()); //---------------------------------- NShortPath.Calculate(apCost, n); NShortPath.printResultByIndex(); //---------------------------------------------------- // 所有路径 //---------------------------------------------------- Console.WriteLine("\r\n\r\n所有路径:"); for (int i = 0; i < n; i++) { result = NShortPath.GetPaths(i); for (int j = 0; j < result.Count; j++) { aPath = result[j]; for (int k = 0; k < aPath.Length; k++) { Console.Write("{0}, ", aPath[k]); } Console.WriteLine(); } Console.WriteLine("========================"); } //---------------------------------------------------- // 最佳路径 //---------------------------------------------------- Console.WriteLine("\r\n最佳路径:"); aPath = NShortPath.GetBestPath(); for (int k = 0; k < aPath.Length; k++) { Console.Write("{0}, ", aPath[k]); } Console.WriteLine(); //---------------------------------------------------- // 最多 n 个路径 //---------------------------------------------------- Console.WriteLine("\r\n最多 {0} 条路径:", 5); result = NShortPath.GetNPaths(5); for (int j = 0; j < result.Count; j++) { aPath = result[j]; for (int k = 0; k < aPath.Length; k++) { Console.Write("{0}, ", aPath[k]); } Console.WriteLine(); } }
public SpellerSegment(WordSegment segment, SpellChecker spellChecker) { _segment = segment; _spellChecker = spellChecker; _suggestions = null; }
public void Replace(WordSegment segment, Word newWord) { richTextBox.ReplaceText(segment.FromIndex, segment.Length, newWord.ToString()); }