この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 23439|答える: 1

[出典] Pangu ワードセグメンテーションアシスタント

[リンクをコピー]
掲載地 2017/07/17 10:02:38 | | |
Systemを使い、
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 = new object();
        private PanguHelper() { }

        /// <summary>
        [デフォルトでは同じパス内でpangu.xmlプロファイルを使用します]
        /// </summary>
        /// <returns></returns>
        パブリックスタティック PanguHelper シェアヘルパー
        {
            取得
            {
                もし (_instance == null)
                {
                    lock(lockHelper)
                    {
                        もし (_instance == null)
                        {
                            _instance = 新しいPanguHelper();
                            string configFile = ConfigurationManager.AppSettings["PANGU_CONFIG"] + "";
                            if(configFile != "")
                            {
                                _instance。 Use(configFile);
                            }
                        }
                    }
                }

                _instance返事;
            }
        }

        /// <summary>
        指定された構成ファイルを初期化します
        /// </summary>
        <param name="configFile"> pangu config file</param>
        public void Use(string configFile)
        {
            PanGu.Segment.Init(configFile);
        }

        /// <summary>
        品詞の説明を入手しましょう
        /// </summary>
        <param name="pos">品詞列挙</param>
        /// <returns></returns>
        public string GetPosDescrip{filter}t(POS pos)
        {
            スイッチ(POS)
            {
                事件のクソ。 POS_UNK:「unknown of 品詞」を返す。
                事件のクソ。 POS_D_K:「後遺成分」を返します。
                事件のクソ。 POS_D_H:「前のコンポーネント」を返す;
                事件のクソ。 POS_A_NZ:「他の固有名」を返す;
                事件のクソ。 POS_A_NX:「外国語」を返す;
                事件のクソ。 POS_A_NR:「person's name」を返す;
                事件のクソ。 POS_D_Z:「status word」を返す;
                事件のクソ。 POS_A_NT:「機関の体」を返す;
                事件のクソ。 POS_A_NS:「地名」を返す;
                事件のクソ。 POS_D_Y: 「ムードワード モード モフェーム」を返す;
                事件のクソ。 POS_D_X:「非形態素語」を返す;
                事件のクソ。 POS_D_W:「句読点」を返す;
                事件のクソ。 POS_D_T:「時の言葉」を返す;
                事件のクソ。 POS_D_S: 「place word」を返す;
                事件のクソ。 POS_D_V: return 「動詞形態素」;
                事件のクソ。 POS_D_U:「particle particle morpheme」を返します。
                事件のクソ。 POS_D_R: 「代名詞 代名詞形態素」を返す;
                事件のクソ。 POS_A_Q:「量化子、量化詞、形態素」を返す;
                事件のクソ。 POS_D_P:「前置詞」を返す;
                事件のクソ。 POS_D_MQ:「量化子」を返す;
                事件のクソ。 POS_A_M: 「numeral, numeral, numeral」を返す;
                事件のクソ。 POS_D_O:「擬音語」を返す;
                事件のクソ。 POS_D_N:「名詞形態素」を返す;
                事件のクソ。 POS_D_F:「方位語の方位素」を返す;
                事件のクソ。 POS_D_E: return 「感嘆詞形態素」;
                事件のクソ。 POS_D_L: return 「イディオム」;
                事件のクソ。 POS_D_I: return 「イディオム」;
                事件のクソ。 POS_D_D: 「副詞 副詞形態素」を返す;
                事件のクソ。 POS_D_C: 「接続形素」を返す;
                事件のクソ。 POS_D_B:戻る「単語を区別して形態素を区別する」;
                事件のクソ。 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(文字列 content, MatchOptions matchOptions = null,
           MatchParameter matchParameter = null)
        {
            セグメント = 新しいセグメント();
            ICollection<WordInfo> 単語=セグメント。 DoSegment(content, matchOptions, matchParameter);
            単語を戻す;
        }



        /// <summary>
        分詞を入手してください
        /// </summary>
        <param name="content"> 分離する単語の内容</param>
        <param name="matchOptions"> Match optionsはデフォルトではなく使われます</param>
        <param name="matchParameter" > マッチングパラメータを使用しますが、デフォルトではありません</param>
        public List<string> GetSplitWords(文字列内容、MatchOptions matchOptions = null, MatchParameter matchParameter = null)
        {
            セグメント = 新しいセグメント();
            ICollection<WordInfo> 単語=セグメント。 DoSegment(content, matchOptions, matchParameter);
            リスト<string>リスト=新しいリスト<string>();
            foreach(単語情報の単語)
            {
                リスト。 Add(単語)。 言葉);
            }
            リターンリスト;
        }


        /// <summary>
        指定された語数の分詞を得る
        /// </summary>
        <param name="content"> 分離する単語の内容</param>
        <パラメータ名=「周波数」>単語頻度</param>
        <param name="matchOptions"> Match optionsはデフォルトではなく使われます</param>
        <param name="matchParameter" > マッチングパラメータを使用しますが、デフォルトではありません</param>
        /// <returns></returns>
        public List<string> GetSplitWordsByFrequency(文字列内容、倍頻度、MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            セグメント = 新しいセグメント();
            ICollection<WordInfo> 単語=セグメント。 DoSegment(content, matchOptions, matchParameter);

            リスト<string>リスト=新しいリスト<string>();
            foreach(単語情報の単語)
            {
                もし(頻度 == 単語)。 周波数)
                {
                    リスト。 Add(単語)。 言葉);
                }
            }
            リターンリスト;
        }


        /// <summary>
        指定された重みを持つ分詞を用意します
        /// </summary>
        <param name="content"> 分離する単語の内容</param>
        <param name="rank"> weight(重み</param>)
        <param name="matchOptions"> Match optionsはデフォルトではなく使われます</param>
        <param name="matchParameter" > マッチングパラメータを使用しますが、デフォルトではありません</param>
        /// <returns></returns>
        公開リスト<string> GetSplitWordsByRank(文字列 content, int rank, MatchOptions matchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            セグメント = 新しいセグメント();
            ICollection<WordInfo> 単語=セグメント。 DoSegment(content, matchOptions, matchParameter);

            リスト<string>リスト=新しいリスト<string>();
            foreach(単語情報の単語)
            {
                もし(ランク=単語)ならば。 階級)
                {
                    リスト。 Add(単語)。 言葉);
                }
            }
            リターンリスト;
        }


        /// <summary>
        ハイライト
        /// </summary>
        <param name="keyword"> ハイライトする文字列</param>
        <param name="content">content</param>
        <param name="fragmentSize"> 各要約フィールドの文字数</param>
        <returns>ハイライトコンテンツ</returns>
        公開静的文字列HighLight(string keyword, string content, 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=highter。 GetBestFragment(キーワード、コンテンツ);

            もし(文字列)ならば。 IsNullOrEmpty(highlightStr))
            {
                内容を返す;
            }
            返却 highlightStr;
        }



    }

}


スコア

参加者数1MB+2 貢献する+2 倒れる 理由
クズども + 2 + 2 とても強力です!

すべての評価を見る





先の:phpデータベースアクセスツールMedoo
次に:ハンマーテクノロジー・ビッグバンは鍾英品を盗作したのか?
掲載地 2017/07/17 10:55:05 |
CMSシステムではワードセグメンテーションが不可欠であることを共有してくれてありがとうございます
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com