Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 23439|Odpověď: 1

[Zdroj] Asistent segmentace slov Pangu

[Kopírovat odkaz]
Zveřejněno 17.07.2017 10:02:38 | | |
pomocí System;
pomocí System.Collections.Generic;
pomocí System.Linq;
pomocí System.Text;
pomocí System.Threading.Tasks;
pomocí PanGu.Dict;
pomocí PanGu.Framework;
pomocí PanGu.Match;
pomocí PanGu.Setting;
pomocí PanGu.HighLight;
pomocí Lucene.Net.Analysis;
pomocí System.IO;
pomocí PanGu;
pomocí System.Configuration;

jmenný prostor Pangu.Helper
{
    veřejná třída PanguHelper
    {

        soukromý volatilní statický PanguHelper _instance = null;
        soukromý statický objekt pouze pro čtení lockHelper = nový objekt();
        private PanguHelper() { }

        /// <summary>
        [Výchozí používá pangu.xml profil pod stejnou cestou]
        /// </summary>
        /// <returns></returns>
        veřejný statický PanguHelper ShareHelper
        {
            Dostaň
            {
                pokud (_instance == null)
                {
                    zámek (lockHelper)
                    {
                        pokud (_instance == null)
                        {
                            _instance = nový PanguHelper();
                            string configFile = ConfigurationManager.AppSettings["PANGU_CONFIG"] + "";
                            if (configFile != "")
                            {
                                _instance. Use(configFile);
                            }
                        }
                    }
                }

                návrat _instance;
            }
        }

        /// <summary>
        Inicializace specifikovaného konfiguračního souboru
        /// </summary>
        <param name="configFile"> konfigurační soubor pangu</param>
        public void Use(string configFile)
        {
            PanGu.Segment.Init(configFile);
        }

        /// <summary>
        Získejte popis slovních druhů
        /// </summary>
        <název paramu="pos"> enumerace slovních druhů</param>
        /// <returns></returns>
        public string GetPosDescrip{filter}t(POS pos)
        {
            Switch (POS)
            {
                případový POS. POS_UNK: vrátit "neznámou slovní část;"
                případový POS. POS_D_K: vraťte "sledující komponentu";
                případový POS. POS_D_H: vrátit "předcházející komponentu";
                případový POS. POS_A_NZ: vrátit "jiné vlastní jméno";
                případový POS. POS_A_NX: vrátit "cizí znak";
                případový POS. POS_A_NR: vrátit "jméno osoby";
                případový POS. POS_D_Z: vrátit "stavové slovo";
                případový POS. POS_A_NT: vrátit se "soubor institucí";
                případový POS. POS_A_NS: vrátit "název místa";
                případový POS. POS_D_Y: vrátit "morfém nálady slov";
                případový POS. POS_D_X: vrátit "nemorfemické slovo";
                případový POS. POS_D_W: vrátit "interpunkci";
                případový POS. POS_D_T: návrat "slova času";
                případový POS. POS_D_S: vrátit "umístit slovo";
                případový POS. POS_D_V: vrátit "slovesný morfém";
                případový POS. POS_D_U: vrátit "částicový částicový morfém";
                případový POS. POS_D_R: vrátit "morfém zájmen a zájmen";
                případový POS. POS_A_Q: vrátit "kvantifikátorový kvantifikátorový morfém";
                případový POS. POS_D_P: vrátit "předložku";
                případový POS. POS_D_MQ: vrátit "kvantifikátor";
                případový POS. POS_A_M: vrátit "číslo, číslici, číslici";
                případový POS. POS_D_O: vrátit "onomatopoeii";
                případový POS. POS_D_N: vrátit "podstatný morfém";
                případový POS. POS_D_F: vrátit "azimutální azimutní morfém slova";
                případový POS. POS_D_E: vrátit "interjekční morfém";
                případový POS. POS_D_L: vrátit "idiom";
                případový POS. POS_D_I: vrátit "idiom";
                případový POS. POS_D_D: vrátit "příslovkový příslovkový morfém";
                případový POS. POS_D_C: vrátit "konjunktivní konjunkční morfém";
                případový POS. POS_D_B: return "rozlišovat slova pro rozlišení morfémů";
                případový POS. POS_D_A: vrátit "přídavný morfém";
            }
            return "neznámá slovní část";
        }



        /// <summary>
        Získejte příčestí [Původní Wordinfo]
        /// </summary>
        <název parametru="obsah"> obsah slova, které má být odděleno</param>
        <název parametru="matchOptions"> použijte možnosti párování</param>
        <param name="matchParameter"> použijte parametr match</param>
        /// <returns></returns>
        public ICollection<WordInfo> GetSegmentWords(obsah řetězce, MatchOptions matchOptions = null,
           MatchParameter matchParameter = null)
        {
            Segment = nový Segment();
            ICollection<WordInfo> words = segment. DoSegment(content, matchOptions, matchParameter);
            vracet slova;
        }



        /// <summary>
        Získejte participace
        /// </summary>
        <název parametru="obsah"> obsah slova, které má být odděleno</param>
        <název parametru="matchOptions"> Možnosti párování se používají, ne ve výchozím nastavení</param>
        <název parametru="matchParameter" > použít parametr shody, ne ve výchozím nastavení</param>
        public List<string> GetSplitWords(obsah řetězce, 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 ve slovech z WordInfo)
            {
                seznam. Přidat (slovo. Word);
            }
            seznam návratů;
        }


        /// <summary>
        Získejte příčestí určené frekvence slov
        /// </summary>
        <název parametru="obsah"> obsah slova, které má být odděleno</param>
        <název parametru="frekvence"> frekvence slov</param>
        <název parametru="matchOptions"> Možnosti párování se používají, ne ve výchozím nastavení</param>
        <název parametru="matchParameter" > použít parametr shody, ne ve výchozím nastavení</param>
        /// <returns></returns>
        public List<string> GetSplitWordsByFrequency (obsah řetězce, dvojnásobná frekvence, 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 ve slovech z WordInfo)
            {
                pokud (frekvence == slovo. Frekvence)
                {
                    seznam. Přidat (slovo. Word);
                }
            }
            seznam návratů;
        }


        /// <summary>
        Získejte příčestí s určenou váhou
        /// </summary>
        <název parametru="obsah"> obsah slova, které má být odděleno</param>
        <název parametru="hodnost"> váha</param>
        <název parametru="matchOptions"> Možnosti párování se používají, ne ve výchozím nastavení</param>
        <název parametru="matchParameter" > použít parametr shody, ne ve výchozím nastavení</param>
        /// <returns></returns>
        public List<string> GetSplitWordsByRank(obsah řetězce, 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 ve slovech z WordInfo)
            {
                if (rank == slovo. Hodnost)
                {
                    seznam. Přidat (slovo. Word);
                }
            }
            seznam návratů;
        }


        /// <summary>
        Hlavní body
        /// </summary>
        <název parametru="klíčové slovo"> řetězec zvýraznit</param>
        <název parametru="obsah">obsah</param>
        <název parametru="fragmentSize"> počet znaků pro každé souhrnné pole</param>
        <returns>Zvýrazněný obsah</returns>
        public static string HighLight (klíčové slovo řetězce, obsah řetězce, int fragmentSize)
        {
            Vytvořte HTML kód s parametrem zvýrazňujícím vyhledávací termín  
            SimpleHTMLFormatter simpleHTMLFormatter = nový SimpleHTMLFormatter("<font color='red'>", "</font>");
            Vytvořte zvýrazňování, zadejte HTML kód a Pangu objekt Semgent  
            Highlighter = nový Highlighter(simpleHTMLFormatter, nový Segment());
            Nastavte počet znaků pro každé souhrnné pole  
            vyšší. FragmentSize = fragmentSize;
            string highlightStr = highter. GetBestFragment (klíčové slovo, obsah);

            pokud (řetězec. IsNullOrEmpty(highlightStr))
            {
                vrátit obsah;
            }
            return highlightStr;
        }



    }

}


Partitura

Počet účastníků1MB+2 přispět+2 Zhroucení důvod
Malý hajzl + 2 + 2 Velmi silné!

Zobrazit všechna hodnocení





Předchozí:Nástroj pro přístup k php databázi Medoo
Další:Plagiátoval Hammer Technology Big Bang Zhong Yingpina?
Zveřejněno 17.07.2017 10:55:05 |
Děkuji za sdílení, že segmentace slov je v systému CMS zásadní
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com