See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 23439|Vastuse: 1

[Allikas] Pangu sõnade segmenteerimise assistent

[Kopeeri link]
Postitatud 17.07.2017 10:02:38 | | |
kasutades süsteemi;
kasutades System.Collections.Generic;
kasutades System.Linq'i;
kasutades System.Texti;
kasutades System.Threading.Tasks;
kasutades PanGu.Dict;
kasutades PanGu.Frameworki;
kasutades PanGu.Matchi;
kasutades PanGu.Settingut;
kasutades PanGu.HighLight;
kasutades Lucene.Net.Analysis'i;
kasutades System.IO;
kasutades PanGu;
kasutades System.Configurationi;

nimeruum Pangu.Abiline
{
    avalik klass PanguHelper
    {

        privaatne volatiilne staatiline PanguHelper _instance = null;
        privaatne staatiline ainult loetav objekt lockHelper = uus objekt();
        era PanguHelper() { }

        /// <summary>
        [Vaikimisi kasutab pangu.xml profiili sama tee all]
        /// </summary>
        /// <returns></returns>
        avalik staatiline PanguHelper ShareHelper
        {
            Mine
            {
                if (_instance == null)
                {
                    lukk (luku abiline)
                    {
                        if (_instance == null)
                        {
                            _instance = uus PanguHelper();
                            string configFile = ConfigurationManager.AppSettings["PANGU_CONFIG"] + """;
                            if (configFile != "")
                            {
                                _instance. Use(configFile);
                            }
                        }
                    }
                }

                Tagasi _instance;
            }
        }

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

        /// <summary>
        Hangi kõneosa kirjeldus
        /// </summary>
        <param name="pos"> sõnaosade loetelu</param>
        /// <returns></returns>
        public string GetPosDescrip{filter}t(POS pos)
        {
            Lüliti (asend)
            {
                Case POS. POS_UNK: tagasta "tundmatu kõneosa;"
                Case POS. POS_D_K: tagastada "järelkomponent";
                Case POS. POS_D_H: tagasta "eelnev komponent";
                Case POS. POS_A_NZ: tagasta "teine pärisnimi";
                Case POS. POS_A_NX: tagasta "võõras tegelane";
                Case POS. POS_A_NR: tagasta "isiku nimi";
                Case POS. POS_D_Z: tagasta "staatuse sõna";
                Case POS. POS_A_NT: tagastada "institutsioonide kogu";
                Case POS. POS_A_NS: tagasta "kohanimi";
                Case POS. POS_D_Y: return "meeleolu sõna meeleolu morfeem";
                Case POS. POS_D_X: tagasta "mittemorfeemiline sõna";
                Case POS. POS_D_W: tagasta "kirjavahemärk";
                Case POS. POS_D_T: tagasta "aja sõna";
                Case POS. POS_D_S: tagasta "kohasõna";
                Case POS. POS_D_V: return "verbi morfeem";
                Case POS. POS_D_U: tagasta "osakese osakese morfeem";
                Case POS. POS_D_R: tagasta "asesõna morfeem";
                Case POS. POS_A_Q: tagasta "kvantifikaatori morfeem";
                Case POS. POS_D_P: tagasta "eessõna";
                Case POS. POS_D_MQ: tagasta "kvantifikeerija";
                Case POS. POS_A_M: tagasta "number, number, number";
                Case POS. POS_D_O: tagasi "onomatopoeia";
                Case POS. POS_D_N: tagasta "nimisõna morfeem";
                Case POS. POS_D_F: tagasta "asimuudi sõna asimuudmorfeem";
                Case POS. POS_D_E: tagasta "vaheldusmorfeem";
                Case POS. POS_D_L: tagasta "idiom";
                Case POS. POS_D_I: tagastada "idiom";
                Case POS. POS_D_D: tagasta "määrsõna määrsõna morfeem";
                Case POS. POS_D_C: tagasta "konjunktiivne konjunktsioonmorfeem";
                Case POS. POS_D_B: return "et eristada sõnu, et eristada morfeeme";
                Case POS. POS_D_A: tagasta "omadussõna morfeem";
            }
            tagasta "tundmatu kõneosa";
        }



        /// <summary>
        Hangi partitsiip [Originaalne sõnainfo]
        /// </summary>
        <param name="content"> eraldatava sõna sisu</param>
        <param name="matchOptions"> kasuta sobitamise valikuid</param>
        <param name="matchParameter"> kasuta match parameetrit</param>
        /// <returns></returns>
        public ICollection<WordInfo> GetSegmentWords(string content, MatchOptions matchOptions = null,
           MatchParameter matchParameter = null)
        {
            Segmendi segment = uus segment();
            ICollection<WordInfo> sõnad = segment. DoSegment(content, matchOptions, matchParameter);
            vastavad sõnad;
        }



        /// <summary>
        Võta partitsipid
        /// </summary>
        <param name="content"> eraldatava sõna sisu</param>
        <param name="matchOptions"> Kasutatakse sobitusvalikuid, mitte vaikimisi</param>
        <param name="matchParameter" > kasutada sobivat parameetrit, mitte vaikimisi</param>
        avalik nimekiri<string> GetSplitWords (string content, MatchOptions matchOptions = null, MatchParameter matchParameter = null)
        {
            Segmendi segment = uus segment();
            ICollection<WordInfo> sõnad = segment. DoSegment(content, matchOptions, matchParameter);
            List<string> list = uus List<string>();
            foreach (WordInfo sõna sõnades)
            {
                nimekirjas. Lisa(sõna. Word);
            }
            tagastusnimekiri;
        }


        /// <summary>
        Hangi määratud sõnasageduse osasõna osasõna
        /// </summary>
        <param name="content"> eraldatava sõna sisu</param>
        <param name="sagedus"> sõna sagedus</param>
        <param name="matchOptions"> Kasutatakse sobitusvalikuid, mitte vaikimisi</param>
        <param name="matchParameter" > kasutada sobivat parameetrit, mitte vaikimisi</param>
        /// <returns></returns>
        avalik nimekiri<string> GetSplitWordsByFrequency(string content, double frequency, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segmendi segment = uus segment();
            ICollection<WordInfo> sõnad = segment. DoSegment(content, matchOptions, matchParameter);

            List<string> list = uus List<string>();
            foreach (WordInfo sõna sõnades)
            {
                kui (sagedus == sõna. Sagedus)
                {
                    nimekirjas. Lisa(sõna. Word);
                }
            }
            tagastusnimekiri;
        }


        /// <summary>
        Võta partitsiip kindla kaaluga
        /// </summary>
        <param name="content"> eraldatava sõna sisu</param>
        <param name="aste"> kaal</param>
        <param name="matchOptions"> Kasutatakse sobitusvalikuid, mitte vaikimisi</param>
        <param name="matchParameter" > kasutada sobivat parameetrit, mitte vaikimisi</param>
        /// <returns></returns>
        avalik nimekiri<string> GetSplitWordsByRank(string content, int rank, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segmendi segment = uus segment();
            ICollection<WordInfo> sõnad = segment. DoSegment(content, matchOptions, matchParameter);

            List<string> list = uus List<string>();
            foreach (WordInfo sõna sõnades)
            {
                kui (rank == sõna. Ametikoht)
                {
                    nimekirjas. Lisa(sõna. Word);
                }
            }
            tagastusnimekiri;
        }


        /// <summary>
        Tipphetk
        /// </summary>
        <param name="märksõna"> et esile tõsta string</param>
        <param name="content">content</param>
        <param name="fragmentSize"> iga kokkuvõtva välja tähemärkide arv</param>
        <returns>Esiletõstetud sisu</returns>
        public static string HighLight (string märksõna, string content, int fragmentSize)
        {
            Loo HTML-kood, mille parameeter toob esile otsingutermini  
            SimpleHTMLFormatter simpleHTMLFormatter = uus SimpleHTMLFormatter ("<font color='punane'>", "</font>");
            Loo esiletõstmine, sisesta HTML-kood ja Pangu objekt Semgent  
            Highlighter highter = uus Highlighter (simpleHTMLFormatter, new Segment());
            Määra iga kokkuvõtva välja tähemärkide arv  
            kõrgem. FragmentSize = fragmentSize;
            string highlightStr = highter. GetBestFragment (märksõna, sisu);

            if (string. IsNullOrEmpty(highlightStr))
            {
                tagasta sisu;
            }
            return highlightStr;
        }



    }

}


Skoor

Osalejate arv1MB+2 Aitavad kaasa+2 Ahenda põhjus
Väike sodi + 2 + 2 Väga võimas!

Vaata kõiki hinnanguid





Eelmine:php andmebaasi ligipääsu tööriist Medoo
Järgmine:Kas Hammer Technology Big Bang plagieeris Zhong Yingpinit?
Postitatud 17.07.2017 10:55:05 |
Aitäh, et jagasid, et sõna segmenteerimine on CMS-süsteemis hädavajalik
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com