public static void ExtractNsFromDP() { var NsDict = new StreamWriter("ns.dict"); List <String> Dirs = new List <string>(); List <String> Ns = new List <String>(); Dirs.Add(@"E:\WorkSpace2018\FDDC2018\FDDC_announcements_round1_train_20180518\round1_train_20180518\重大合同\dp"); Dirs.Add(@"E:\WorkSpace2018\FDDC2018\FDDC_announcements_round1_test_a_20180605\重大合同\dp"); foreach (var dir in Dirs) { foreach (var filename in System.IO.Directory.GetFiles(dir)) { var dp = LTPTrainingDP.AnlayzeDP(filename); foreach (var p in dp) { foreach (var s in p) { if (s.pos == LTPTrainingNER.地名) { if (!Ns.Contains(s.cont)) { Ns.Add(s.cont); NsDict.WriteLine(s.cont); } } } } } } NsDict.Close(); }
/// <summary> /// 使用LTP方式分析实体周边词语 /// </summary> public static void AnlayzeEntitySurroundWordsLTP() { var ContractPath_TRAIN = Program.DocBase + @"\FDDC_announcements_round1_train_20180518\重大合同"; var JiaFangDP = new LTPTrainingDP(); var JiaFangSRL = new LTPTrainingSRL(); var YiFnagDP = new LTPTrainingDP(); var YiFnagSRL = new LTPTrainingSRL(); var ContractNameDP = new LTPTrainingDP(); var ContractNameSRL = new LTPTrainingSRL(); var ProjectNameDP = new LTPTrainingDP(); var ProjectNameSRL = new LTPTrainingSRL(); foreach (var filename in System.IO.Directory.GetFiles(ContractPath_TRAIN + @"\html\")) { var fi = new System.IO.FileInfo(filename); var Id = fi.Name.Replace(".html", String.Empty); if (TraningDataset.GetContractById(Id).Count == 0) { continue; } var contract = TraningDataset.GetContractById(Id).First(); var c = new Contract(); c.Init(filename); if (!string.IsNullOrEmpty(contract.JiaFang)) { JiaFangDP.Training(c.Dplist, contract.JiaFang); JiaFangSRL.Training(c.Srllist, contract.JiaFang); } if (!string.IsNullOrEmpty(contract.YiFang)) { YiFnagDP.Training(c.Dplist, contract.YiFang); YiFnagSRL.Training(c.Srllist, contract.YiFang); } if (!string.IsNullOrEmpty(contract.ContractName)) { ContractNameDP.Training(c.Dplist, contract.ContractName); ContractNameSRL.Training(c.Srllist, contract.ContractName); } if (!string.IsNullOrEmpty(contract.ProjectName)) { ProjectNameDP.Training(c.Dplist, contract.ProjectName); ProjectNameSRL.Training(c.Srllist, contract.ProjectName); } } Program.Training.WriteLine("甲方附近词语分析(DP):"); JiaFangDP.WriteToLog(Program.Training); Program.Training.WriteLine("甲方附近词语分析(SRL):"); JiaFangSRL.WriteToLog(Program.Training); Program.Training.WriteLine("乙方附近词语分析(DP):"); YiFnagDP.WriteToLog(Program.Training); Program.Training.WriteLine("乙方附近词语分析(SRL):"); YiFnagSRL.WriteToLog(Program.Training); Program.Training.WriteLine("合同名附近词语分析(DP):"); ContractNameDP.WriteToLog(Program.Training); Program.Training.WriteLine("合同名附近词语分析(SRL):"); ContractNameSRL.WriteToLog(Program.Training); Program.Training.WriteLine("工程名附近词语分析(DP):"); ProjectNameDP.WriteToLog(Program.Training); Program.Training.WriteLine("工程名附近词语分析(SRL):"); ProjectNameSRL.WriteToLog(Program.Training); }