Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 23439|Vastaus: 1

[Lähde] Pangu-sanan segmentointiavustaja

[Kopioi linkki]
Julkaistu 17.7.2017 10.02.38 | | |
käyttämällä Systemiä;
käyttäen System.Collections.Generic-tiedostoa;
käyttäen System.Linqia;
käyttäen System.Textiä;
käyttäen System.Threading.Tasksia;
käyttäen PanGu.Dictiä;
käyttäen PanGu.Frameworkia;
käyttäen PanGu.Matchia;
käyttäen PanGu.Settingiä;
käyttäen PanGu.HighLightia;
käyttäen Lucene.Net.Analysisia;
käyttäen System.IO;
käyttäen PanGua;
käyttäen System.Configurationia;

nimiavaruus Pangu.Helper
{
    julkinen luokka PanguHelper
    {

        yksityinen haihtuva staattinen PanguHelper _instance = nolla;
        yksityinen staattinen lukumääräinen objekti lockHelper = uusi objekti();
        yksityinen PanguHelper() { }

        /// <summary>
        [Oletuksena käytetään pangu.xml profiilia samalla polulla]
        /// </summary>
        /// <returns></returns>
        julkinen staattinen PanguHelper ShareHelper
        {
            Tule
            {
                jos (_instance == null)
                {
                    lukko (lockHelper)
                    {
                        jos (_instance == null)
                        {
                            _instance = uusi PanguHelper();
                            string configFile = ConfigurationManager.AppSettings["PANGU_CONFIG"] + "";
                            if (configFile != "")
                            {
                                _instance. Use(configFile);
                            }
                        }
                    }
                }

                palaa _instance;
            }
        }

        /// <summary>
        Alustoi määritetty konfiguraatiotiedosto
        /// </summary>
        <param name="configFile"> pangu configuration file</param>
        public void Use(string configFile)
        {
            PanGu.Segment.Init(configFile);
        }

        /// <summary>
        Hanki sanakuvauksen
        /// </summary>
        <param name="pos"> sanaluettelo</param>
        /// <returns></returns>
        public string GetPosDescrip{filter}t(POS pos)
        {
            Switch (POS)
            {
                Case POS. POS_UNK: palauta "tuntematon puheosa;"
                Case POS. POS_D_K: palauta "jälkikomponentti";
                Case POS. POS_D_H: palauta "edeltävä komponentti";
                Case POS. POS_A_NZ: palauta "muu erisnimi";
                Case POS. POS_A_NX: palauta "vieras merkki";
                Case POS. POS_A_NR: palauttaa "henkilön nimi";
                Case POS. POS_D_Z: palauta "status word";
                Case POS. POS_A_NT: palautetaan "instituutioiden kokonaisuus";
                Case POS. POS_A_NS: palauta "paikannimi";
                Case POS. POS_D_Y: return "mielialasana mieliala morfeemi";
                Case POS. POS_D_X: palauta "ei-morfeeminen sana";
                Case POS. POS_D_W: palauta "välimerkit";
                Case POS. POS_D_T: palauta "ajan sana";
                Case POS. POS_D_S: palauta "paikkasana";
                Case POS. POS_D_V: return "verbimorfeemi";
                Case POS. POS_D_U: palauta "hiukkasen hiukkasmorfeemi";
                Case POS. POS_D_R: palauta "pronominipronominimorfeemi";
                Case POS. POS_A_Q: palauta "quantifier quantifier morpheme";
                Case POS. POS_D_P: return "prepositio";
                Case POS. POS_D_MQ: palauta "kvantifioija";
                Case POS. POS_A_M: palauta "numero, numero, numero";
                Case POS. POS_D_O: palaa "onomatopoeia";
                Case POS. POS_D_N: return "substantiivi morfeemi";
                Case POS. POS_D_F: return "azimuth word azimuth morpheme";
                Case POS. POS_D_E: return "interjektiomorfeemi";
                Case POS. POS_D_L: return "idiom";
                Case POS. POS_D_I: palaa "idiomi";
                Case POS. POS_D_D: return "adverb adverb morpheme";
                Case POS. POS_D_C: return "konjunktiivinen konjunktiomorfeemi";
                Case POS. POS_D_B: return "erotella sanoja morfeemien erottamiseksi";
                Case POS. POS_D_A: return "adjektiivimorfeemi";
            }
            palauttaa "tuntematon sanakohta";
        }



        /// <summary>
        Hanki partisiippi [Alkuperäinen sanatieto]
        /// </summary>
        <param name="content"> erotettavan sanan sisältö</param>
        <param name="matchOptions"> käytä matching optionsia</param>
        <param name="matchParameter"> käytä match-parametria</param>
        /// <returns></returns>
        public ICollection<WordInfo> GetSegmentWords(string content, MatchOptions matchOptions = null,
           MatchParameter matchParameter = null)
        {
            Segmenttisegmentti = uusi segment();
            ICollection-sanat<WordInfo> = segmentti. DoSegment(content, matchOptions, matchParameter);
            vastata sanoja;
        }



        /// <summary>
        Hanki partisiipit
        /// </summary>
        <param name="content"> erotettavan sanan sisältö</param>
        <param name="matchOptions"> Match-vaihtoehtoja käytetään, ei oletuksena</param>
        <param name="matchParameter" > käyttää vastaavaa parametria, ei oletuksena</param>
        julkinen<string> lista GetSplitWords(merkkijonosisältö, MatchOptions matchOptions = null, MatchParameter matchParameter = null)
        {
            Segmenttisegmentti = uusi segment();
            ICollection-sanat<WordInfo> = segmentti. DoSegment(content, matchOptions, matchParameter);
            <string> Lista = uusi List<string>();
            foreach (WordInfo sana sanoina)
            {
                lista. Add(word. Word);
            }
            paluulista;
        }


        /// <summary>
        Hanki määritellyn sanatiheyden partisiippi
        /// </summary>
        <param name="content"> erotettavan sanan sisältö</param>
        <param name="frequency"> sanan taajuus</param>
        <param name="matchOptions"> Match-vaihtoehtoja käytetään, ei oletuksena</param>
        <param name="matchParameter" > käyttää vastaavaa parametria, ei oletuksena</param>
        /// <returns></returns>
        julkinen<string> lista GetSplitWordsByFrequency(merkkijonosisältö, kaksinkertainen taajuus, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segmenttisegmentti = uusi segment();
            ICollection-sanat<WordInfo> = segmentti. DoSegment(content, matchOptions, matchParameter);

            <string> Lista = uusi List<string>();
            foreach (WordInfo sana sanoina)
            {
                jos (taajuus == sana. Taajuus)
                {
                    lista. Add(word. Word);
                }
            }
            paluulista;
        }


        /// <summary>
        Hanki partisiippi, jonka paino on määritelty
        /// </summary>
        <param name="content"> erotettavan sanan sisältö</param>
        <param name="rank"> paino</param>
        <param name="matchOptions"> Match-vaihtoehtoja käytetään, ei oletuksena</param>
        <param name="matchParameter" > käyttää vastaavaa parametria, ei oletuksena</param>
        /// <returns></returns>
        julkinen lista<string> GetSplitWordsByRank(string content, int rank, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segmenttisegmentti = uusi segment();
            ICollection-sanat<WordInfo> = segmentti. DoSegment(content, matchOptions, matchParameter);

            <string> Lista = uusi List<string>();
            foreach (WordInfo sana sanoina)
            {
                jos (rank == sana. Arvo)
                {
                    lista. Add(word. Word);
                }
            }
            paluulista;
        }


        /// <summary>
        Kohokohdat
        /// </summary>
        <param name="avainsana"> merkkijono korostettavaksi</param>
        <param name="content">content</param>
        <param name="fragmentSize"> kunkin yhteenvetokentän merkkien määrä</param>
        <returns>Korostettu sisältö</returns>
        julkinen staattinen merkkijono HighLight (merkkijonon avainsana, merkkijonon sisältö, int fragmentSize)
        {
            Luo HTML-koodi, jossa parametri korostaa hakutermiä  
            SimpleHTMLFormatter simpleHTMLFormatter = uusi SimpleHTMLFormatter ("<font color='red'>", "</font>");
            Luo korostus, syötä HTML-koodi ja Pangu-objekti Semgent  
            Highlighter highter = uusi Highlighter (simpleHTMLFormatter, new Segment());
            Aseta merkkimäärä kullekin yhteenvetokentälle  
            korkeampi. FragmentSize = fragmentSize;
            kielen korostusStr = korkeampi. GetBestFragment (avainsana, sisältö);

            jos (merkkijono. IsNullOrEmpty(korostusVoima))
            {
                palautussisältöä;
            }
            palaa highlightStr;
        }



    }

}


Pistetilanne

Osallistujien määrä1MB+2 myötävaikuttaa+2 Romahdus syy
Pikku roisto + 2 + 2 Erittäin voimakas!

Katso kaikki arviot





Edellinen:php-tietokannan käyttötyökalu Medoo
Seuraava:Plagioiko Hammer Technology Big Bang Zhong Yingpinin?
Julkaistu 17.7.2017 10.55.05 |
Kiitos, että jaoit, että sanan segmentointi on olennaista CMS-järjestelmässä
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com