亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? simpledictseg.cs

?? KTDictSeg 簡介: KTDictSeg 是由KaiToo搜索開發的一款基于字典的簡單中英文分詞算法 * 主要功能: 中英文分詞
?? CS
?? 第 1 頁 / 共 4 頁
字號:
?/***************************************************************************************
 * KTDictSeg 簡介: KTDictSeg 是由KaiToo搜索開發的一款基于字典的簡單中英文分詞算法
 * 主要功能: 中英文分詞,未登錄詞識別,多元歧義自動識別,全角字符識別能力
 * 主要性能指標:
 * 分詞準確度:90%以上(有待專家的權威評測)
 * 處理速度: 600KBytes/s
 * 
 * 版本: V1.2.02 
 * Copyright(c) 2007 http://www.kaitoo.com 
 * 作者:肖波
 * 授權: 開源GPL
 * 公司網站: http://www.kaitoo.com
 * 個人博客: http://blog.csdn.net/eaglet; http://www.cnblogs.com/eaglet
 * 聯系方式: blog.eaglet@gmail.com
 * ***************************************************************************************/

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.IO;
using System.Reflection;
using FTAlgorithm;
using FTAlgorithm.General;

namespace KTDictSeg
{
    /// <summary>
    /// 簡單字典分詞
    /// </summary>
    public class CSimpleDictSeg
    {
        const string CHS_STOP_WORD_FILENAME = "chsstopwords.txt";
        const string ENG_STOP_WORD_FILENAME = "engstopwords.txt";

        IRule[] m_Rules ;

        //中文停用詞哈希表
        Hashtable m_ChsStopwordTbl = new Hashtable();

        //英文停用詞哈希表
        Hashtable m_EngStopwordTbl = new Hashtable();

        CExtractWords m_ExtractWords;
        const string PATTERNS = @"[0-9\d]+\%|[0-9\d]{1,2}月|[0-9\d]{1,2}日|[0-9\d]{1,4}年|"+
            @"[0-9\d]{1,4}-[0-9\d]{1,2}-[0-9\d]{1,2}|" +
            @"[0-9\d]+|[^a-zA-Za-zA-Z0-90-9\u4e00-\u9fa5]|[a-zA-Za-zA-Z]+|[\u4e00-\u9fa5]+";
        //const string PATTERNS = @"[a-zA-Z]+|\d+|[\u4e00-\u9fa5]+";

        String m_DictPath;

        CPOS m_POS;

        PosBinRule m_PosBinRule;
        MatchName m_MatchNameRule;

        /// <summary>
        /// 字典
        /// </summary>
        T_DictFile m_Dict;

        /// <summary>
        /// 字典管理
        /// </summary>
        DictManage.DictMgr m_DictMgr = new DictManage.DictMgr();


        /// <summary>
        /// 未登錄詞統計字典
        /// 用于統計未登錄詞的出現頻率和詞性。
        /// 目前主要統計未知詞性的未登錄詞和
        /// 未知姓名
        /// </summary>
        T_DictFile m_UnknownWordsDict ;

        /// <summary>
        /// 未登錄詞字典管理
        /// </summary>
        DictManage.DictMgr m_UnknownWordsDictMgr = new DictManage.DictMgr();

        private int m_UnknownWordsThreshold = 100;
        private bool m_FreqFirst = true;
        bool m_AutoStudy = false;
        bool m_AutoInsertUnknownWords = false;
        DateTime m_LastSaveTime; //上一次保存字典和統計信息的時間
        int m_AutoSaveInterval = 24 * 3600; //間隔多少秒自動保存最新的字典和統計信息,AutoStudy = true時有效
        String m_LogFileName = "KTDictSeg.log";

        #region Public property
        /// <summary>
        /// 未登錄詞閾值,當統計超過這個值時,自動將未登錄詞加入到
        /// 字典中
        /// </summary>
        public int UnknownWordsThreshold
        {
            get
            {
                return m_UnknownWordsThreshold;
            }

            set
            {
                if (value < 1)
                {
                    m_UnknownWordsThreshold = 1;
                }
                else
                {
                    m_UnknownWordsThreshold = value;
                }
            }
        }

        /// <summary>
        /// 自動插入超過統計閾值的未登錄詞
        /// </summary>
        public bool AutoInsertUnknownWords
        {
            get
            {
                return m_AutoInsertUnknownWords;
            }

            set
            {
                m_AutoInsertUnknownWords = value;
            }
        }
        

