/// <summary> /// 获取敏感词 /// </summary> /// <param name="sensitiveWordInfos">需要分析的句子集合</param> /// <param name="sensitiveWordResultType">分词结果获取类型</param> /// <returns>获取结果</returns> public static SensitiveWordResult GetSensitiveWordResult(List <SensitiveWordEntity> sensitiveWordInfos, ESensitiveWordResultType sensitiveWordResultType) { SensitiveWordResult sensitiveWordResult = new SensitiveWordResult(); switch (sensitiveWordResultType) { case ESensitiveWordResultType.PerOne: sensitiveWordResult.PerOneDictErrorWord = new Dictionary <string, string>(); break; case ESensitiveWordResultType.All: sensitiveWordResult.AllDictErrorWord = new Dictionary <string, List <string> >(); break; } sensitiveWordResult.SensitiveWordResultType = sensitiveWordResultType; SensitiveWordComponent wrapSensitiveWordComponent = null; foreach (var sensitiveWordInfo in sensitiveWordInfos) { switch (sensitiveWordInfo.FieldType) { case EFieldType.Text: TextSensitiveWordService tempTextSensitiveWordService = new TextSensitiveWordService(sensitiveWordInfo, sensitiveWordResult, wrapSensitiveWordComponent); wrapSensitiveWordComponent = tempTextSensitiveWordService; break; case EFieldType.HtmlText: HtmlTextSensitiveWordService tempHtmlTextSensitiveWordService = new HtmlTextSensitiveWordService(sensitiveWordInfo, sensitiveWordResult, wrapSensitiveWordComponent); wrapSensitiveWordComponent = tempHtmlTextSensitiveWordService; break; default: TextSensitiveWordService tempDefaultTextSensitiveWordService = new TextSensitiveWordService(sensitiveWordInfo, sensitiveWordResult, wrapSensitiveWordComponent); wrapSensitiveWordComponent = tempDefaultTextSensitiveWordService; break; } } if (wrapSensitiveWordComponent != null) { wrapSensitiveWordComponent.CheckSensitive(); } return(sensitiveWordResult); }
internal SensitiveWordComponent(SensitiveWordEntity sensitiveWordEntity, SensitiveWordResult sensitiveWordResult, SensitiveWordComponent sensitiveWordComponent) { m_SensitiveWordEntity = sensitiveWordEntity; m_SensitiveWordResult = sensitiveWordResult; m_SensitiveWordComponent = sensitiveWordComponent; }
internal HtmlTextSensitiveWordService(SensitiveWordEntity sensitiveWordEntity, SensitiveWordResult sensitiveWordResult, SensitiveWordComponent sensitiveWordComponent) : base(sensitiveWordEntity, sensitiveWordResult, sensitiveWordComponent) { HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(sensitiveWordEntity.Text); m_Text = doc.DocumentNode.InnerText.Replace(" ", "").Replace("\r\n", ""); }
internal TextSensitiveWordService(SensitiveWordEntity sensitiveWordEntity, SensitiveWordResult sensitiveWordResult, SensitiveWordComponent sensitiveWordComponent) : base(sensitiveWordEntity, sensitiveWordResult, sensitiveWordComponent) { m_Text = sensitiveWordEntity.Text; }