izmantojot Sistēmu; izmantojot System.Collections.Generic; izmantojot System.Linq; izmantojot System.Text; izmantojot System.Threading.Tasks; izmantojot PanGu.Dict; izmantojot PanGu.Framework; izmantojot PanGu.Match; izmantojot PanGu.Setting; izmantojot PanGu.HighLight; izmantojot Lucene.Net.Analysis; izmantojot System.IO; izmantojot PanGu; izmantojot System.Configuration;
nosaukumvieta Pangu.Helper
{ sabiedriskā klase PanguHelper {
privāts gaistošs statisks PanguHelper _instance = null; privāts statisks tikai lasāms objekts lockHelper = jauns objekts(); privāts PanguHelper() { }
/// <summary> [Noklusējumā tiek izmantots pangu.xml profils ar to pašu ceļu] /// </summary> /// <returns></returns> publiskais statiskais PanguHelper ShareHelper { iegūt { ja (_instance == nulle) { bloķēt (lockHelper) { ja (_instance == nulle) { _instance = jauns PanguHelper(); virkne configFile = ConfigurationManager.AppSettings["PANGU_CONFIG"] + ""; if (configFile != "") { _instance. Use(configFile); } } } }
atgriešanās _instance; } }
/// <summary> Inicializējiet norādīto konfigurācijas failu /// </summary> <param name="configFile"> pangu konfigurācijas fails</param> public void Use(string configFile) { PanGu.Segment.Init(configFile); }
/// <summary> Runas daļas apraksta iegūšana /// </summary> <param name="pos"> runas uzskaitījuma daļa</param> /// <returns></returns> public string GetPosDescrip{filter}t(POS pos) { Slēdzis (POS) { lieta POS. POS_UNK: atgriezt "nezināma runas daļa;" lieta POS. POS_D_K: atgriezt "aizmugurējo komponentu"; lieta POS. POS_D_H: atgriež "iepriekšējais komponents"; lieta POS. POS_A_NZ: atgriezt "cits īpašvārds"; lieta POS. POS_A_NX: atgriezties "svešs raksturs"; lieta POS. POS_A_NR: atgriezt "personas vārds"; lieta POS. POS_D_Z: atgriezt "statusa vārds"; lieta POS. POS_A_NT: atgriezties "institūciju struktūra"; lieta POS. POS_A_NS: atgriezt "vietvārds"; lieta POS. POS_D_Y: atgriezties "garastāvokļa vārda garastāvokļa morfēma"; lieta POS. POS_D_X: atgriezt "nemorfēmisks vārds"; lieta POS. POS_D_W: atgriezt "pieturzīmes"; lieta POS. POS_D_T: atgriezt "laika vārdu"; lieta POS. POS_D_S: atgriezt "vietas vārds"; lieta POS. POS_D_V: atgriezt "darbības vārds morfēma"; lieta POS. POS_D_U: atgriezt "daļiņu daļiņu morfēma"; lieta POS. POS_D_R: atgriezt "vietniekvārda vietniekvārds morfēma"; lieta POS. POS_A_Q: atgriež "kvantificētāja kvantificētāja morfēma"; lieta POS. POS_D_P: atgriezt "prepozīcija"; lieta POS. POS_D_MQ: atgriezt "kvantificētājs"; lieta POS. POS_A_M: atgriezt "cipars, cipars, cipars"; lieta POS. POS_D_O: atgriezties "onomatopeja"; lieta POS. POS_D_N: atgriezt "lietvārds morfēma"; lieta POS. POS_D_F: atgriezt "azimuta vārds azimuta morfēma"; lieta POS. POS_D_E: atgriezt "starpsauciena morfēma"; lieta POS. POS_D_L: atgriezties "idioma"; lieta POS. POS_D_I: atgriezties "idioma"; lieta POS. POS_D_D: atgriezt "adverb adverb morpheme"; lieta POS. POS_D_C: atgriež "konjunktīva savienojuma morfēma"; lieta POS. POS_D_B: atgriezties "atšķirt vārdus, lai atšķirtu morfēmas"; lieta POS. POS_D_A: atgriezt "īpašības vārda morfēma"; } atgriezt "nezināma runas daļa"; }
/// <summary> Iegūt dalībnieku [Oriģinālā Wordinfo] /// </summary> <param name="content"> atdalāmā vārda saturs</param> <param name="matchOptions"> izmantojiet atbilstības opcijas</param> <param name="matchParameter"> izmantojiet parametru match</param> /// <returns></returns> public ICollection<WordInfo> GetSegmentWords(string content, MatchOptions matchOptions = null, MatchParameter matchParameter = null) { Segmenta segments = jauns segments(); ICollection<WordInfo> vārdi = segments. DoSegment(saturs, matchOptions, matchParameter); atgriešanās vārdi; }
/// <summary> Iegūt dalībniekus /// </summary> <param name="content"> atdalāmā vārda saturs</param> <param name="matchOptions"> Atbilstības opcijas tiek izmantotas, nevis pēc noklusējuma</param> <param name="matchParameter" > izmantot atbilstošo parametru, nevis pēc noklusējuma</param> publiskais saraksts<string> GetSplitWords(virknes saturs, MatchOptions matchOptions = null, MatchParameter matchParameter = null) { Segmenta segments = jauns segments(); ICollection<WordInfo> vārdi = segments. DoSegment(saturs,matchOptions,matchParameter); List<string> list = new List<string>(); foreach (WordInfo vārds vārdos) { saraksts. Add(vārds. Vārds); } atgriešanas saraksts; }
/// <summary> Iegūstiet norādītās vārdu frekvences dalībnieku /// </summary> <param name="content"> atdalāmā vārda saturs</param> <param name="frekvence"> vārdu biežums</param> <param name="matchOptions"> Atbilstības opcijas tiek izmantotas, nevis pēc noklusējuma</param> <param name="matchParameter" > izmantot atbilstošo parametru, nevis pēc noklusējuma</param> /// <returns></returns> publiskais saraksts<string> GetSplitWordsByFrequency(virknes saturs, dubultā frekvence, MatchOptions matchOptions = null, MatchParameter matchParameter = null) { Segmenta segments = jauns segments(); ICollection<WordInfo> vārdi = segments. DoSegment(saturs, matchOptions, matchParameter);
List<string> list = new List<string>(); foreach (WordInfo vārds vārdos) { if (biežums == vārds. Biežums) { saraksts. Add(vārds. Vārds); } } atgriešanas saraksts; }
/// <summary> Iegūstiet dalībnieku ar noteiktu svaru /// </summary> <param name="content"> atdalāmā vārda saturs</param> <param name="rank"> svars</param> <param name="matchOptions"> Atbilstības opcijas tiek izmantotas, nevis pēc noklusējuma</param> <param name="matchParameter" > izmantot atbilstošo parametru, nevis pēc noklusējuma</param> /// <returns></returns> publiskais saraksts<string> GetSplitWordsByRank(virknes saturs, int rangs, MatchOptions matchOptions = null, MatchParameter matchParameter = null) { Segmenta segments = jauns segments(); ICollection<WordInfo> vārdi = segments. DoSegment(saturs, matchOptions, matchParameter);
List<string> list = new List<string>(); foreach (WordInfo vārds vārdos) { if (rangs == vārds. Rangs) { saraksts. Add(vārds. Vārds); } } atgriešanas saraksts; }
/// <summary> Izcelt /// </summary> <param name="keyword"> virkne, kas jāizceļ</param> <param name="content">content</param> <param name="fragmentSize"> rakstzīmju skaits katram kopsavilkuma laukam</param> <returns>Iezīmētais saturs</returns> publiskā statiskā virkne HighLight(virknes atslēgvārds, virknes saturs, int fragmentSize) { HTML koda izveide ar parametru, kas izceļ meklējamo vienumu SimpleHTMLFormatter simpleHTMLFormatter = jauns SimpleHTMLFormatter("<font color='red'>", "</font>""); Izveidojiet marķējumu, ievadiet HTML kodu un Pangu objektu Semgent Marķieris = jauns marķieris(vienkāršsHTMLFormatter, jauns segments()); Rakstzīmju skaita iestatīšana katram kopsavilkuma laukam augstāks. FragmentSize = fragmentSize; virknes highlightStr = augstāks. GetBestFragment(atslēgvārds, saturs);
if (virkne. IsNullOrEmpty(highlightStr)) { atgriezt saturu; } atgriezties izceltStr; }
}
}
|