Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 23439|Răspunde: 1

[Sursă] Asistent de segmentare a cuvintelor Pangu

[Copiază linkul]
Postat pe 17.07.2017 10:02:38 | | |
folosind Sistem;
folosind System.Collections.Generic;
folosind System.Linq;
folosind System.Text;
folosind System.Threading.Tasks;
folosind PanGu.Dict;
folosind PanGu.Framework;
folosind PanGu.Match;
folosind PanGu.Setting;
folosind PanGu.HighLight;
folosind Lucene.Net.Analysis;
folosind System.IO;
folosind PanGu;
folosind System.Configuration;

spațiu de nume Pangu.Helper
{
    clasa publică PanguHelper
    {

        PanguHelper static volatil privat _instance = nul;
        blocare privată statică a obiectului doar readonly Helper = obiect nou();
        privat PanguHelper() { }

        /// <summary>
        [Implicit folosește profilul pangu.xml pe aceeași cale]
        /// </summary>
        /// <returns></returns>
        public static PanguHelper ShareHelper
        {
            Ia-ți
            {
                if (_instance == null)
                {
                    Încuietoare (Încuietor)
                    {
                        if (_instance == null)
                        {
                            _instance = noul PanguHelper();
                            string configFile = ConfigurationManager.AppSettings["PANGU_CONFIG"] + "";
                            if (configFile != "")
                            {
                                _instance. Use(fișierConfig);
                            }
                        }
                    }
                }

                întoarcerea _instance;
            }
        }

        /// <summary>
        Inițializează fișierul de configurare specificat
        /// </summary>
        <param name="configFile"> fișier de configurare pangu</param>
        public void Use(string configFile)
        {
            PanGu.Segment.Init(fișierConfig);
        }

        /// <summary>
        Primește o descriere a părții de vorbire
        /// </summary>
        <param name="pos"> enumerarea părților de vorbire</param>
        /// <returns></returns>
        public string GetPosDescrip{filter}t(POS pos)
        {
            Comutator (POS)
            {
                Cazul POS. POS_UNK: returnează "necunoscută parte a discursului;"
                Cazul POS. POS_D_K: returnează "componenta de urmărire";
                Cazul POS. POS_D_H: returnează "componenta precedentă";
                Cazul POS. POS_A_NZ: returnează "alt nume propriu";
                Cazul POS. POS_A_NX: returnează "caracter străin";
                Cazul POS. POS_A_NR: returnează "numele persoanei";
                Cazul POS. POS_D_Z: returnează "status word";
                Cazul POS. POS_A_NT: returnarea "corpului instituțiilor";
                Cazul POS. POS_A_NS: returnează "numele locului";
                Cazul POS. POS_D_Y: returnează "cuvânt dispoziție morfemă";
                Cazul POS. POS_D_X: returnează "cuvânt nemorfemic";
                Cazul POS. POS_D_W: returnează "punctuație";
                Cazul POS. POS_D_T: returnează "cuvântul timpului";
                Cazul POS. POS_D_S: returnează "plasează cuvântul";
                Cazul POS. POS_D_V: returnează "verb morfem";
                Cazul POS. POS_D_U: returnează "morfem particulă de particule";
                Cazul POS. POS_D_R: returnează "pronume morfem";
                Cazul POS. POS_A_Q: returnează "cuantificator morfemă";
                Cazul POS. POS_D_P: returnează "prepoziția";
                Cazul POS. POS_D_MQ: returnează "cuantificator";
                Cazul POS. POS_A_M: returnează "cifră, cifră, cifră";
                Cazul POS. POS_D_O: returnează "onomatopee";
                Cazul POS. POS_D_N: returnează "substantiv morfem";
                Cazul POS. POS_D_F: returnează "azimut word azimuth morphem";
                Cazul POS. POS_D_E: returnează "morfem de interjecție";
                Cazul POS. POS_D_L: returnează "idiom";
                Cazul POS. POS_D_I: returnează "idiom";
                Cazul POS. POS_D_D: returnează "adverb adverb morpheme";
                Cazul POS. POS_D_C: returnează "morfem conjunctiv de conjuncție";
                Cazul POS. POS_D_B: returnează "a distinge cuvinte pentru a distinge morfeme";
                Cazul POS. POS_D_A: returnează "morfem adjectiv";
            }
            returnează "voce necunoscută";
        }



        /// <summary>
        Obține participiul [Original Wordinfo]
        /// </summary>
        <param name="content"> conținutul cuvântului ce urmează să fie separat</param>
        <param name="matchOptions"> folosește opțiunile de potrivire</param>
        <param name="matchParameter"> folosește parametrul de potrivire</param>
        /// <returns></returns>
        public<WordInfo> ICollection GetSegmentWords(string content, MatchOptions matchOptions = null,
           MatchParameter matchParameter = null)
        {
            Segment = segment nou ();
            Cuvinte de colicție<WordInfo> = segment. DoSegment (conținut, matchOptions, matchParameter);
            răspunde la cuvinte;
        }



        /// <summary>
        Obține participii
        /// </summary>
        <param name="content"> conținutul cuvântului ce urmează să fie separat</param>
        <param name="matchOptions"> Opțiunile de potrivire sunt folosite, nu implicit</param>
        <param name="matchParameter" > folosește parametrul corespunzător, nu implicit</param>
        public<string> List GetSplitWords(string content, MatchOptions matchOptions = null, MatchParameter matchParameter = null)
        {
            Segment = segment nou ();
            Cuvinte de colicție<WordInfo> = segment. DoSegment(conținut, matchOptions, matchParameter);
            <string> List list = new List<string>();
            foreach (WordInfo cuvânt în cuvinte)
            {
                listă. Adaugă (cuvântul. Cuvânt);
            }
            lista de returnări;
        }


        /// <summary>
        Obține participiul frecvenței cuvintelor specificate
        /// </summary>
        <param name="content"> conținutul cuvântului ce urmează să fie separat</param>
        <param name="frecvență"> frecvența cuvintelor</param>
        <param name="matchOptions"> Opțiunile de potrivire sunt folosite, nu implicit</param>
        <param name="matchParameter" > folosește parametrul corespunzător, nu implicit</param>
        /// <returns></returns>
        Public List<string> GetSplitWordsByFrequency(string content, double frecency, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segment = segment nou ();
            Cuvinte de colicție<WordInfo> = segment. DoSegment (conținut, matchOptions, matchParameter);

            <string> List list = new List<string>();
            foreach (WordInfo cuvânt în cuvinte)
            {
                if (frecvență == cuvânt. Frecvență)
                {
                    listă. Adaugă (cuvântul. Cuvânt);
                }
            }
            lista de returnări;
        }


        /// <summary>
        Obține un participiu cu o greutate specificată
        /// </summary>
        <param name="content"> conținutul cuvântului ce urmează să fie separat</param>
        <param name="rank"> greutate</param>
        <param name="matchOptions"> Opțiunile de potrivire sunt folosite, nu implicit</param>
        <param name="matchParameter" > folosește parametrul corespunzător, nu implicit</param>
        /// <returns></returns>
        Public List<string> GetSplitWordsByRank(string content, int rank, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segment = segment nou ();
            Cuvinte de colicție<WordInfo> = segment. DoSegment (conținut, matchOptions, matchParameter);

            <string> List list = new List<string>();
            foreach (WordInfo cuvânt în cuvinte)
            {
                dacă (rang == cuvânt. Rang)
                {
                    listă. Adaugă (cuvântul. Cuvânt);
                }
            }
            lista de returnări;
        }


        /// <summary>
        Punct de referință
        /// </summary>
        <param name="cuvânt-cheie"> șirul pentru evidențiat</param>
        <param name="content">content</param>
        <param name="fragmentSize"> numărul de caractere pentru fiecare câmp de rezumat</param>
        <returns>Conținut evidențiat</returns>
        șirul static public HighLight(cuvântul-cheie string, conținut string, int fragmentSize)
        {
            Creează un cod HTML cu parametrul care evidențiază termenul de căutare  
            SimpleHTMLFormatter simpleHTMLFormatter = noul SimpleHTMLFormatter("<font color='red'>", "</font>");
            Creează evidențiere, introdu codul HTML și obiectul Pangu Semgent  
            Highter marker = highlighter nou(simpleHTMLFormatter, segment nou());
            Setează numărul de caractere pentru fiecare câmp rezumat  
            Mai înalt. DimensiuneaFragmentului = DimensiuneaFragmentului;
            coarda highlightStr = highter. GetBestFragment (cuvânt cheie, conținut);

            dacă (string. IsNullOrEmpty(highlightStr))
            {
                returnează conținutul;
            }
            reveniți la evidențăStr;
        }



    }

}


Scor

Numărul participanților1MB+2 Contribui+2 Colaps rațiune
Mică mizerie + 2 + 2 Foarte puternic!

Vezi toate ratingurile





Precedent:Instrumentul de acces la baze de date PHP Medoo
Următor:A plagiat Hammer Technology Big Bang-ul pe Zhong Yingpin?
Postat pe 17.07.2017 10:55:05 |
Mulțumesc că ai împărtășit că segmentarea cuvintelor este esențială în sistemul CMS
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com