Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 23439|Odpoveď: 1

[Zdroj] Asistent segmentácie slov Pangu

[Kopírovať odkaz]
Zverejnené 17. 7. 2017 10:02:38 | | |
pomocou systému;
používajúc System.Collections.Generic;
pomocou System.Linq;
pomocou System.Text;
pomocou System.Threading.Tasks;
používajúc PanGu.Dict;
pomocou PanGu.Framework;
pomocou PanGu.Match;
pomocou PanGu.Setting;
pomocou PanGu.HighLight;
pomocou Lucene.Net.Analysis;
použitím System.IO;
pomocou PanGu;
pomocou System.Configuration;

menný priestor Pangu.Helper
{
    verejná trieda PanguHelper
    {

        súkromný volatilný statický PanguHelper _instance = null;
        súkromný statický objekt len na čítanie lockHelper = nový objekt();
        private PanguHelper() { }

        /// <summary>
        [Predvolene používa pangu.xml profil pod rovnakou cestou]
        /// </summary>
        /// <returns></returns>
        verejný statický PanguHelper ShareHelper
        {
            Získaj
            {
                ak (_instance == null)
                {
                    zámok (lockHelper)
                    {
                        ak (_instance == null)
                        {
                            _instance = nový PanguHelper();
                            string configFile = ConfigurationManager.AppSettings["PANGU_CONFIG"] + "";
                            if (configFile != "")
                            {
                                _instance. Use(configFile);
                            }
                        }
                    }
                }

                return _instance;
            }
        }

        /// <summary>
        Inicializujte zadaný konfiguračný súbor
        /// </summary>
        <param name="configFile"> pangu konfiguračný súbor</param>
        public void Use(string configFile)
        {
            PanGu.Segment.Init(configFile);
        }

        /// <summary>
        Získajte popis slovných druhov
        /// </summary>
        <param name="pos"> enumerácia slovných druhov</param>
        /// <returns></returns>
        public string GetPosDescrip{filter}t(POS pos)
        {
            Switch (pos)
            {
                prípadový POS. POS_UNK: vrátiť "neznámy slovný druh;"
                prípadový POS. POS_D_K: vrátiť "trailing component";
                prípadový POS. POS_D_H: vrátiť "predchádzajúci komponent";
                prípadový POS. POS_A_NZ: vrátiť "iné vlastné meno";
                prípadový POS. POS_A_NX: vrátiť "cudzí znak";
                prípadový POS. POS_A_NR: vrátiť "meno osoby";
                prípadový POS. POS_D_Z: vrátiť "stavové slovo";
                prípadový POS. POS_A_NT: vrátiť sa "súbor inštitúcií";
                prípadový POS. POS_A_NS: vrátiť "názov miesta";
                prípadový POS. POS_D_Y: vrátiť "morfém nálady, slov spôsobu";
                prípadový POS. POS_D_X: vrátiť "nemorfemické slovo";
                prípadový POS. POS_D_W: vrátiť "interpunkciu";
                prípadový POS. POS_D_T: vrátiť "slovo času";
                prípadový POS. POS_D_S: vrátiť "umiestniť slovo";
                prípadový POS. POS_D_V: vrátiť "slovesný morfém";
                prípadový POS. POS_D_U: vrátiť "časticový časticový morfém";
                prípadový POS. POS_D_R: vrátiť "morfém zámeno zámeno";
                prípadový POS. POS_A_Q: vrátiť "kvantifikátorový kvantifikátorový morfém";
                prípadový POS. POS_D_P: vrátiť "predložku";
                prípadový POS. POS_D_MQ: vrátiť "kvantifikátor";
                prípadový POS. POS_A_M: vrátiť "numeral, numeral, numeral";
                prípadový POS. POS_D_O: návrat "onomatopoeie";
                prípadový POS. POS_D_N: vrátiť "morfém podstatného mena";
                prípadový POS. POS_D_F: vrátiť "azimutálny azimutový morfém slova";
                prípadový POS. POS_D_E: vrátiť "interjekčný morfém";
                prípadový POS. POS_D_L: vrátiť "idiom";
                prípadový POS. POS_D_I: vrátiť "idiom";
                prípadový POS. POS_D_D: vrátiť "príslovkový príslovkový morfém";
                prípadový POS. POS_D_C: vrátiť "konjunktívny konjunktívny morfém";
                prípadový POS. POS_D_B: return "na rozlíšenie slov na rozlíšenie morfém";
                prípadový POS. POS_D_A: vrátiť "prídavný morfém";
            }
            return "neznáma slovná časť";
        }



        /// <summary>
        Získajte príčastie [Pôvodné slovné informácie]
        /// </summary>
        <názov parametra="obsah"> obsah slova, ktoré sa má oddeliť</param>
        <param name="matchOptions"> použite možnosti párovania</param>
        <param name="matchParameter"> použiť parameter match</param>
        /// <returns></returns>
        public ICollection<WordInfo> GetSegmentWords(obsah reťazca, MatchOptions matchOptions = null,
           MatchParameter matchParameter = null)
        {
            Segment = nový Segment();
            ICollection<WordInfo> words = segment. DoSegment(content, matchOptions, matchParameter);
            vrátiť slová;
        }



        /// <summary>
        Získajte príčastia
        /// </summary>
        <názov parametra="obsah"> obsah slova, ktoré sa má oddeliť</param>
        <param name="matchOptions"> Možnosti zhody sa používajú, nie predvolene</param>
        <param name="matchParameter" > použiť matching parameter, nie predvolene</param>
        public List<string> GetSplitWords(obsah reťazca, MatchOptions matchOptions = null, MatchParameter matchParameter = null)
        {
            Segment = nový Segment();
            ICollection<WordInfo> words = segment. DoSegment(content,matchOptions,matchParameter);
            <string> List list = nový List<string>();
            foreach (slovo WordInfo v slovách)
            {
                zoznam. Pridať (slovo. Word);
            }
            zoznam návratov;
        }


        /// <summary>
        Získame príčastie zadanej frekvencie slova
        /// </summary>
        <názov parametra="obsah"> obsah slova, ktoré sa má oddeliť</param>
        <názov parametra="frekvencia"> frekvencia slov</param>
        <param name="matchOptions"> Možnosti zhody sa používajú, nie predvolene</param>
        <param name="matchParameter" > použiť matching parameter, nie predvolene</param>
        /// <returns></returns>
        public List<string> GetSplitWordsByFrequency (obsah reťazca, dvojnásobná frekvencia, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segment = nový Segment();
            ICollection<WordInfo> words = segment. DoSegment(content, matchOptions, matchParameter);

            <string> List list = nový List<string>();
            foreach (slovo WordInfo v slovách)
            {
                ak (frekvencia == slovo. Frekvencia)
                {
                    zoznam. Pridať (slovo. Word);
                }
            }
            zoznam návratov;
        }


        /// <summary>
        Získaj príčastie s určenou váhou
        /// </summary>
        <názov parametra="obsah"> obsah slova, ktoré sa má oddeliť</param>
        <názov parametra="hodnosť"> váha</param>
        <param name="matchOptions"> Možnosti zhody sa používajú, nie predvolene</param>
        <param name="matchParameter" > použiť matching parameter, nie predvolene</param>
        /// <returns></returns>
        public List<string> GetSplitWordsByRank(obsah reťazca, int rank, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segment = nový Segment();
            ICollection<WordInfo> words = segment. DoSegment(content, matchOptions, matchParameter);

            <string> List list = nový List<string>();
            foreach (slovo WordInfo v slovách)
            {
                ak (rank == slovo. Hodnosť)
                {
                    zoznam. Pridať (slovo. Word);
                }
            }
            zoznam návratov;
        }


        /// <summary>
        Vrchol
        /// </summary>
        <param name="keyword"> reťazec na zvýraznenie</param>
        <názov parametra="obsah">obsah</param>
        <param name="fragmentSize"> počet znakov pre každé súhrnné pole</param>
        <returns>Zvýraznený obsah</returns>
        public static string HighLight (kľúčové slovo reťazca, obsah reťazca, int fragmentSize)
        {
            Vytvorte HTML kód s parametrom zvýrazňujúcim vyhľadávaný výraz  
            SimpleHTMLFormatter simpleHTMLFormatter = nový SimpleHTMLFormatter("<font color='red'>", "</font>");
            Vytvorte zvýrazňovanie, zadajte HTML kód a Pangu objekt Semgent  
            Highlighter = nový Highlighter(simpleHTMLFormatter, nový Segment());
            Nastavte počet znakov pre každé súhrnné pole  
            vyšší. FragmentSize = fragmentSize;
            string highlightStr = highter. GetBestFragment (kľúčové slovo, obsah);

            ak (reťazec. IsNullOrEmpty(highlightStr))
            {
                vrátiť obsah;
            }
            return highlightStr;
        }



    }

}


Skóre

Počet účastníkov1MB+2 prispieť+2 Kolaps dôvod
Malý + 2 + 2 Veľmi silné!

Zobraziť všetky hodnotenia





Predchádzajúci:Nástroj na prístup k php databáze Medoo
Budúci:Plagiátoval Hammer Technology Big Bang Zhong Yingpina?
Zverejnené 17. 7. 2017 10:55:05 |
Ďakujem, že ste zdieľali, že segmentácia slov je v CMS systéme nevyhnutná
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com