Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 23439|Απάντηση: 1

[Πηγή] Βοηθός τμηματοποίησης λέξεων Pangu

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 17/7/2017 10:02:38 π.μ. | | |
χρησιμοποιώντας το Σύστημα.
χρησιμοποιώντας το System.Collections.Generic.
χρησιμοποιώντας το System.Linq.
χρησιμοποιώντας το System.Text.
χρησιμοποιώντας το System.Threading.Tasks.
χρησιμοποιώντας το PanGu.Dict.
χρησιμοποιώντας το PanGu.Framework.
χρησιμοποιώντας το PanGu.Match.
χρησιμοποιώντας το PanGu.Setting.
χρησιμοποιώντας το PanGu.HighLight.
χρησιμοποιώντας το Lucene.Net.Analysis.
χρησιμοποιώντας System.IO?
χρησιμοποιώντας το PanGu.
χρησιμοποιώντας το System.Configuration.

χώρος ονομάτων Pangu.Helper
{
    δημόσια τάξη PanguHelper
    {

        ιδιωτικό πτητικό στατικό PanguHelper _instance = null;
        ιδιωτικό στατικό αντικείμενο μόνο για ανάγνωση lockHelper = νέο αντικείμενο();
        ιδιωτικό PanguHelper() { }

        /// <summary>
        [Η προεπιλογή χρησιμοποιεί pangu.xml προφίλ κάτω από την ίδια διαδρομή]
        /// </summary>
        /// <returns></returns>
        δημόσιο στατικό PanguHelper ShareHelper
        {
            παίρνω
            {
                αν (_instance == null)
                {
                    κλειδαριά (lockHelper)
                    {
                        αν (_instance == null)
                        {
                            _instance = νέο PanguHelper();
                            συμβολοσειρά configFile = ConfigurationManager.AppSettings["PANGU_CONFIG"] + "";
                            αν (configFile != "")
                            {
                                _instance. Χρήση(configFile);
                            }
                        }
                    }
                }

                επιστροφή _instance?
            }
        }

        /// <summary>
        Αρχικοποιήστε το καθορισμένο αρχείο διαμόρφωσης
        /// </summary>
        <param name="configFile"> αρχείο διαμόρφωσης pangu</param>
        public void Use(string configFile)
        {
            PanGu.Segment.Init(configFile);
        }

        /// <summary>
        Λήψη περιγραφής μέρους του λόγου
        /// </summary>
        <param name="pos"> μέρος της απαρίθμησης ομιλίας</param>
        /// <returns></returns>
        δημόσια συμβολοσειρά GetPosDescrip{filter}t(POS pos)
        {
            Διακόπτης (POS)
            {
                θήκη POS. POS_UNK: επιστροφή "άγνωστο μέρος του λόγου".
                θήκη POS. POS_D_K: επιστρέψτε το "τελικό στοιχείο".
                θήκη POS. POS_D_H: επιστρέψτε "προηγούμενο στοιχείο".
                θήκη POS. POS_A_NZ: επιστροφή "άλλο κύριο όνομα".
                θήκη POS. POS_A_NX: επιστροφή "ξένου χαρακτήρα".
                θήκη POS. POS_A_NR: επιστρέψτε το "όνομα του ατόμου".
                θήκη POS. POS_D_Z: επιστροφή "λέξη κατάστασης".
                θήκη POS. POS_A_NT: επιστροφή «σώμα θεσμών».
                θήκη POS. POS_A_NS: επιστροφή "τοπωνύμιο".
                θήκη POS. POS_D_Y: επιστρέψτε "μορφικό διάθεσης λέξης".
                θήκη POS. POS_D_X: επιστροφή "μη μορφική λέξη";
                θήκη POS. POS_D_W: επιστροφή "σημεία στίξης".
                θήκη POS. POS_D_T: επιστροφή "λέξη του χρόνου";
                θήκη POS. POS_D_S: επιστροφή "λέξη θέσης".
                θήκη POS. POS_D_V: επιστροφή "ρήμα μόρφημα";
                θήκη POS. POS_D_U: επιστροφή "μόριο σωματιδίου μορφώματος";
                θήκη POS. POS_D_R: επιστροφή "αντωνυμία αντωνυμία μόρφημα";
                θήκη POS. POS_A_Q: επιστροφή "μορφικό ποσοδείκτη ποσοδείκτη";
                θήκη POS. POS_D_P: επιστροφή "πρόθεση".
                θήκη POS. POS_D_MQ: επιστροφή "ποσοδείκτης";
                θήκη POS. POS_A_M: επιστροφή "αριθμός, αριθμός, αριθμός".
                θήκη POS. POS_D_O: επιστροφή "ονοματοποιία";
                θήκη POS. POS_D_N: επιστροφή "ουσιαστικό μόρφημα";
                θήκη POS. POS_D_F: επιστροφή "αζιμούθιο λέξη αζιμούθιο μόρφημα";
                θήκη POS. POS_D_E: επιστροφή "επιφώνημα μορφικό";
                θήκη POS. POS_D_L: επιστροφή "ιδίωμα";
                θήκη POS. POS_D_I: επιστροφή "ιδιωματισμού";
                θήκη POS. POS_D_D: επιστρέψτε "επίρρημα επίρρημα μόρφημα";
                θήκη POS. POS_D_C: επιστροφή "μορφικό συνδετικού συνδέσμου";
                θήκη POS. POS_D_B: επιστροφή "για να διακρίνετε λέξεις για να διακρίνετε τα μορφώματα";
                θήκη POS. POS_D_A: επιστροφή "επίθετο μόρφημα";
            }
            επιστροφή "άγνωστο μέρος του λόγου"?
        }



        /// <summary>
        Λήψη της μετοχής [Original Wordinfo]
        /// </summary>
        <param name="content"> το περιεχόμενο της λέξης που πρόκειται να διαχωριστεί</param>
        <param name="matchOptions"> χρησιμοποιήστε τις επιλογές αντιστοίχισης</param>
        <param name="matchParameter"> χρησιμοποιήστε την παράμετρο match</param>
        /// <returns></returns>
        public ICollection<WordInfo> GetSegmentWords(string content, MatchOptions matchOptions = null,
           MatchParameter matchParameter matchParameter = null)
        {
            Τμήμα τμήματος = νέο τμήμα();
            <WordInfo> Λέξεις επιλογής = τμήμα. DoSegment(περιεχόμενο, matchOptions, matchParameter);
            λέξεις επιστροφής?
        }



        /// <summary>
        Λήψη μετοχών
        /// </summary>
        <param name="content"> το περιεχόμενο της λέξης που πρόκειται να διαχωριστεί</param>
        <param name="matchOptions"> Οι επιλογές αντιστοίχισης χρησιμοποιούνται και όχι από προεπιλογή</param>
        <param name="matchParameter" > χρησιμοποιήσετε την παράμετρο που ταιριάζει, όχι από προεπιλογή</param>
        δημόσια λίστα<string> GetSplitWords(περιεχόμενο συμβολοσειράς, MatchOptions matchOptions = null, MatchParameter matchParameter = null)
        {
            Τμήμα τμήματος = νέο τμήμα();
            <WordInfo> Λέξεις επιλογής = τμήμα. DoSegment(περιεχόμενο;matchOptions;matchParameter);
            <string> Λίστα λίστας = νέα Λίστα<string>();
            foreach (λέξη WordInfo σε λέξεις)
            {
                λίστα. Προσθήκη(λέξη. Λέξη);
            }
            λίστα επιστροφής?
        }


        /// <summary>
        Λάβετε τη μετοχή της καθορισμένης συχνότητας λέξεων
        /// </summary>
        <param name="content"> το περιεχόμενο της λέξης που πρόκειται να διαχωριστεί</param>
        <param name="frequency"> συχνότητα λέξης</param>
        <param name="matchOptions"> Οι επιλογές αντιστοίχισης χρησιμοποιούνται και όχι από προεπιλογή</param>
        <param name="matchParameter" > χρησιμοποιήσετε την παράμετρο που ταιριάζει, όχι από προεπιλογή</param>
        /// <returns></returns>
        δημόσια λίστα<string> GetSplitWordsByFrequency(περιεχόμενο συμβολοσειράς, διπλή συχνότητα, MatchOptions matchOptions = null,
            MatchParameter matchParameter matchParameter = null)
        {
            Τμήμα τμήματος = νέο τμήμα();
            <WordInfo> Λέξεις επιλογής = τμήμα. DoSegment(περιεχόμενο, matchOptions, matchParameter);

            <string> Λίστα λίστας = νέα Λίστα<string>();
            foreach (λέξη WordInfo σε λέξεις)
            {
                if (συχνότητα == λέξη. Συχνότητα)
                {
                    λίστα. Προσθήκη(λέξη. Λέξη);
                }
            }
            λίστα επιστροφής?
        }


        /// <summary>
        Πάρτε μια μετοχή με καθορισμένο βάρος
        /// </summary>
        <param name="content"> το περιεχόμενο της λέξης που πρόκειται να διαχωριστεί</param>
        <param name="rank"> βάρος</param>
        <param name="matchOptions"> Οι επιλογές αντιστοίχισης χρησιμοποιούνται και όχι από προεπιλογή</param>
        <param name="matchParameter" > χρησιμοποιήσετε την παράμετρο που ταιριάζει, όχι από προεπιλογή</param>
        /// <returns></returns>
        public List<string> GetSplitWordsByRank(string content, int rank, MatchOptions matchOptions = null,
            MatchParameter matchParameter matchParameter = null)
        {
            Τμήμα τμήματος = νέο τμήμα();
            <WordInfo> Λέξεις επιλογής = τμήμα. DoSegment(περιεχόμενο, matchOptions, matchParameter);

            <string> Λίστα λίστας = νέα Λίστα<string>();
            foreach (λέξη WordInfo σε λέξεις)
            {
                if (rank == λέξη. Κατάταξη)
                {
                    λίστα. Προσθήκη(λέξη. Λέξη);
                }
            }
            λίστα επιστροφής?
        }


        /// <summary>
        Αποκορύφωμα
        /// </summary>
        <param name="λέξη-κλειδί"> τη συμβολοσειρά για επισήμανση</param>
        <όνομα παραμέτρου ="content">content</param>
        <param name="fragmentSize"> ο αριθμός των χαρακτήρων για κάθε πεδίο σύνοψης</param>
        <returns>Επισημασμένο περιεχόμενο</returns>
        δημόσια στατική συμβολοσειρά HighLight(λέξη-κλειδί συμβολοσειράς, περιεχόμενο συμβολοσειράς, int fragmentSize)
        {
            Δημιουργήστε έναν κώδικα HTML με την παράμετρο που επισημαίνει τον όρο αναζήτησης  
            SimpleHTMLFormatter simpleHTMLFormatter = new SimpleHTMLFormatter("<font color='red'>", "</font>");
            Δημιουργήστε επισήμανση, εισαγάγετε κώδικα HTML και αντικείμενο Pangu Semgent  
            Highlighter highter = new Highlighter(simpleHTMLFormatter, new Segment());
            Ορίστε τον αριθμό των χαρακτήρων για κάθε πεδίο σύνοψης  
            υψηλότερη. FragmentSize = fragmentSize;
            string highlightStr = υψηλότερη. GetBestFragment(λέξη-κλειδί, περιεχόμενο);

            Αν (συμβολοσειρά. IsNullOrEmpty(highlightStr))
            {
                επιστροφή περιεχομένου·
            }
            επιστροφή highlightStr;
        }



    }

}


Παρτιτούρα

Αριθμός συμμετεχόντων1ΜΒ+2 συνεισφέρω+2 Κατάρρευση λόγος
Μικρά αποβράσματα + 2 + 2 Πολύ δυνατό!

Δείτε όλες τις αξιολογήσεις





Προηγούμενος:Εργαλείο πρόσβασης στη βάση δεδομένων php Medoo
Επόμενος:Το Hammer Technology Big Bang έκανε λογοκλοπή στον Zhong Yingpin;
Δημοσιεύτηκε στις 17/7/2017 10:55:05 π.μ. |
Σας ευχαριστούμε που μοιραστήκατε τη λέξη τμηματοποίηση είναι απαραίτητη στο σύστημα CMS
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com