        /// <summary>
        /// 優先判斷詞頻,
        /// 如果一個長的單詞由多個短的單詞組成,而長的單詞詞頻較低
        /// 則忽略長的單詞。
        /// 如 中央酒店的詞頻比中央和酒店的詞頻都要低,則忽略中央酒店。
        /// </summary>
        public bool FreqFirst
        {
            get
            {
                return m_FreqFirst;
            }

            set
            {
                m_FreqFirst = value;

                if (m_FreqFirst)
                {
                    m_ExtractWords.SelectByFreqEvent = SelectByFreq;
                }
                else
                {
                    m_ExtractWords.SelectByFreqEvent = null;
                }
            }
        }

        /// <summary>
        /// 自動學習
        /// </summary>
        public bool AutoStudy
        {
            get
            {
                return m_AutoStudy;
            }

            set
            {
                m_AutoStudy = value;
                m_MatchNameRule.AutoStudy = value;
            }
        }

        /// <summary>
        /// 間隔多少秒自動保存最新的字典和統計信息,AutoStudy = true時有效
        /// </summary>
        public int AutoSaveInterval
        {
            get
            {
                return m_AutoSaveInterval;
            }

            set
            {
                if (value <= 1)
                {
                    m_AutoSaveInterval = 1;
                }
                else
                {
                    m_AutoSaveInterval = value;
                }
            }
        }


        /// <summary>
        /// 字典文件所在路徑
        /// </summary>
        public String DictPath
        {
            get
            {
                return m_DictPath;
            }

            set
            {
                m_DictPath = value;
            }
        }

        /// <summary>
        /// 日志文件名
        /// </summary>
        public String LogFileName
        {
            get
            {
                return m_LogFileName;
            }

            set
            {
                m_LogFileName = value;
            }
        }

        /// <summary>
        /// 詞性
        /// </summary>
        public CPOS Pos
        {
            get
            {
                return m_POS;
            }
        }


        #endregion

        #region 配置文件

        private object Convert(String In, Type destType)
        {
            if (destType.Equals(typeof(bool)))
            {
                return System.Convert.ToBoolean(In);
            }
            else if (destType.Equals(typeof(byte)))
            {
                return System.Convert.ToByte(In);
            }
            else if (destType.Equals(typeof(char)))
            {
                return System.Convert.ToChar(In);
            }
            else if (destType.Equals(typeof(DateTime)))
            {
                return System.Convert.ToDateTime(In);
            }
            else if (destType.Equals(typeof(decimal)))
            {
                return System.Convert.ToDecimal(In);
            }
            else if (destType.Equals(typeof(double)))
            {
                return System.Convert.ToDouble(In);
            }
            else if (destType.Equals(typeof(Int16)))
            {
                return System.Convert.ToInt16(In);
            }
            else if (destType.Equals(typeof(Int32)))
            {
                return System.Convert.ToInt32(In);
            }
            else if (destType.Equals(typeof(Int64)))
            {
                return System.Convert.ToInt64(In);
            }
            else if (destType.Equals(typeof(SByte)))
            {
                return System.Convert.ToSByte(In);
            }
            else if (destType.Equals(typeof(Single)))
            {
                return System.Convert.ToSingle(In);
            }
            else if (destType.Equals(typeof(String)))
            {
                return In;
            }
            else if (destType.Equals(typeof(UInt16)))
            {
                return System.Convert.ToUInt16(In);
            }
            else if (destType.Equals(typeof(UInt32)))
            {
                return System.Convert.ToUInt32(In);
            }
            else if (destType.Equals(typeof(UInt64)))
            {
                return System.Convert.ToUInt64(In);
            }
            else
            {
                throw new Exception(String.Format("Unknown type:{0}", destType.Name));
            }
        }


        class CfgItem
        {
            public PropertyInfo Pi;
            public String Comment;

            public CfgItem(PropertyInfo pi, String comment)
            {
                Pi = pi;
                Comment = comment;
            }
        }

