Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 23439|Odgovoriti: 1

[Vir] Pomočnik za segmentacijo besed Pangu

[Kopiraj povezavo]
Objavljeno na 17. 07. 2017 10:02:38 | | |
z uporabo System;
z uporabo System.Collections.Generic;
z uporabo System.Linq;
z uporabo System.Text;
uporaba System.Threading.Tasks;
uporablja PanGu.Dict;
z uporabo PanGu.Framework;
uporaba PanGu.Match;
uporaba PanGu.Setting;
uporaba PanGu.HighLight;
z uporabo Lucene.Net.Analysis;
z uporabo System.IO;
uporaba PanGu;
z uporabo System.Configuration;

imenski prostor Pangu.Helper
{
    javni razred PanguHelper
    {

        zasebni volatilni statični PanguHelper _instance = null;
        zasebni statični objekt za branje lockHelper = nov objekt();
        private PanguHelper() { }

        /// <summary>
        [Privzeto uporablja pangu.xml profil pod isto potjo]
        /// </summary>
        /// <returns></returns>
        javni statični PanguHelper ShareHelper
        {
            Dobi
            {
                če (_instance == ničl)
                {
                    lock (lockHelper)
                    {
                        če (_instance == ničl)
                        {
                            _instance = novi PanguHelper();
                            string configFile = ConfigurationManager.AppSettings["PANGU_CONFIG"] + "";
                            if (configFile != "")
                            {
                                _instance. Use(configFile);
                            }
                        }
                    }
                }

                vrnitev _instance;
            }
        }

        /// <summary>
        Inicializiraj določeno konfiguracijsko datoteko
        /// </summary>
        <param name="configFile"> konfiguracijska datoteka pangu</param>
        public void Use(string configFile)
        {
            PanGu.Segment.Init(configFile);
        }

        /// <summary>
        Pridobite opis besednega dela
        /// </summary>
        <ime parameta="pos"> enumeracija vrst govora</param>
        /// <returns></returns>
        public string GetPosDescrip{filter}t(POS pos)
        {
            Stikalo (pos)
            {
                Primer POS. POS_UNK: vrni "neznan del govora;"
                Primer POS. POS_D_K: vrni "trailing component";
                Primer POS. POS_D_H: vrni "predhodno komponento";
                Primer POS. POS_A_NZ: vrni "drugo lastno ime";
                Primer POS. POS_A_NX: vrni "tuji znak";
                Primer POS. POS_A_NR: vrni "ime osebe";
                Primer POS. POS_D_Z: vrni "statusno besedo";
                Primer POS. POS_A_NT: nazaj "telo institucij";
                Primer POS. POS_A_NS: vrni "ime kraja";
                Primer POS. POS_D_Y: vrni "mood word mood mood morphem";
                Primer POS. POS_D_X: vrni "nemorfemična beseda";
                Primer POS. POS_D_W: vrni "ločila";
                Primer POS. POS_D_T: vrnitev "besede časa";
                Primer POS. POS_D_S: vrni "mesto besede";
                Primer POS. POS_D_V: vrni "glagolski morfem";
                Primer POS. POS_D_U: vrni "delčni delčni morfem";
                Primer POS. POS_D_R: vrni "morfem zaimka in zaimka";
                Primer POS. POS_A_Q: vrni "kvantifikatorski kvantifikatorski morfem";
                Primer POS. POS_D_P: vrni "predlog";
                Primer POS. POS_D_MQ: vrni "kvantifikator";
                Primer POS. POS_A_M: vrni "številka, številka, številka";
                Primer POS. POS_D_O: vrnitev "onomatopeje";
                Primer POS. POS_D_N: vrni "samostalniški morfem";
                Primer POS. POS_D_F: vrni "azimutni azimutni morfem besede";
                Primer POS. POS_D_E: vrni "morfem z interjekcijo";
                Primer POS. POS_D_L: vrni "idiom";
                Primer POS. POS_D_I: vrni "idiom";
                Primer POS. POS_D_D: vrni "prislovni prislovni morfem";
                Primer POS. POS_D_C: vrni "konjunktivni konjunktivni morfem";
                Primer POS. POS_D_B: return "za razlikovanje besed za razlikovanje morfemov";
                Primer POS. POS_D_A: vrni "pridevniški morfem";
            }
            nazaj "neznan del besede";
        }



        /// <summary>
        Pridobite deležnik [Original Wordinfo]
        /// </summary>
        <ime parameta="vsebina"> vsebina besede, ki jo je treba ločiti</param>
        <ime parametra="matchOptions"> uporabi možnosti ujemanja</param>
        <parameter name="matchParameter"> uporabite parameter match</param>
        /// <returns></returns>
        public ICollection<WordInfo> GetSegmentWords(vsebina nizov, MatchOptions matchOptions = null,
           MatchParameter matchParameter = null)
        {
            Segment = nov Segment();
            ICollection<WordInfo> words = segment. DoSegment(vsebina, matchOptions, matchParameter);
            nazaj besede;
        }



        /// <summary>
        Vzemi participe
        /// </summary>
        <ime parameta="vsebina"> vsebina besede, ki jo je treba ločiti</param>
        <ime parametra="matchOptions"> Možnosti ujemanja se uporabljajo, ne privzeto</param>
        <parameter name="matchParameter" > uporabi parameter ujemanja, ne privzeto</param>
        javni seznam<string> GetSplitWords(vsebina stringa, MatchOptions matchOptions = null, MatchParameter matchParameter = null)
        {
            Segment = nov Segment();
            ICollection<WordInfo> words = segment. DoSegment(content,matchOptions,matchParameter);
            <string> List list = nov List<string>();
            foreach (beseda WordInfo v besedah)
            {
                seznam. Dodaj (besedo. Word);
            }
            seznam vračil;
        }


        /// <summary>
        Dobimo deležnik določene frekvence besede
        /// </summary>
        <ime parameta="vsebina"> vsebina besede, ki jo je treba ločiti</param>
        <ime parametra="frekvenca"> pogostost besed</param>
        <ime parametra="matchOptions"> Možnosti ujemanja se uporabljajo, ne privzeto</param>
        <parameter name="matchParameter" > uporabi parameter ujemanja, ne privzeto</param>
        /// <returns></returns>
        javni seznam<string> GetSplitWordsByFrequency (vsebina nizov, dvojna frekvenca, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segment = nov Segment();
            ICollection<WordInfo> words = segment. DoSegment(vsebina, matchOptions, matchParameter);

            <string> List list = nov List<string>();
            foreach (beseda WordInfo v besedah)
            {
                če (frekvenca == beseda. Pogostost
                {
                    seznam. Dodaj (besedo. Word);
                }
            }
            seznam vračil;
        }


        /// <summary>
        Vzemi deležnik z določeno težo
        /// </summary>
        <ime parameta="vsebina"> vsebina besede, ki jo je treba ločiti</param>
        <ime parametra="rang"> teža</param>
        <ime parametra="matchOptions"> Možnosti ujemanja se uporabljajo, ne privzeto</param>
        <parameter name="matchParameter" > uporabi parameter ujemanja, ne privzeto</param>
        /// <returns></returns>
        javni seznam<string> GetSplitWordsByRank(vsebina nizov, int rank, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segment = nov Segment();
            ICollection<WordInfo> words = segment. DoSegment(vsebina, matchOptions, matchParameter);

            <string> List list = nov List<string>();
            foreach (beseda WordInfo v besedah)
            {
                if (rang == beseda. Čin)
                {
                    seznam. Dodaj (besedo. Word);
                }
            }
            seznam vračil;
        }


        /// <summary>
        Poudarek
        /// </summary>
        <ime parametra="ključna beseda"> niz za označitev</param>
        <ime parametra="vsebina">vsebina</param>
        <ime parametra="fragmentSize"> število znakov za vsako polje povzetka</param>
        <returns>Poudarjena vsebina</returns>
        javni statični niz HighLight (ključna beseda v nizu, vsebina niza, int fragmentSize)
        {
            Ustvarite HTML kodo s parametrom, ki označuje iskalni izraz  
            SimpleHTMLFormatter simpleHTMLFormatter = novi SimpleHTMLFormatter("<font color='red'>", "</font>");
            Ustvarite označevanje, vnesite HTML kodo in Pangu objekt Semgent  
            Highlighter highter = novi Highlighter(simpleHTMLFormatter, novi Segment());
            Nastavite število znakov za vsako polje povzetka  
            višje. FragmentSize = fragmentSize;
            string highlightStr = highter. GetBestFragment (ključna beseda, vsebina);

            če (niz. IsNullOrEmpty(highlightStr))
            {
                vrni vsebino;
            }
            vrni highlightStr;
        }



    }

}


Partitura

Število udeležencev1MB+2 prispevati+2 Propad razlog
Mala drhal + 2 + 2 Zelo močno!

Oglejte si vse ocene





Prejšnji:Orodje za dostop do php podatkovne baze Medoo
Naslednji:Ali je Hammer Technology Big Bang plagiiral Zhong Yingpina?
Objavljeno na 17. 07. 2017 10:55:05 |
Hvala, ker ste delili, da je segmentacija besed bistvena v sistemu CMS
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com