Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 23439|Risposta: 1

[Fonte] Assistente per la segmentazione delle parole Pangu

[Copiato link]
Pubblicato su 17/07/2017 10:02:38 | | |
usando Sistema;
usando System.Collections.Generic;
usando System.Linq;
usando System.Text;
usando System.Threading.Tasks;
usando PanGu.Dict;
utilizzando PanGu.Framework;
usando PanGu.Match;
usando PanGu.Setting;
usando PanGu.HighLight;
usando Lucene.Net.Analysis;
usando System.IO;
usando PanGu;
usando System.Configuration;

namespace Pangu.Helper
{
    Classe pubblica PanguHelper
    {

        PanguHelper statico volatile privato _instance = nullo;
        blocco privato statico di solo lettura Aiutante = nuovo oggetto();
        privato PanguHelper() { }

        /// <summary>
        [Predefinito usa pangu.xml profilo sotto lo stesso percorso]
        /// </summary>
        /// <returns></returns>
        statico pubblico PanguHelper ShareHelper
        {
            Ottieni
            {
                if (_instance == null)
                {
                    Serratura (Aiuto a serratura)
                    {
                        if (_instance == null)
                        {
                            _instance = nuovo PanguHelper();
                            stringFile di configurazione = ConfigurationManager.AppSettings["PANGU_CONFIG"] + "";
                            if (configFile != "")
                            {
                                _instance. Use(configFile);
                            }
                        }
                    }
                }

                ritorno _instance;
            }
        }

        /// <summary>
        Inizializza il file di configurazione specificato
        /// </summary>
        <param name="configFile"> file di configurazione pangu</param>
        public void Use(stringa configFile)
        {
            PanGu.Segment.Init(fileConfig);
        }

        /// <summary>
        Ottieni una descrizione della sezione del discorso
        /// </summary>
        <param name="pos"> enumerazione delle parti del discorso</param>
        /// <returns></returns>
        public string: GetPosDescrip{filter}t(POS pos)
        {
            Switch (pos)
            {
                caso POS. POS_UNK: restituisci "parte del discorso sconosciuta;"
                caso POS. POS_D_K: ritorno "componente di riportata";
                caso POS. POS_D_H: restituire "componente precedente";
                caso POS. POS_A_NZ: restituire "altro nome proprio";
                caso POS. POS_A_NX: restituire "carattere straniero";
                caso POS. POS_A_NR: restituisci "nome della persona";
                caso POS. POS_D_Z: restituire "parola di stato";
                caso POS. POS_A_NT: restituire "corpo di istituzioni";
                caso POS. POS_A_NS: restituisci "nome del luogo";
                caso POS. POS_D_Y: restituisci "parola mood morfema";
                caso POS. POS_D_X: restituisci "parola non morfemica";
                caso POS. POS_D_W: restituire "punteggiatura";
                caso POS. POS_D_T: restituire "parola del tempo";
                caso POS. POS_D_S: restituire "mettere parola";
                caso POS. POS_D_V: restituisci "verbo morfema";
                caso POS. POS_D_U: restituisci "morfema particella particella";
                caso POS. POS_D_R: restituisci "pronome pronome morfema";
                caso POS. POS_A_Q: restituisci "quantificatore morfema";
                caso POS. POS_D_P: restituire la "preposizione";
                caso POS. POS_D_MQ: restituire "quantificatore";
                caso POS. POS_A_M: restituisci "numerale, numerale, cifrale";
                caso POS. POS_D_O: restituire "onomatopee";
                caso POS. POS_D_N: restituisci "morfema";
                caso POS. POS_D_F: restituisci "azimut parola azimut morfema";
                caso POS. POS_D_E: restituisci "morfema interiezione";
                caso POS. POS_D_L: restituisci "idioma";
                caso POS. POS_D_I: restituisci "idiom";
                caso POS. POS_D_D: return "avverbio adverbio morfema";
                caso POS. POS_D_C: restituire "morfema della congiunzione congiuntiva";
                caso POS. POS_D_B: ritorna "distinguere parole per distinguere morfemi";
                caso POS. POS_D_A: restituisci "aggettivo morfema";
            }
            ritorna "Parte del discorso sconosciuta";
        }



        /// <summary>
        Ottieni il participio [Originale Wordinfo]
        /// </summary>
        <param name="content"> il contenuto della parola da separare</param>
        <param name="matchOptions"> usa le opzioni corrispondenti</param>
        <param name="matchParameter"> usa il parametro di match</param>
        /// <returns></returns>
        public<WordInfo> ICollection GetSegmentWords(stringa content, MatchOptions matchOptions = null,
           MatchParameter matchParameter = null)
        {
            Segmento segmento = nuovo Segmento();
            <WordInfo> Parole di collettura = segmento. DoSegment (contenuto, matchOptions, matchParameter);
            rispondere alle parole;
        }



        /// <summary>
        Ottieni partecipi
        /// </summary>
        <param name="content"> il contenuto della parola da separare</param>
        <param name="matchOptions"> Le opzioni di corrispondenza sono usate, non di default</param>
        <param name="matchParameter" > usare il parametro corrispondente, non di default</param>
        Public<string> List GetSplitWords(stringa content, MatchOptions matchOptions = null, MatchParameter matchParameter = null)
        {
            Segmento segmento = nuovo Segmento();
            <WordInfo> Parole di collettura = segmento. DoSegment(content, matchOptions, matchParameter);
            <string> Lista lista = nuova Lista<string>();
            foreach (WordInfo word in words)
            {
                lista. Aggiung(parola. Parola);
            }
            elenco dei ritorni;
        }


        /// <summary>
        Ottieni il participio della frequenza specificata della parola
        /// </summary>
        <param name="content"> il contenuto della parola da separare</param>
        <param name="frequenza"> frequenza delle parole</param>
        <param name="matchOptions"> Le opzioni di corrispondenza sono usate, non di default</param>
        <param name="matchParameter" > usare il parametro corrispondente, non di default</param>
        /// <returns></returns>
        Lista pubblica<string> GetSplitWordsByFrequency(string content, double frequency, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segmento segmento = nuovo Segmento();
            <WordInfo> Parole di collettura = segmento. DoSegment (contenuto, matchOptions, matchParameter);

            <string> Lista lista = nuova Lista<string>();
            foreach (WordInfo word in words)
            {
                if (frequenza == parola. Frequenza)
                {
                    lista. Aggiung(parola. Parola);
                }
            }
            elenco dei ritorni;
        }


        /// <summary>
        Prendi un participio con un peso specificato
        /// </summary>
        <param name="content"> il contenuto della parola da separare</param>
        <param name="rank"> peso</param>
        <param name="matchOptions"> Le opzioni di corrispondenza sono usate, non di default</param>
        <param name="matchParameter" > usare il parametro corrispondente, non di default</param>
        /// <returns></returns>
        Public List<string> GetSplitWordsByRank(stringa content, int rank, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            Segmento segmento = nuovo Segmento();
            <WordInfo> Parole di collettura = segmento. DoSegment (contenuto, matchOptions, matchParameter);

            <string> Lista lista = nuova Lista<string>();
            foreach (WordInfo word in words)
            {
                if (rank == parola. Grado)
                {
                    lista. Aggiung(parola. Parola);
                }
            }
            elenco dei ritorni;
        }


        /// <summary>
        Punti salienti
        /// </summary>
        <param name="keyword"> la stringa da evidenziare</param>
        <param name="content">content</param>
        <param name="fragmentSize"> il numero di caratteri per ogni campo riassunto</param>
        <returns>Contenuti evidenziati</returns>
        stringa statica pubblica HighLight (parola chiave stringa, contenuto stringa, int fragmentSize)
        {
            Crea un codice HTML con il parametro che evidenzia il termine di ricerca  
            SimpleHTMLFormatter simpleHTMLFormatter = nuovo SimpleHTMLFormatter("<font color='red'>", "</font>");
            Crea evidenziamenti, inserisci codice HTML e oggetto Pangu Semgent  
            Evidenziatore più alto = nuovo evidenziatore (simpleHTMLFormatter, nuovo Segmento());
            Imposta il numero di caratteri per ogni campo di riassunto  
            più alto. DimensioneFrattamento = DimensioneFrattamento;
            stringa highlightStr = highter. GetBestFragment (parola chiave, contenuto);

            se (stringa. IsNullOrEmpty(highlightStr))
            {
                restituire contenuti;
            }
            ritorna highlightStr;
        }



    }

}


Punteggio

Numero di partecipanti1MB+2 contribuire+2 Collasso ragione
Piccola feccia + 2 + 2 Molto potente!

Vedi tutte le valutazioni





Precedente:Strumento di accesso a database PHP Medoo
Prossimo:Hammer Technology Big Bang ha plagiato Zhong Yingpin?
Pubblicato su 17/07/2017 10:55:05 |
Grazie per aver condiviso che la segmentazione delle parole è essenziale nel sistema CMS
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com