Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 23439|Svar: 1

[Källa] Pangu ordsegmenteringsassistent

[Kopiera länk]
Publicerad på 2017-07-17 10:02:38 | | |
med System;
med System.Collections.Generic;
med System.Linq;
med System.Text;
använda System.Threading.Tasks;
med hjälp av PanGu.Dict;
med PanGu.Framework;
med PanGu.Match;
med PanGu.Setting;
med PanGu.HighLight;
med hjälp av Lucene.Net.Analysis;
med hjälp av System.IO;
med PanGu;
med System.Configuration;

namnrymden Pangu.Helper
{
    offentlig klass PanguHelper
    {

        privat flyktig statisk PanguHelper _instance = null;
        privat statisk readonly-objekt lockHelper = nytt objekt();
        privat PanguHelper() { }

        /// <summary>
        [Standard använder pangu.xml profil under samma sökväg]
        /// </summary>
        /// <returns></returns>
        offentlig statisk PanguHelper DelaHjälpare
        {
            Hämta
            {
                om (_instance == null)
                {
                    lås (lockHelper)
                    {
                        om (_instance == null)
                        {
                            _instance = ny PanguHelper();
                            string configFile = ConfigurationManager.AppSettings["PANGU_CONFIG"] + "";
                            if (configFile != "")
                            {
                                _instance. Use(configFile);
                            }
                        }
                    }
                }

                återvända _instance;
            }
        }

        /// <summary>
        Initiera den specificerade konfigurationsfilen
        /// </summary>
        <param name="configFile"> pangu konfigurationsfil</param>
        public void Use(string configFile)
        {
            PanGu.Segment.Init(configFile);
        }

        /// <summary>
        Få en ordklassbeskrivning
        /// </summary>
        <param name="pos"> ordklassuppräkning</param>
        /// <returns></returns>
        public string GetPosDescrip{filter}t(POS pos)
        {
            Switch (POS)
            {
                Fallet POS. POS_UNK: returnera "okänd ordklass;"
                Fallet POS. POS_D_K: returnera "trailing component";
                Fallet POS. POS_D_H: returnera "föregående komponent";
                Fallet POS. POS_A_NZ: returnera "annat egennamn";
                Fallet POS. POS_A_NX: återlämna "utländsk karaktär";
                Fallet POS. POS_A_NR: returnera "personens namn";
                Fallet POS. POS_D_Z: returnera "statusord";
                Fallet POS. POS_A_NT: återlämna "institution corps";
                Fallet POS. POS_A_NS: återlämna "ortsnamn";
                Fallet POS. POS_D_Y: återvänder till "humörsordet humörmorfem";
                Fallet POS. POS_D_X: returnera "icke-morfemiskt ord";
                Fallet POS. POS_D_W: returnera "interpunktion";
                Fallet POS. POS_D_T: returnera "word of time";
                Fallet POS. POS_D_S: returnera "platsord";
                Fallet POS. POS_D_V: återger "verbmorfem";
                Fallet POS. POS_D_U: returnera "partikelpartikelmorfem";
                Fallet POS. POS_D_R: återvända "pronomenmorfem";
                Fallet POS. POS_A_Q: returnera "quantifier quantifier quantifier morphem";
                Fallet POS. POS_D_P: återvänd "preposition";
                Fallet POS. POS_D_MQ: returnera "kvantifierare";
                Fallet POS. POS_A_M: returnera "numeral, numeral, numeral";
                Fallet POS. POS_D_O: återger "onomatopoeia";
                Fallet POS. POS_D_N: återlämna "substantivmorfem";
                Fallet POS. POS_D_F: returnera "azimutordet azimutmorfem";
                Fallet POS. POS_D_E: returnera "interjektionsmorfem";
                Fallet POS. POS_D_L: returnera "idiom";
                Fallet POS. POS_D_I: returnera "idiom";
                Fallet POS. POS_D_D: återger "adverb adverb morfem";
                Fallet POS. POS_D_C: returnera "konjunktiv konjunktionsmorfem";
                Fallet POS. POS_D_B: returnera "för att särskilja ord för att skilja morfem";
                Fallet POS. POS_D_A: återger "adjektivmorfem";
            }
            returnera "okänd ordklass";
        }



        /// <summary>
        Få participet [Original Wordinfo]
        /// </summary>
        <param name="content"> innehållet i ordet som ska separeras</param>
        <param name="matchOptions"> använd matchningsalternativen</param>
        <param name="matchParameter"> använd matchparametern</param>
        /// <returns></returns>
        publik ICollection<WordInfo> GetSegmentWords (stränginnehåll, MatchOptions matchOptions = null,
           MatchParameter matchParameter = null)
        {
            Segmentsegment = nytt segment();
            <WordInfo> ICollektionsord = segment. DoSegment (innehåll, matchOptions, matchParameter);
            återge ord;
        }



        /// <summary>
        Få particip
        /// </summary>
        <param name="content"> innehållet i ordet som ska separeras</param>
        <param name="matchOptions"> Matchningsalternativ används inte som standard</param>
        <param name="matchParameter" > använd matchande parameter, inte som standard</param>
        publik lista<string> GetSplitWords (stränginnehåll, MatchOptions matchOptions = null, MatchParameter matchParameter = null)
        {
            Segmentsegment = nytt segment();
            <WordInfo> ICollektionsord = segment. DoSegment(innehåll, matchOptions, matchparameter);
            Listlista<string> = ny Lista<string>();
            foreach (WordInfo-ord i ord)
            {
                lista. Add(word. Word);
            }
            återvändolista;
        }


        /// <summary>
        Erhåll participet för den angivna ordfrekvensen
        /// </summary>
        <param name="content"> innehållet i ordet som ska separeras</param>
        <param name="frequency"> ordets frekvens</param>
        <param name="matchOptions"> Matchningsalternativ används inte som standard</param>
        <param name="matchParameter" > använd matchande parameter, inte som standard</param>
        /// <returns></returns>
        publik lista<string> GetSplitWordsByFrequency(stränginnehåll, dubbel frekvens, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segmentsegment = nytt segment();
            <WordInfo> ICollektionsord = segment. DoSegment (innehåll, matchOptions, matchParameter);

            Listlista<string> = ny Lista<string>();
            foreach (WordInfo-ord i ord)
            {
                om (frekvens == ord. Frekvens)
                {
                    lista. Add(word. Word);
                }
            }
            återvändolista;
        }


        /// <summary>
        Sätt ett particip med en viss vikt
        /// </summary>
        <param name="content"> innehållet i ordet som ska separeras</param>
        <param name="rank"> vikt</param>
        <param name="matchOptions"> Matchningsalternativ används inte som standard</param>
        <param name="matchParameter" > använd matchande parameter, inte som standard</param>
        /// <returns></returns>
        publik lista<string> GetSplitWordsByRank(stränginnehåll, int-rankning, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segmentsegment = nytt segment();
            <WordInfo> ICollektionsord = segment. DoSegment (innehåll, matchOptions, matchParameter);

            Listlista<string> = ny Lista<string>();
            foreach (WordInfo-ord i ord)
            {
                om (rang == ord. Rang)
                {
                    lista. Add(word. Word);
                }
            }
            återvändolista;
        }


        /// <summary>
        Höjdpunkter
        /// </summary>
        <param name="keyword"> strängen för att markera</param>
        <param name="content">content</param>
        <param name="fragmentSize"> antalet tecken för varje sammanfattningsfält</param>
        <returns>Markerat innehåll</returns>
        publik statisk sträng HighLight (strängnyckelord, stränginnehåll, int fragmentSize)
        {
            Skapa en HTML-kod med parametern som markerar söktermen  
            SimpleHTMLFormatter simpleHTMLFormatter = ny SimpleHTMLFormatter("<font color='red'>", "</font>");
            Skapa markeringar, ange HTML-kod och Pangu-objekt Semgent  
            Highlighter högre = ny Highlighter(simpleHTMLFormatter, ny Segment());
            Sätt antalet tecken för varje sammanfattningsfält  
            högre. FragmentStorlek = FragmentStorlek;
            sträng highlightStr = högre. GetBestFragment (nyckelord, innehåll);

            om (sträng. IsNullOrEmpty(highlightStr))
            {
                returnera innehåll;
            }
            återvänd höjdpunktStr;
        }



    }

}


Tjog

Antal deltagare1MB+2 bidra+2 Kollaps förnuft
Lilla avskum + 2 + 2 Mycket kraftfullt!

Se alla betyg





Föregående:php databasåtkomstverktyg Medoo
Nästa:Plagierade Hammer Technology Big Bang Zhong Yingpin?
Publicerad på 2017-07-17 10:55:05 |
Tack för att du delade med dig av att ordsegmentering är avgörande i CMS-systemet
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com