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

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

?? extractwords.cs

?? KTDictSeg 簡介: KTDictSeg 是由KaiToo搜索開發的一款基于字典的簡單中英文分詞算法 * 主要功能: 中英文分詞
?? CS
?? 第 1 頁 / 共 2 頁
字號:
                            {
                                m_GameNodes.Add(obj);
                            }
                        }
                    }
                    deep = 0;
                    nodes.Clear();
                }
            }
            else
            {
                nodes.Add(begin);
                deep++;

                T_WordInfo last = (T_WordInfo)words[begin];

                bool nextStep = false;
                bool reach = false;
                int endPos = last.Position + last.Word.Length - 1;

                int oldDeep = deep;
                int oldSpace = spaceNum;

                for (int i = begin + 1; i <= end; i++)
                {
                    T_WordInfo cur = (T_WordInfo)words[i];

                    if (endPos < cur.Position + cur.Word.Length - 1)
                    {
                        endPos = cur.Position + cur.Word.Length - 1;
                    }


                    if (last.Position + last.Word.Length <= cur.Position)
                    {

                        nextStep = true;

                        if (reach)
                        {
                            reach = false;
                            spaceNum = oldSpace;
                            deep = oldDeep;
                            nodes.RemoveAt(nodes.Count - 1);
                        }

                        spaceNum += cur.Position - (last.Position + last.Word.Length);
                        List<int> oneNodes;
                        oneNodes = GameTree(words, nodes, false, i, end, ref spaceNum, ref deep);

                        if (oneNodes != null)
                        {
                            bool select = false;

                            if (m_MinSpace > spaceNum ||
                                (m_MinSpace == spaceNum && deep < m_MinDeep))
                            {
                                select = true;
                            }
                            else if (m_MinDeep == deep && m_MinSpace == spaceNum)
                            {
                                if (m_CompareByPos != null && m_MinSpace == 0)
                                {
                                    select = m_CompareByPos(words, m_GameNodes, oneNodes);
                                }
                                else
                                {
                                    select = CompareGroup(words, m_GameNodes, oneNodes, MatchDirection);
                                }
                            }


                            if (select)
                            {
                                reach = true;
                                nextStep = false;
                                m_MinDeep = deep;
                                m_MinSpace = spaceNum;
                                m_GameNodes.Clear();
                                foreach (int obj in oneNodes)
                                {
                                    m_GameNodes.Add(obj);
                                }
                            }
                            else
                            {
                                spaceNum = oldSpace;
                                deep = oldDeep;
                                nodes.RemoveRange(deep, nodes.Count - deep);
                            }
                        }
                        else
                        {
                            spaceNum = oldSpace;
                            deep = oldDeep;
                            nodes.RemoveRange(deep , nodes.Count - deep);
                        }
                    }
                }

                if (!nextStep)
                {
                    spaceNum += endPos - (last.Position + last.Word.Length-1);

                    List<int> ret = new List<int>();

                    foreach (int obj in nodes)
                    {
                        ret.Add(obj);
                    }

                    return ret;
                }


            }

            return null;
        }

        /// <summary>
        /// 最大匹配提取全文中所有匹配的單詞
        /// </summary>
        /// <param name="fullText">全文</param>
        /// <returns>返回T_WordInfo[]數組,如果沒有找到一個匹配的單詞,返回長度為0的數組</returns>
        public List<T_WordInfo> ExtractFullTextMaxMatch(String fullText)
        {
            List<T_WordInfo> retWords = new List<T_WordInfo>();
            List<T_WordInfo> words = ExtractFullText(fullText);

            int i = 0;

            while (i < words.Count)
            {
                T_WordInfo wordInfo = (T_WordInfo)words[i];

                int j;

                int rangeEndPos = 0;

                for (j = i; j < words.Count-1; j++)
                {
                    if (j - i > 16)
                    {
                        //嵌套太多的情況一般很少發生,如果發生,強行中斷,以免造成博弈樹遍歷層次過多
                        //降低系統效率
                        break;
                    }

                    if (rangeEndPos < ((T_WordInfo)words[j]).Position + ((T_WordInfo)words[j]).Word.Length -1)
                    {
                        rangeEndPos = ((T_WordInfo)words[j]).Position + ((T_WordInfo)words[j]).Word.Length - 1;
                    }

                    if (rangeEndPos <
                        ((T_WordInfo)words[j + 1]).Position)  
                    {
                        break;
                    }
                }

                if (j > i)
                {
                    int spaceNum = 0;
                    int deep = 0;
                    m_GameNodes = new List<int>();
                    m_MinDeep = 65535;
                    m_MinSpace = 65535 * 256;

                    GameTree(words, new List<int>(), true, i, j, ref spaceNum, ref deep);

                    foreach (int index in m_GameNodes)
                    {
                        T_WordInfo info = (T_WordInfo)words[index];
                        retWords.Add(info);
                    }

                    i = j + 1;
                    continue;
                }
                else
                {
                    retWords.Add(wordInfo);
                    i++;
                }

                
            }

            return retWords;
        }


        /// <summary>
        /// 提取全文
        /// </summary>
        /// <param name="fullText">全文</param>
        /// <returns>返回T_WordInfo[]數組,如果沒有找到一個匹配的單詞,返回長度為0的數組</returns>
        public List<T_WordInfo> ExtractFullText(String fullText)
        {
            List<T_WordInfo> words = new List<T_WordInfo>();

            if (fullText == null || fullText == "")
            {
                return words;
            }

            T_DfaUnit cur = null;
            bool find = false;
            int pos = 0;
            int i = 0;

            while (i < fullText.Length)
            {
                cur = m_WordDfa.Next(cur, fullText[i]);
                if (cur != null && !find)
                {
                    pos = i;
                    find = true;
                }

                if (find)
                {
                    if (cur == null)
                    {
                        find = false;
                        i = pos + 1; //有可能存在包含關系的詞匯,所以需要回溯
                        continue;
                    }
                    else if (cur.QuitWord != null)
                    {
                        T_WordInfo wordInfo = new T_WordInfo();
                        wordInfo.Word = cur.QuitWord;
                        wordInfo.Position = pos;
                        wordInfo.Rank = m_WordDfa.GetRank(wordInfo.Word);
                        wordInfo.Tag = cur.Tag;
                        words.Add(wordInfo);

                        if (cur.Childs == null)
                        {
                            find = false;
                            cur = null;
                            i = pos + 1; //有可能存在包含關系的詞匯,所以需要回溯
                            continue;
                        }
                    }
                }

                i++;
            }

            return words;
        }



    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆swag| 久久新电视剧免费观看| 91精品久久久久久久99蜜桃| 欧美日韩亚洲高清一区二区| 欧美一级片免费看| 国产亚洲综合性久久久影院| 久久99久久99小草精品免视看| 国产精品三级av| 欧美国产丝袜视频| 国产九九视频一区二区三区| 久久亚洲免费视频| 理论电影国产精品| 精品国产一区二区三区忘忧草| 丝袜诱惑制服诱惑色一区在线观看| 91在线观看一区二区| 国产精品久久久久一区| 97国产一区二区| 亚洲精品网站在线观看| 色www精品视频在线观看| 亚洲精选一二三| 欧美精品久久天天躁| 午夜私人影院久久久久| 日韩三级在线观看| 国产乱色国产精品免费视频| 国产精品久久影院| 99精品视频一区二区三区| 亚洲精品一区二区三区蜜桃下载| 亚洲综合在线第一页| 99久久精品国产毛片| 国产欧美日韩精品在线| 国产一级精品在线| 精品盗摄一区二区三区| 日本aⅴ精品一区二区三区| 欧美日韩高清影院| 亚洲午夜影视影院在线观看| a亚洲天堂av| 日韩伦理电影网| 99国产精品久久久久久久久久久| 国产三级三级三级精品8ⅰ区| 国产精品888| 国产精品污网站| 成人av网站免费观看| 亚洲欧美另类在线| 在线免费不卡视频| 性感美女极品91精品| 精品88久久久久88久久久 | 性久久久久久久| 91麻豆精品国产91久久久久久 | 欧美成人高清电影在线| 狠狠色丁香久久婷婷综合丁香| 久久久五月婷婷| 色婷婷久久综合| 天堂成人免费av电影一区| 欧美变态凌虐bdsm| 国产精品1区2区| 亚洲成人精品影院| 欧美va亚洲va香蕉在线| 波多野结衣中文一区| 青青草原综合久久大伊人精品优势| 欧美精品一区二区久久婷婷 | 久久精品国产**网站演员| 26uuu亚洲婷婷狠狠天堂| 91在线看国产| 国产原创一区二区三区| 亚洲成人手机在线| 亚洲私人黄色宅男| 精品美女被调教视频大全网站| 91在线视频免费91| 国产黄色91视频| 爽好久久久欧美精品| 亚洲女性喷水在线观看一区| 精品国产区一区| 欧美精品日日鲁夜夜添| 99国产精品视频免费观看| 国产自产高清不卡| 成人免费视频app| 蜜乳av一区二区三区| 污片在线观看一区二区| 亚洲图片你懂的| 国产精品不卡视频| 久久久精品人体av艺术| 欧美成人精精品一区二区频| 欧美一级xxx| 欧美精品丝袜中出| 欧美片网站yy| 欧美在线免费视屏| 日本久久精品电影| 色先锋aa成人| 91一区在线观看| 欧美午夜精品理论片a级按摩| 这里只有精品电影| 91丨九色丨黑人外教| 99久久国产综合精品女不卡| 99精品视频一区| 欧美日韩综合不卡| 欧美色窝79yyyycom| 欧美日韩国产综合视频在线观看| 欧洲在线/亚洲| 在线成人av影院| 久久亚洲一区二区三区明星换脸| 欧美成人官网二区| 国产欧美精品区一区二区三区| 久久久久国色av免费看影院| 国产蜜臀av在线一区二区三区| 日本一区二区视频在线| 亚洲一级二级三级在线免费观看| 亚洲香肠在线观看| 日韩电影免费在线观看网站| 国产一区二区三区日韩| 一本一道久久a久久精品| 欧美日韩一本到| 久久久久成人黄色影片| 亚洲人成网站精品片在线观看| 丝袜亚洲精品中文字幕一区| 精品一区二区三区在线视频| 成人黄色大片在线观看| 91精品综合久久久久久| 中文字幕第一区第二区| 亚洲一卡二卡三卡四卡五卡| 在线观看日韩毛片| 3d动漫精品啪啪1区2区免费 | 欧美大片一区二区三区| 中文字幕一区二区在线观看 | 欧美久久免费观看| 中文字幕日韩av资源站| 麻豆国产欧美日韩综合精品二区 | 亚洲国产高清在线| 另类中文字幕网| 777午夜精品视频在线播放| 国产精品国产三级国产专播品爱网| 婷婷国产在线综合| 91亚洲精品久久久蜜桃| 欧美激情一区二区在线| 国产一区二区三区精品视频| 欧美一级午夜免费电影| 亚洲国产欧美一区二区三区丁香婷| 国产成人av资源| 久久蜜桃一区二区| 久久爱www久久做| 欧美一区二区观看视频| 五月天一区二区| 制服丝袜成人动漫| 婷婷国产在线综合| 欧美一区三区四区| 日韩高清不卡一区| 欧美第一区第二区| 精品一区二区免费看| 精品99一区二区| 丁香啪啪综合成人亚洲小说 | 久久精品日韩一区二区三区| 国产精品一区二区在线观看不卡 | 7777精品伊人久久久大香线蕉完整版| 亚洲精品视频自拍| 在线视频一区二区免费| 亚洲精品福利视频网站| 91精品国产综合久久香蕉的特点| 亚洲高清免费观看| 精品国产91洋老外米糕| 成人中文字幕合集| 亚洲在线视频网站| 精品久久久久久久久久久久包黑料| 麻豆精品一区二区| 国产精品久久久久久亚洲毛片 | 精品欧美乱码久久久久久1区2区| 国产在线视频精品一区| 最新国产成人在线观看| 69精品人人人人| 成人免费毛片app| 亚洲高清不卡在线观看| 国产亚洲综合在线| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 国产不卡视频一区| 五月婷婷综合在线| 中文字幕不卡的av| 884aa四虎影成人精品一区| 成人app下载| 国产自产高清不卡| 日韩中文字幕亚洲一区二区va在线| 久久伊人中文字幕| 欧美理论电影在线| 色综合av在线| 成人激情动漫在线观看| 国模冰冰炮一区二区| 日本亚洲电影天堂| 青青草成人在线观看| 午夜不卡av在线| 亚洲一区二区在线视频| 亚洲亚洲精品在线观看| 午夜视频在线观看一区二区三区| 亚洲一二三级电影| 美女www一区二区| 国产精品综合一区二区| 成人午夜看片网址| 成+人+亚洲+综合天堂| 日本精品一级二级| 91精品国产综合久久福利软件| 日韩精品在线看片z| 欧美激情中文不卡| 亚洲午夜精品网| 韩国欧美一区二区|