        CfgItem[] GetCfgItems()
        {
            CfgItem[] items = new CfgItem[9];
            items[0] = new CfgItem(this.GetType().GetProperty("UnknownWordsThreshold"), "未登錄詞閾值,當統計超過這個值時,自動將未登錄詞加入到字典中");
            items[1] = new CfgItem(this.GetType().GetProperty("AutoInsertUnknownWords"), "自動插入超過統計閾值的未登錄詞");
            items[2] = new CfgItem(this.GetType().GetProperty("FreqFirst"), "優先判斷詞頻,如果一個長的單詞由多個短的單詞組成,而長的單詞詞頻較低則忽略長的單詞。如 中央酒店的詞頻比中央和酒店的詞頻都要低,則忽略中央酒店。");
            items[3] = new CfgItem(this.GetType().GetProperty("AutoStudy"), "自動統計姓名前后綴,自動統計未登錄詞,自動統計詞頻");
            items[4] = new CfgItem(this.GetType().GetProperty("AutoSaveInterval"), "間隔多少秒自動保存最新的字典和統計信息,AutoStudy = true時有效");
            items[5] = new CfgItem(this.GetType().GetProperty("DictPath"), "字典文件所在路徑");
            items[6] = new CfgItem(this.GetType().GetProperty("LogFileName"), "日志文件名");
            items[7] = new CfgItem(this.GetType().GetProperty("MatchName"), "是否匹配漢語人名");
            items[8] = new CfgItem(this.GetType().GetProperty("FilterStopWords"), "是否過濾停用詞");

            return items;
        }

