Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 23439|Atsakyti: 1

[Šaltinis] Pangu žodžių segmentavimo pagalbinė priemonė

[Kopijuoti nuorodą]
Paskelbta 2017-07-17 10:02:38 | | |
naudojantis Sistema;
naudojant System.Collections.Generic;
naudojant System.Linq;
naudojant System.Text;
naudojant System.Threading.Tasks;
naudojant PanGu.Dict;
naudojant PanGu.Framework;
naudojant PanGu.Match;
naudojant PanGu.Setting;
naudojant PanGu.HighLight;
naudojant Lucene.Net.Analysis;
naudojant System.IO;
naudojant PanGu;
naudojant System.Configuration;

vardų sritis Pangu.Helper
{
    viešoji klasė PanguHelper
    {

        privatus nepastovus statinis PanguHelper _instance = nulinis;
        privatus statinis tik skaitomas objektas lockHelper = naujas objektas();
        privatus PanguHelper() { }

        /// <summary>
        [Numatytasis naudoja pangu.xml profilį tuo pačiu keliu]
        /// </summary>
        /// <returns></returns>
        viešas statinis PanguHelper ShareHelper
        {
            gauti
            {
                if (_instance == null)
                {
                    užraktas (lockHelper)
                    {
                        if (_instance == null)
                        {
                            _instance = naujas PanguHelper();
                            eilutė configFile = ConfigurationManager.AppSettings["PANGU_CONFIG"] + "";
                            if (configFile != "")
                            {
                                _instance. Use(configFile);
                            }
                        }
                    }
                }

                grąžinti _instance;
            }
        }

        /// <summary>
        Inicijuoti nurodytą konfigūracijos failą
        /// </summary>
        <param name="configFile"> pangu konfigūracijos failas</param>
        public void Use(string configFile)
        {
            PanGu.Segment.Init(configFile);
        }

        /// <summary>
        Kalbos dalies aprašo gavimas
        /// </summary>
        <param name="pos"> kalbos išvardijimo dalis</param>
        /// <returns></returns>
        viešoji eilutė GetPosDescrip{filter}t(POS pos)
        {
            Jungiklis (POS)
            {
                atvejis POS. POS_UNK: grąžinti "nežinoma kalbos dalis;"
                atvejis POS. POS_D_K: grąžinti "galinis komponentas";
                atvejis POS. POS_D_H: grąžinti "ankstesnis komponentas";
                atvejis POS. POS_A_NZ: grąžinti "kitas tikrasis vardas";
                atvejis POS. POS_A_NX: grąžinti "svetimą charakterį";
                atvejis POS. POS_A_NR: grąžinti "asmens vardą";
                atvejis POS. POS_D_Z: grąžinti "būsenos žodis";
                atvejis POS. POS_A_NT: grąžinti "institucijų korpusas";
                atvejis POS. POS_A_NS: grąžinti "vietovardis";
                atvejis POS. POS_D_Y: return "nuotaikos žodis nuotaikos morfema";
                atvejis POS. POS_D_X: grąžinti "nemorfeminis žodis";
                atvejis POS. POS_D_W: grąžinti "skyrybos ženklą";
                atvejis POS. POS_D_T: grąžinti "laiko žodį";
                atvejis POS. POS_D_S: grąžinti "vietos žodis";
                atvejis POS. POS_D_V: grąžinti "veiksmažodžio morfema";
                atvejis POS. POS_D_U: grąžinti "dalelių dalelių morfema";
                atvejis POS. POS_D_R: grąžinti "įvardžio įvardis morfema";
                atvejis POS. POS_A_Q: grąžinkite "kiekybinio matuoklio morfema";
                atvejis POS. POS_D_P: grąžinti "prielinksnis";
                atvejis POS. POS_D_MQ: grąžinti "kiekybinis rodiklis";
                atvejis POS. POS_A_M: grąžinti "skaitmuo, skaičiumi, skaičiumi";
                atvejis POS. POS_D_O: grąžinti "onomatopeja";
                atvejis POS. POS_D_N: grąžinti "daiktavardis morfema";
                atvejis POS. POS_D_F: grąžinti "azimuto žodis azimuto morfema";
                atvejis POS. POS_D_E: grąžinti "interjekcijos morfema";
                atvejis POS. POS_D_L: grąžinti "idioma";
                atvejis POS. POS_D_I: grąžinti "idioma";
                atvejis POS. POS_D_D: grąžinti "prieveiksmio prieveiksmio morfema";
                atvejis POS. POS_D_C: grąžinti "konjunktyvinė jungties morfema";
                atvejis POS. POS_D_B: grįžti "atskirti žodžius atskirti morfemas";
                atvejis POS. POS_D_A: grąžinti "būdvardis morfema";
            }
            grąžinti "nežinomą kalbos dalį";
        }



        /// <summary>
        Gauti dalyvį [Original Wordinfo]
        /// </summary>
        <param name="content"> žodžio, kurį reikia atskirti, turinys</param>
        <param name="matchOptions"> naudokite atitikimo parinktis</param>
        <param name="matchParameter"> naudokite atitikties parametrą</param>
        /// <returns></returns>
        public ICollection<WordInfo> GetSegmentWords(string content, MatchOptions matchOptions = null,
           MatchParameter matchParameter = null)
        {
            Segmento segmentas = naujas segmentas();
            ICollection<WordInfo> žodžiai = segmentas. DoSegment(turinys, matchOptions, matchParameter);
            grąžinti žodžius;
        }



        /// <summary>
        Gauti dalyvius
        /// </summary>
        <param name="content"> žodžio, kurį reikia atskirti, turinys</param>
        <param name="matchOptions"> Atitikties parinktys naudojamos, o ne pagal numatytuosius nustatymus</param>
        <param name="matchParameter" > naudoti atitinkantį parametrą, o ne pagal numatytuosius nustatymus</param>
        viešasis sąrašas<string> GetSplitWords(eilutės turinys, MatchOptions matchOptions = null, MatchParameter matchParameter = null)
        {
            Segmento segmentas = naujas segmentas();
            ICollection<WordInfo> žodžiai = segmentas. DoSegment(turinys,matchOptions,matchParameter);
            List<string> list = naujas List<string>();
            foreach (WordInfo žodis žodžiais)
            {
                sąrašą. Add(žodis. Žodis);
            }
            grąžinimo sąrašas;
        }


        /// <summary>
        Gaukite nurodyto žodžio dažnio dalyvį
        /// </summary>
        <param name="content"> žodžio, kurį reikia atskirti, turinys</param>
        <param name="frequency"> žodžio dažnis</param>
        <param name="matchOptions"> Atitikties parinktys naudojamos, o ne pagal numatytuosius nustatymus</param>
        <param name="matchParameter" > naudoti atitinkantį parametrą, o ne pagal numatytuosius nustatymus</param>
        /// <returns></returns>
        viešasis sąrašas<string> GetSplitWordsByFrequency(eilutės turinys, dvigubas dažnis, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segmento segmentas = naujas segmentas();
            ICollection<WordInfo> žodžiai = segmentas. DoSegment(turinys, matchOptions, matchParameter);

            List<string> list = naujas List<string>();
            foreach (WordInfo žodis žodžiais)
            {
                if (dažnis == žodis. Dažnis)
                {
                    sąrašą. Add(žodis. Žodis);
                }
            }
            grąžinimo sąrašas;
        }


        /// <summary>
        Gaukite nurodyto svorio dalyvį
        /// </summary>
        <param name="content"> žodžio, kurį reikia atskirti, turinys</param>
        <param name="rank"> svoris</param>
        <param name="matchOptions"> Atitikties parinktys naudojamos, o ne pagal numatytuosius nustatymus</param>
        <param name="matchParameter" > naudoti atitinkantį parametrą, o ne pagal numatytuosius nustatymus</param>
        /// <returns></returns>
        viešasis sąrašas<string> GetSplitWordsByRank(string content, int rank, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segmento segmentas = naujas segmentas();
            ICollection<WordInfo> žodžiai = segmentas. DoSegment(turinys, matchOptions, matchParameter);

            List<string> list = naujas List<string>();
            foreach (WordInfo žodis žodžiais)
            {
                if (rangas == žodis. rangas)
                {
                    sąrašą. Add(žodis. Žodis);
                }
            }
            grąžinimo sąrašas;
        }


        /// <summary>
        Paryškinti
        /// </summary>
        <param name="keyword"> eilutę, kurią norite paryškinti</param>
        <param name="content">content</param>
        <param name="fragmentSize"> kiekvieno suvestinės lauko simbolių skaičius</param>
        <returns>Paryškintas turinys</returns>
        viešoji statinė eilutė HighLight(eilutės raktažodis, eilutės turinys, int fragmentSize)
        {
            Sukurkite HTML kodą su parametru, paryškinančiu paieškos terminą  
            SimpleHTMLFormatter simpleHTMLFormatter = naujas SimpleHTMLFormatter("<font color='red'>", "</font>"");
            Sukurkite paryškinimą, įveskite HTML kodą ir Pangu objektą Semgent  
            Highlighter highter = new Highlighter(simpleHTMLFormatter, new Segment());
            Kiekvieno suvestinės lauko simbolių skaičiaus nustatymas  
            aukštesnis. FragmentSize = fragmentSize;
            string highlightStr = highter. GetBestFragment(raktinis žodis, turinys);

            if (eilutė. IsNullOrEmpty(highlightStr))
            {
                grąžinti turinį;
            }
            grąžinti paryškinimąStr;
        }



    }

}


Vertinimas pagal

Dalyvių skaičius1MB+2 Prisidėti prie+2 Žlugimo priežastis
Mažai purvo + 2 + 2 Labai galingas!

Peržiūrėti visus įvertinimus





Ankstesnis:PHP duomenų bazės prieigos įrankis Medoo
Kitą:Ar "Hammer Technology Big Bang" plagijavo Zhong Yingpin?
Paskelbta 2017-07-17 10:55:05 |
Dėkojame, kad dalijatės žodžiu segmentavimo dalykas yra būtinas TVS sistemoje
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com