ved brug af System; ved brug af System.Collections.Generic; ved brug af System.Linq; ved brug af System.Text; brug af System.Threading.Tasks; ved brug af PanGu.Dict; ved brug af PanGu.Framework; ved brug af PanGu.Match; ved brug af PanGu.Setting; ved brug af PanGu.HighLight; ved brug af Lucene.Net.Analysis; ved brug af System.IO; ved at bruge PanGu; ved brug af System.Configuration;
navnerum Pangu.Helper
{ offentlig klasse PanguHelper {
privat flygtig statisk PanguHelper _instance = null; privat statisk readonly-objekt lockHelper = nyt objekt(); private PanguHelper() { }
/// <summary> [Standard bruger pangu.xml profil under samme sti] /// </summary> /// <returns></returns> offentlig statisk PanguHelper DelHjælper { Få fat { hvis (_instance == null) { Lås (LockHelper) { hvis (_instance == null) { _instance = ny PanguHelper(); string configFile = ConfigurationManager.AppSettings["PANGU_CONFIG"] + ""; hvis (configFile != "") { _instance. Use(configFile); } } } }
vend tilbage _instance; } }
/// <summary> Initialiser den angivne konfigurationsfil /// </summary> <param name="configFile"> pangu konfigurationsfil</param> public void Use(string configFile) { PanGu.Segment.Init(configFile); }
/// <summary> Få en ordklassebeskrivelse /// </summary> <param name="pos"> ordklasseopramning</param> /// <returns></returns> public string GetPosDescrip{filter}t(POS pos) { Switch (POS) { Sagen POS. POS_UNK: returner "ukendt ordklasse;" Sagen POS. POS_D_K: returnere "trailing component"; Sagen POS. POS_D_H: returner "forudgående komponent"; Sagen POS. POS_A_NZ: returner "andet egennavn"; Sagen POS. POS_A_NX: returner "udenlandsk karakter"; Sagen POS. POS_A_NR: returner "personens navn"; Sagen POS. POS_D_Z: returner "status word"; Sagen POS. POS_A_NT: returnere "institution corps"; Sagen POS. POS_A_NS: returner "stednavn"; Sagen POS. POS_D_Y: returnerer "humørord, stemningsmorfem"; Sagen POS. POS_D_X: returnerer "ikke-morfemisk ord"; Sagen POS. POS_D_W: returnere "tegnsætning"; Sagen POS. POS_D_T: returnerer "word of time"; Sagen POS. POS_D_S: returnerer "stedsord"; Sagen POS. POS_D_V: returnerer "verbummorfem"; Sagen POS. POS_D_U: returnerer "partikelpartikelmorfem"; Sagen POS. POS_D_R: returner "pronomenpronomenmorfem"; Sagen POS. POS_A_Q: returnerer "quantifier quantifier morpheme"; Sagen POS. POS_D_P: returnerer "præposition"; Sagen POS. POS_D_MQ: returnere "quantifier"; Sagen POS. POS_A_M: returnerer "numeral, numeral, numeral"; Sagen POS. POS_D_O: returnerer "onomatopoeia"; Sagen POS. POS_D_N: returnere "substantivmorfem"; Sagen POS. POS_D_F: returner "azimutordet azimut-morfem"; Sagen POS. POS_D_E: returnere "interjektionsmorfem"; Sagen POS. POS_D_L: returner "idiom"; Sagen POS. POS_D_I: returner "idiom"; Sagen POS. POS_D_D: returnerer "adverb adverb morfem"; Sagen POS. POS_D_C: returnerer "konjunktiv konjunktionsmorfem"; Sagen POS. POS_D_B: returnere "for at skelne ord for at skelne morfemer"; Sagen POS. POS_D_A: returnerer "adjektivmorfem"; } return "ukendt ordklasse"; }
/// <summary> Få participiet [Original Wordinfo] /// </summary> <param name="content"> indholdet af det ord, der skal adskilles</param> <param name="matchOptions"> brug match-mulighederne</param> <param name="matchParameter"> brug match-parameteren</param> /// <returns></returns> offentlig ICollection<WordInfo> GetSegmentWords(strengindhold, MatchOptions matchOptions = null, MatchParameter matchParameter = null) { Segmentsegment = nyt segment(); ICollectionsord<WordInfo> = segment. DoSegment(indhold, matchOptions, matchParameter); Svar med ord; }
/// <summary> Få participier /// </summary> <param name="content"> indholdet af det ord, der skal adskilles</param> <param name="matchOptions"> Match-muligheder bruges ikke som standard</param> <param name="matchParameter" > bruge matchende parameter, ikke som standard</param> offentlig liste<string> GetSplitWords (strengindhold, MatchOptions matchOptions = null, MatchParameter matchParameter = null) { Segmentsegment = nyt segment(); ICollectionsord<WordInfo> = segment. DoSegment(indhold, matchOptions, matchparameter); Listeliste<string> = ny Liste<string>(); foreach (WordInfo ord i ord) { liste. Add(word. Word); } tilbagevendende liste; }
/// <summary> Få participiet for den angivne ordfrekvens /// </summary> <param name="content"> indholdet af det ord, der skal adskilles</param> <param name="frequency"> ordfrekvens</param> <param name="matchOptions"> Match-muligheder bruges ikke som standard</param> <param name="matchParameter" > bruge matchende parameter, ikke som standard</param> /// <returns></returns> offentlig liste<string> GetSplitWordsByFrequency(strengindhold, dobbelt frekvens, MatchOptions matchOptions = null, MatchParameter matchParameter = null) { Segmentsegment = nyt segment(); ICollectionsord<WordInfo> = segment. DoSegment(indhold, matchOptions, matchParameter);
Listeliste<string> = ny Liste<string>(); foreach (WordInfo ord i ord) { hvis (frekvens == ord. Frekvens) { liste. Add(word. Word); } } tilbagevendende liste; }
/// <summary> Få et participium med en bestemt vægt /// </summary> <param name="content"> indholdet af det ord, der skal adskilles</param> <param name="rang"> vægt</param> <param name="matchOptions"> Match-muligheder bruges ikke som standard</param> <param name="matchParameter" > bruge matchende parameter, ikke som standard</param> /// <returns></returns> offentlig liste<string> GetSplitWordsByRank(strengindhold, int-rang, MatchOptions matchOptions = null, MatchParameter matchParameter = null) { Segmentsegment = nyt segment(); ICollectionsord<WordInfo> = segment. DoSegment(indhold, matchOptions, matchParameter);
Listeliste<string> = ny Liste<string>(); foreach (WordInfo ord i ord) { hvis (rang == ord. Rang) { liste. Add(word. Word); } } tilbagevendende liste; }
/// <summary> Højdepunkter /// </summary> <param name="nøgleord"> strengen for at fremhæve</param> <param name="content">content</param> <param name="fragmentSize"> antallet af tegn for hvert resuméfelt</param> <returns>Fremhævet indhold</returns> offentlig statisk streng HighLight (strengnøgleord, strengindhold, int fragmentSize) { Opret en HTML-kode med parameteren, der fremhæver søgeordet SimpleHTMLFormatter simpleHTMLFormatter = ny SimpleHTMLFormatter("<font color='red'>", "</font>"); Opret highlighting, indtast HTML-kode og Pangu-objekt-Semgent Highlighter højere = ny highlighter(simpleHTMLFormatter, ny Segment()); Indstil antallet af tegn for hvert resuméfelt højere. FragmentSize = FragmentSize; streng highlightStr = højere. GetBestFragment (nøgleord, indhold);
hvis (streng. IsNullOrEmpty(highlightStr)) { returner indhold; } return highlightStr; }
}
}
|