        /// <summary>
        /// 從配置文件加載配置
        /// </summary>
        /// <param name="fileName">配置文件名</param>
        public void LoadConfig(String fileName)
        {
            System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
            try
            {
                doc.Load(fileName);

                System.Xml.XmlNodeList list = doc.GetElementsByTagName("Item");

                System.Xml.XmlAttribute itemName = null;

                foreach (System.Xml.XmlNode node in list)
                {
                    try
                    {
                        itemName = node.Attributes["Name"];
                        System.Xml.XmlAttribute value = node.Attributes["Value"];
                        if (itemName == null || value == null)
                        {
                            continue;
                        }

                        PropertyInfo pi = GetType().GetProperty(itemName.Value);
                        pi.SetValue(this, Convert(value.Value, pi.PropertyType), null);
                    }
                    catch (Exception e1)
                    {
                        WriteLog(String.Format("Load Item={0} fail, errmsg:{1}",

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品影院在线观看| 美女www一区二区| 欧美v日韩v国产v| av中文字幕亚洲| 麻豆精品精品国产自在97香蕉| 国产精品久久久久aaaa| 日韩免费看的电影| 欧洲一区在线观看| 丁香啪啪综合成人亚洲小说 | 久久日韩粉嫩一区二区三区| 一本色道久久加勒比精品| 精品在线观看视频| 亚洲国产综合在线| 欧美极品少妇xxxxⅹ高跟鞋| 日韩一区二区在线看片| 日本高清不卡在线观看| 国产精品99久| 精品制服美女久久| 亚洲国产精品久久人人爱 | 日本大胆欧美人术艺术动态| 国产清纯在线一区二区www| 日韩一区二区三区视频在线观看| 色婷婷综合久久久久中文一区二区| 国产精品一区二区男女羞羞无遮挡 | 老色鬼精品视频在线观看播放| 亚洲国产精品久久久久婷婷884| 国产精品久久二区二区| 国产亚洲一区二区三区| 日韩精品一区二区三区视频播放 | 国产精品免费免费| 精品免费视频一区二区| 日韩一卡二卡三卡国产欧美| 在线成人高清不卡| 欧美日韩久久久久久| 欧美午夜不卡在线观看免费| 日本电影亚洲天堂一区| 91麻豆自制传媒国产之光| 国产成人一区二区精品非洲| 国产乱码精品一区二区三区av| 国产一区二区在线观看免费| 久久狠狠亚洲综合| 九九九精品视频| 精彩视频一区二区| 国产一区二区三区免费看| 国产麻豆视频精品| 成人丝袜18视频在线观看| 懂色av中文一区二区三区| 国产传媒一区在线| 不卡一区二区在线| 99久久免费视频.com| 91麻豆产精品久久久久久| 色婷婷久久久亚洲一区二区三区 | 亚洲一区二区三区自拍| 亚洲成人av一区二区三区| 香蕉久久一区二区不卡无毒影院| 日一区二区三区| 午夜影院久久久| 日韩av一级片| 国产在线精品一区在线观看麻豆| 国产成人超碰人人澡人人澡| 大白屁股一区二区视频| 一道本成人在线| 欧美日韩一区小说| 欧美大度的电影原声| 久久久久久99久久久精品网站| 中文子幕无线码一区tr| 一区二区三区免费网站| 日韩福利视频导航| 韩国三级电影一区二区| 成人18精品视频| 欧美三级韩国三级日本一级| 日韩丝袜美女视频| 中文一区一区三区高中清不卡| 国产精品久久久久影视| 亚洲国产精品久久人人爱| 久久精品国产成人一区二区三区| 精品一二三四区| 99视频有精品| 91麻豆精品国产综合久久久久久| 久久综合久久综合九色| 亚洲欧美色一区| 蜜桃视频一区二区三区| 国产.精品.日韩.另类.中文.在线.播放| www.av亚洲| 69精品人人人人| 国产精品视频在线看| 亚洲无人区一区| 国产一区二区三区精品视频| 91九色02白丝porn| 精品福利一区二区三区免费视频| 国产精品高潮呻吟| 日本aⅴ亚洲精品中文乱码| 国产高清不卡一区二区| 欧美日韩免费视频| 久久精品人人做人人综合 | 久久综合久久综合九色| 亚洲女人小视频在线观看| 麻豆成人久久精品二区三区红| 成人av网址在线观看| 欧美放荡的少妇| 中文字幕精品三区| 日本不卡不码高清免费观看| 91视频免费观看| 久久久久国产精品厨房| 亚洲电影你懂得| 成人av在线播放网址| 日韩一区二区电影在线| 一区二区三区在线观看国产| 国产成人鲁色资源国产91色综| 欧美一区二区久久| 一区二区三区四区激情| 成人三级在线视频| 精品999在线播放| 日韩不卡一区二区| 欧美亚洲禁片免费| 亚洲视频一二三区| 国产成人免费视| 精品日韩欧美在线| 午夜成人免费视频| 欧美在线999| 午夜不卡在线视频| 99国产精品久久久久| 2021国产精品久久精品| 免费成人在线播放| 欧美日韩高清在线播放| 亚洲伦理在线免费看| 国产+成+人+亚洲欧洲自线| 久久一夜天堂av一区二区三区| 青青草国产精品97视觉盛宴| 69精品人人人人| 日本视频在线一区| 欧美日韩一区二区在线观看视频| 一区二区三区在线视频免费观看| 成人黄色av电影| 中文字幕va一区二区三区| 国产丶欧美丶日本不卡视频| 久久众筹精品私拍模特| 精品在线免费观看| 精品国产1区二区| 久久se这里有精品| 欧美v日韩v国产v| 久久机这里只有精品| 日韩欧美的一区| 麻豆中文一区二区| 精品电影一区二区| 麻豆一区二区三| 精品久久久久av影院 | 色综合久久久久久久久久久| 亚洲美女视频一区| 欧美亚洲综合久久| 午夜亚洲国产au精品一区二区| 欧美日韩在线不卡| 天堂在线一区二区| 日韩欧美精品在线视频| 狠狠色综合色综合网络| 久久九九影视网| 白白色 亚洲乱淫| 亚洲久本草在线中文字幕| 欧美日韩一级大片网址| 日韩电影在线观看电影| 精品国产一区二区国模嫣然| 国产寡妇亲子伦一区二区| 国产精品国产精品国产专区不蜜 | 日韩午夜在线播放| 国产在线视频一区二区| 国产精品麻豆网站| 91福利在线看| 美女网站色91| 国产精品天美传媒| 91麻豆免费看片| 五月综合激情婷婷六月色窝| 日韩欧美一区二区久久婷婷| 国产99久久久国产精品潘金| 亚洲男同性恋视频| 欧美一卡2卡三卡4卡5免费| 国产一区二区三区美女| 亚洲欧美偷拍三级| 欧美一区二区大片| 成人午夜视频免费看| 丝袜美腿高跟呻吟高潮一区| 国产亚洲精品福利| 欧美日韩精品一区二区天天拍小说 | 另类小说欧美激情| 欧美精品少妇一区二区三区| 日韩激情一区二区| 一区二区三区91| 欧美日韩高清一区| 粉嫩av一区二区三区粉嫩| 国产精品美女视频| 欧美精选午夜久久久乱码6080| 亚洲欧美日韩中文播放| 欧美一区二区大片| 丰满亚洲少妇av| 午夜影院久久久| 精品毛片乱码1区2区3区| 色综合天天综合网天天狠天天| 毛片av中文字幕一区二区| 亚洲蜜臀av乱码久久精品蜜桃| 精品三级av在线| 欧美三级视频在线观看|