<address id="bztp3"><nobr id="bztp3"></nobr></address>

      <sub id="bztp3"><listing id="bztp3"><menuitem id="bztp3"></menuitem></listing></sub>

        <form id="bztp3"></form>

        <address id="bztp3"></address>
        <sub id="bztp3"></sub>

          <form id="bztp3"></form>

              Python自然語言處理工具小結

              1 Python 的幾個自然語言處理工具

              1. NLTK:NLTK 在用 Python 處理自然語言的工具中處于領先的地位。它提供了 WordNet 這種方便處理詞匯資源的借口,還有分類、分詞、除莖、標注、語法分析、語義推理等類庫。
              2. Pattern:Pattern 的自然語言處理工具有詞性標注工具(Part-Of-Speech Tagger),N元搜索(n-gram search),情感分析(sentiment analysis),WordNet。支持機器學習的向量空間模型,聚類,向量機。
              3. TextBlob:TextBlob 是一個處理文本數據的 Python 庫。提供了一些簡單的api解決一些自然語言處理的任務,例如詞性標注、名詞短語抽取、情感分析、分類、翻譯等等。
              4. Gensim:Gensim 提供了對大型語料庫的主題建模、文件索引、相似度檢索的功能。它可以處理大于RAM內存的數據。作者說它是“實現無干預從純文本語義建模的最強大、最高效、最無障礙的軟件。
              5. PyNLPI:它的全稱是:Python自然語言處理庫(Python Natural Language Processing Library,音發作: pineapple) 這是一個各種自然語言處理任務的集合,PyNLPI可以用來處理N元搜索,計算頻率表和分布,建立語言模型。他還可以處理向優先隊列這種更加復雜的數據結構,或者像 Beam 搜索這種更加復雜的算法。
              6. spaCy:這是一個商業的開源軟件。結合Python和Cython,它的自然語言處理能力達到了工業強度。是速度最快,領域內最先進的自然語言處理工具。
              7. Polyglot:Polyglot 支持對海量文本和多語言的處理。它支持對165種語言的分詞,對196中語言的辨識,40種語言的專有名詞識別,16種語言的詞性標注,136種語言的情感分析,137種語言的嵌入,135種語言的形態分析,以及69中語言的翻譯。
              8. MontyLingua:MontyLingua 是一個自由的、訓練有素的、端到端的英文處理工具。輸入原始英文文本到 MontyLingua ,就會得到這段文本的語義解釋。適合用來進行信息檢索和提取,問題處理,回答問題等任務。從英文文本中,它能提取出主動賓元組,形容詞、名詞和動詞短語,人名、地名、事件,日期和時間,等語義信息。
              9. BLLIP Parser:BLLIP Parser(也叫做Charniak-Johnson parser)是一個集成了產生成分分析和最大熵排序的統計自然語言工具。包括?命令行?和?python接口?。
              10. Quepy:Quepy是一個Python框架,提供將自然語言轉換成為數據庫查詢語言。可以輕松地實現不同類型的自然語言和數據庫查詢語言的轉化。所以,通過Quepy,僅僅修改幾行代碼,就可以實現你自己的自然語言查詢數據庫系統。GitHub:https://github.com/machinalis/quepy
              11. HanNLP:HanLP是由一系列模型與算法組成的Java工具包,目標是普及自然語言處理在生產環境中的應用。不僅僅是分詞,而是提供詞法分析、句法分析、語義理解等完備的功能。HanLP具備功能完善、性能高效、架構清晰、語料時新、可自定義的特點。文檔使用操作說明:Python調用自然語言處理包HanLP?和?菜鳥如何調用HanNLP

              2?OpenNLP:進行中文命名實體識別

              OpenNLP是Apach下的Java自然語言處理API,功能齊全。如下給大家介紹一下使用OpenNLP進行中文語料命名實體識別的過程。

              首先是預處理工作,分詞去聽用詞等等的就不啰嗦了,其實將分詞的結果中間加上空格隔開就可以了,OpenNLP可以將這樣形式的的語料照處理英文的方式處理,有些關于字符處理的注意點在后面會提到。

              其次我們要準備各個命名實體類別所對應的詞庫,詞庫被存在文本文檔中,文檔名即是命名實體類別的TypeName,下面兩個function分別是載入某類命名實體詞庫中的詞和載入命名實體的類別。

              /**
              ?????* 載入詞庫中的命名實體
              ?????*
              ?????* @param nameListFile
              ?????* @return
              ?????* @throws Exception
              ?????*/
              ????public?static?List<String> loadNameWords(File nameListFile)
              ????????????throws Exception {
              ????????List<String> nameWords =?new?ArrayList<String>();
              ????????if?(!nameListFile.exists() || nameListFile.isDirectory()) {
              ????????????System.err.println("不存在那個文件");
              ????????????return?null;
              ????????}
              ????????BufferedReader br =?new?BufferedReader(new?FileReader(nameListFile));
              ????????String line =?null;
              ????????while?((line = br.readLine()) !=?null) {
              ????????????nameWords.add(line);
              ????????}
              ????????br.close();
              ????????return?nameWords;
              ????}
              ????/**
              ?????* 獲取命名實體類型
              ?????*
              ?????* @param nameListFile
              ?????* @return
              ?????*/
              ????public?static?String getNameType(File nameListFile) {
              ????????String nameType = nameListFile.getName();
              ????????return?nameType.substring(0, nameType.lastIndexOf("."));
              ????}

              因為OpenNLP要求的訓練語料是這樣子的:

              XXXXXX<START:Person>????<END>XXXXXXXXX<START:Action>????<END>XXXXXXX

              被標注的命名實體被放在<START><END>范圍中,并標出了實體的類別。接下來是對命名實體識別模型的訓練,先上代碼:

              import java.io.File;
              import java.io.FileOutputStream;
              import java.io.IOException;
              import java.io.StringReader;
              import java.util.Collections;
              import opennlp.tools.namefind.NameFinderME;
              import opennlp.tools.namefind.NameSample;
              import opennlp.tools.namefind.NameSampleDataStream;
              import opennlp.tools.namefind.TokenNameFinderModel;
              import opennlp.tools.util.ObjectStream;
              import opennlp.tools.util.PlainTextByLineStream;
              import opennlp.tools.util.featuregen.AggregatedFeatureGenerator;
              import opennlp.tools.util.featuregen.PreviousMapFeatureGenerator;
              import opennlp.tools.util.featuregen.TokenClassFeatureGenerator;
              import opennlp.tools.util.featuregen.TokenFeatureGenerator;
              import opennlp.tools.util.featuregen.WindowFeatureGenerator;
              /**
              ?* 中文命名實體識別模型訓練組件
              ?*
              ?* @author ddlovehy
              ?*
              ?*/
              public?class?NamedEntityMultiFindTrainer {
              ????// 默認參數
              ????private?int?iterations = 80;
              ????private?int?cutoff = 5;
              ????private?String langCode =?"general";
              ????private?String type =?"default";
              ????// 待設定的參數
              ????private?String nameWordsPath;?// 命名實體詞庫路徑
              ????private?String dataPath;?// 訓練集已分詞語料路徑
              ????private?String modelPath;?// 模型存儲路徑
              ????public?NamedEntityMultiFindTrainer() {
              ????????super();
              ????????// TODO Auto-generated constructor stub
              ????}
              ????public?NamedEntityMultiFindTrainer(String nameWordsPath, String dataPath,
              ????????????String modelPath) {
              ????????super();
              ????????this.nameWordsPath = nameWordsPath;
              ????????this.dataPath = dataPath;
              ????????this.modelPath = modelPath;
              ????}
              ????public?NamedEntityMultiFindTrainer(int?iterations,?int?cutoff,
              ????????????String langCode, String type, String nameWordsPath,
              ????????????String dataPath, String modelPath) {
              ????????super();
              ????????this.iterations = iterations;
              ????????this.cutoff = cutoff;
              ????????this.langCode = langCode;
              ????????this.type = type;
              ????????this.nameWordsPath = nameWordsPath;
              ????????this.dataPath = dataPath;
              ????????this.modelPath = modelPath;
              ????}
              ????/**
              ?????* 生成定制特征
              ?????*
              ?????* @return
              ?????*/
              ????public?AggregatedFeatureGenerator prodFeatureGenerators() {
              ????????AggregatedFeatureGenerator featureGenerators =?new?AggregatedFeatureGenerator(
              ????????????????new?WindowFeatureGenerator(new?TokenFeatureGenerator(), 2, 2),
              ????????????????new?WindowFeatureGenerator(new?TokenClassFeatureGenerator(), 2,
              ????????????????????????2),?new?PreviousMapFeatureGenerator());
              ????????return?featureGenerators;
              ????}
              ????/**
              ?????* 將模型寫入磁盤
              ?????*
              ?????* @param model
              ?????* @throws Exception
              ?????*/
              ????public?void?writeModelIntoDisk(TokenNameFinderModel model) throws Exception {
              ????????File outModelFile =?new?File(this.getModelPath());
              ????????FileOutputStream outModelStream =?new?FileOutputStream(outModelFile);
              ????????model.serialize(outModelStream);
              ????}
              ????/**
              ?????* 讀出標注的訓練語料
              ?????*
              ?????* @return
              ?????* @throws Exception
              ?????*/
              ????public?String getTrainCorpusDataStr() throws Exception {
              ????????// TODO 考慮入持久化判斷直接載入標注數據的情況 以及增量式訓練
              ????????String trainDataStr =?null;
              ????????trainDataStr = NameEntityTextFactory.prodNameFindTrainText(
              ????????????????this.getNameWordsPath(),?this.getDataPath(),?null);
              ????????return?trainDataStr;
              ????}
              ????/**
              ?????* 訓練模型
              ?????*
              ?????* @param trainDataStr
              ?????*??????????? 已標注的訓練數據整體字符串
              ?????* @return
              ?????* @throws Exception
              ?????*/
              ????public?TokenNameFinderModel trainNameEntitySamples(String trainDataStr)
              ????????????throws Exception {
              ????????ObjectStream<NameSample> nameEntitySample =?new?NameSampleDataStream(
              ????????????????new?PlainTextByLineStream(new?StringReader(trainDataStr)));
              ????????
              ????????System.out.println("**************************************");
              ????????System.out.println(trainDataStr);
              ????????TokenNameFinderModel nameFinderModel = NameFinderME.train(
              ????????????????this.getLangCode(),?this.getType(), nameEntitySample,
              ????????????????this.prodFeatureGenerators(),
              ????????????????Collections.<String, Object> emptyMap(),?this.getIterations(),
              ????????????????this.getCutoff());
              ????????return?nameFinderModel;
              ????}
              ????/**
              ?????* 訓練組件總調用方法
              ?????*
              ?????* @return
              ?????*/
              ????public?boolean execNameFindTrainer() {
              ????????try?{
              ????????????String trainDataStr =?this.getTrainCorpusDataStr();
              ????????????TokenNameFinderModel nameFinderModel =?this
              ????????????????????.trainNameEntitySamples(trainDataStr);
              ????????????// System.out.println(nameFinderModel);
              ????????????this.writeModelIntoDisk(nameFinderModel);
              ????????????return?true;
              ????????}?catch?(Exception e) {
              ????????????// TODO Auto-generated catch block
              ????????????e.printStackTrace();
              ????????????return?false;
              ????????}
              ????}

              注:

              • 參數:iterations是訓練算法迭代的次數,太少了起不到訓練的效果,太大了會造成過擬合,所以各位可以自己試試效果;
              • cutoff:語言模型掃描窗口的大小,一般設成5就可以了,當然越大效果越好,時間可能會受不了;
              • langCode:語種代碼和type實體類別,因為沒有專門針對中文的代碼,設成“普通”的即可,實體的類別因為我們想訓練成能識別多種實體的模型,于是設置為“默認”。

              說明:

              • prodFeatureGenerators()方法用于生成個人訂制的特征生成器,其意義在于選擇什么樣的n-gram語義模型,代碼當中顯示的是選擇窗口大小為5,待測命名實體詞前后各掃描兩個詞的范圍計算特征(加上自己就是5個),或許有更深更準確的意義,請大家指正;
              • trainNameEntitySamples()方法,訓練模型的核心,首先是將如上標注的訓練語料字符串傳入生成字符流,再通過NameFinderME的train()方法傳入上面設定的各個參數,訂制特征生成器等等,關于源實體映射對,就按默認傳入空Map就好了。

              源代碼開源在:https://github.com/Ailab403/ailab-mltk4j,test包里面對應有完整的調用demo,以及file文件夾里面的測試語料和已經訓練好的模型。

              3 StanfordNLP:

              Stanford NLP?Group是斯坦福大學自然語言處理的團隊,開發了多個NLP工具。其開發的工具包括以下內容:

              • Stanford CoreNLP?: 采用Java編寫的面向英文的處理工具,下載網址為:。主要功能包括分詞、詞性標注、命名實體識別、語法分析等。
              • Stanford Word Segmenter?: 采用CRF(條件隨機場)算法進行分詞,也是基于Java開發的,同時可以支持中文和Arabic,官方要求Java版本1.6以上,推薦內存至少1G。

              簡單的示例程序:Stanford POS Tagger?: 采用Java編寫的面向英文、中文、法語、阿拉伯語、德語的命名實體識別工具。

              //設置分詞器屬性。
              ???Properties props =?new?Properties();
              //字典文件地址,可以用絕對路徑,如d:/data
              ???props.setProperty("sighanCorporaDict",?"data");
              //字典壓縮包地址,可以用絕對路徑
              ???props.setProperty("serDictionary","data/dict-chris6.ser.gz");
              //輸入文字的編碼;
              ???props.setProperty("inputEncoding",?"UTF-8");
              ???props.setProperty("sighanPostProcessing",?"true");
              //初始化分詞器,
              ???CRFClassifier classifier =?new?CRFClassifier(props);
              //從持久化文件中加載分詞器設置;
              ???classifier.loadClassifierNoExceptions("data/ctb.gz", props);
              ???// flags must be re-set after data is loaded
              ???classifier.flags.setProperties(props);
              //分詞
              ???List words = classifier.segmentString("語句內容");
              • Stanford Named Entity Recognizer?: 采用條件隨機場模型的命名實體工具。
              • Stanford Parser?: 進行語法分析的工具,支持英文、中文、阿拉伯文和法語。
              • Stanford Classifier?: 采用Java編寫的分類器。

              最后附上關于中文分詞器性能比較的一篇文章:http://www.cnblogs.com/wgp13x/p/3748764.html

              實現中文命名實體識別

              1、分詞介紹

              斯坦福大學的分詞器,該系統需要JDK 1.8+,從上面鏈接中下載stanford-segmenter-2014-10-26,解壓之后,如下圖所示

              Python自然語言處理工具小結

              進入data目錄,其中有兩個gz壓縮文件,分別是ctb.gz和pku.gz,其中CTB:賓州大學的中國樹庫訓練資料?,PKU:中國北京大學提供的訓練資料。當然了,你也可以自己訓練,一個訓練的例子可以在這里面看到http://nlp.stanford.edu/software/trainSegmenter-20080521.tar.gz

              2、NER介紹

              斯坦福NER是采用Java實現,可以識別出(PERSON,ORGANIZATION,LOCATION),使用本軟件發表的研究成果需引用下述論文:

              下載地址在:http://nlp.stanford.edu/~manning/papers/gibbscrf3.pdf

              在NER頁面可以下載到兩個壓縮文件,分別是stanford-ner-2014-10-26和stanford-ner-2012-11-11-chinese

              將兩個文件解壓可看到

              Python自然語言處理工具小結

              Python自然語言處理工具小結

              默認NER可以用來處理英文,如果需要處理中文要另外處理。

              3、分詞和NER使用

              在Eclipse中新建一個Java Project,將data目錄拷貝到項目根路徑下,再把stanford-ner-2012-11-11-chinese解壓的內容全部拷貝到classifiers文件夾下,將stanford-segmenter-3.5.0加入到classpath之中,將classifiers文件夾拷貝到項目根目錄,將stanford-ner-3.5.0.jar和stanford-ner.jar加入到classpath中。最后,去http://nlp.stanford.edu/software/corenlp.shtml下載stanford-corenlp-full-2014-10-31,將解壓之后的stanford-corenlp-3.5.0也加入到classpath之中。最后的Eclipse中結構如下:

              Python自然語言處理工具小結

              Chinese NER:這段說明,很清晰,需要將中文分詞的結果作為NER的輸入,然后才能識別出NER來。

              同時便于測試,本Demo使用junit-4.10.jar,下面開始上代碼

              import edu.stanford.nlp.ie.AbstractSequenceClassifier;
              import edu.stanford.nlp.ie.crf.CRFClassifier;
              import edu.stanford.nlp.ling.CoreLabel;
              /**
              *
              * <p>
              * ClassName ExtractDemo
              * </p>
              * <p>
              * Description 加載NER模塊
              *
              */
              public?class?ExtractDemo {
              private?static?AbstractSequenceClassifier<CoreLabel> ner;
              public?ExtractDemo() {
              InitNer();
              }
              public?void?InitNer() {
              String serializedClassifier =?"classifiers/chinese.misc.distsim.crf.ser.gz";?// chinese.misc.distsim.crf.ser.gz
              if?(ner ==?null) {
              ner = CRFClassifier.getClassifierNoExceptions(serializedClassifier);
              }
              }
              public?String doNer(String sent) {
              return?ner.classifyWithInlineXML(sent);
              }
              public?static?void?main(String args[]) {
              String str =?"我 去 吃飯 , 告訴 李強 一聲 。";
              ExtractDemo extractDemo =?new?ExtractDemo();
              System.out.println(extractDemo.doNer(str));
              System.out.println("Complete!");
              }
              }
              import java.io.File;
              import java.io.IOException;
              import java.util.Properties;
              import org.apache.commons.io.FileUtils;
              import edu.stanford.nlp.ie.crf.CRFClassifier;
              import edu.stanford.nlp.ling.CoreLabel;
              /**
              *
              * <p>
              * Description 使用Stanford CoreNLP進行中文分詞
              * </p>
              *
              */
              public?class?ZH_SegDemo {
              public?static?CRFClassifier<CoreLabel> segmenter;
              static?{
              // 設置一些初始化參數
              Properties props =?new?Properties();
              props.setProperty("sighanCorporaDict",?"data");
              props.setProperty("serDictionary",?"data/dict-chris6.ser.gz");
              props.setProperty("inputEncoding",?"UTF-8");
              props.setProperty("sighanPostProcessing",?"true");
              segmenter =?new?CRFClassifier<CoreLabel>(props);
              segmenter.loadClassifierNoExceptions("data/ctb.gz", props);
              segmenter.flags.setProperties(props);
              }
              public?static?String doSegment(String sent) {
              String[] strs = (String[]) segmenter.segmentString(sent).toArray();
              StringBuffer buf =?new?StringBuffer();
              for?(String s : strs) {
              buf.append(s +?" ");
              }
              System.out.println("segmented res: "?+ buf.toString());
              return?buf.toString();
              }
              public?static?void?main(String[] args) {
              try?{
              String readFileToString = FileUtils.readFileToString(new?File("澳門141人食物中毒與進食“問題生蠔”有關.txt"));
              String doSegment = doSegment(readFileToString);
              System.out.println(doSegment);
              ExtractDemo extractDemo =?new?ExtractDemo();
              System.out.println(extractDemo.doNer(doSegment));
              System.out.println("Complete!");
              }?catch?(IOException e) {
              e.printStackTrace();
              }
              }
              }

              注意一定是JDK 1.8+的環境,最后輸出結果如下:

              Python自然語言處理工具小結

              ?4?IKAnalyzer

              IK Analyzer是一個開源的,基于Java語言開發的輕量級的中文分詞工具包。IK支持細粒度和智能分詞兩種切分模式,支持英文字母、數字、中文詞匯等分詞處理,兼容韓文、日文字符。可以支持用戶自定義的詞典,通過配置IKAnalyzer.cfg.xml文件來實現,可以配置自定義的擴展詞典和停用詞典。詞典需要采用UTF-8無BOM格式編碼,并且每個詞語占一行。配置文件如下所示:

              <properties>?
              ????<comment>IK Analyzer 擴展配置</comment>
              ????<!--用戶可以在這里配置自己的擴展字典-->
              ????<entry key="ext_dict">ext.dic;</entry>
              ????
              ????<!--用戶可以在這里配置自己的擴展停止詞字典-->
              ????<entry key="ext_stopwords">stopword.dic;chinese_stopword.dic</entry>
              ????
              </properties>

              只需要把IKAnalyzer2012_u6.jar部署于項目的lib中,同時將IKAnalyzer.cfg.xml文件以及詞典文件置于src中,即可通過API的方式開發調用。IK簡單、易于擴展,分詞結果較好并且采用Java編寫,因為我平時的項目以Java居多,所以是我平時處理分詞的首選工具。示例代碼:

              /**
              ?????* IK分詞功能實現
              ?????* @return
              ?????*/
              ????public?String spiltWords(String srcString){
              ????????StringBuffer wordsBuffer =?new?StringBuffer("");
              ????????try{
              ????????????IKSegmenter ik=new?IKSegmenter(new?StringReader(srcString),?true);?
              ????????????Lexeme lex=null;?
              ????????????while((lex=ik.next())!=null){?
              //????????????? System.out.print(lex.getLexemeText()+" ");
              ????????????????wordsBuffer.append(lex.getLexemeText()).append(" ");
              ????????????}
              ????????}catch(Exception e){
              ????????????logger.error(e.getMessage());
              ????????}
              ????????return?wordsBuffer.toString();
              ????}

              5 中科院ICTCLAS

              ICTCLAS是由中科院計算所歷經數年開發的分詞工具,采用C++編寫。最新版本命名為ICTCLAS2013,又名為NLPIR漢語分詞系統。主要功能包括中文分詞、詞性標注、命名實體識別、用戶詞典功能,同時支持GBK編碼、UTF8編碼、BIG5編碼,新增微博分詞、新詞發現與關鍵詞提取。可以可視化界面操作和API方式調用。

              6?FudanNLP

              FudanNLP主要是為中文自然語言處理而開發的工具包,也包含為實現這些任務的機器學習算法和數據集。FudanNLP及其包含數據集使用LGPL3.0許可證。主要功能包括:

              • 信息檢索:文本分類,新聞聚類。
              • 中文處理:中文分詞,詞性標注,實體名識別,關鍵詞抽取,依存句法分析,時間短語識別。
              • 結構化學習:在線學習,層次分類,聚類,精確推理。

              工具采用Java編寫,提供了API的訪問調用方式。下載安裝包后解壓后,內容如下圖所示:

              Python自然語言處理工具小結

              在使用時將fudannlp.jar以及lib中的jar部署于項目中的lib里面。models文件夾中存放的模型文件,主要用于分詞、詞性標注和命名實體識別以及分詞所需的詞典;文件夾example中主要是使用的示例代碼,可以幫助快速入門和使用;java-docs是API幫助文檔;src中存放著源碼;PDF文檔中有著比較詳細的介紹和自然語言處理基礎知識的講解。初始運行程序時初始化時間有點長,并且加載模型時占用內存較大。在進行語法分析時感覺分析的結果不是很準確。

              ————金三銀四課程特惠————馬哥教育精英線下Linux班鄭州校區開班倒計時,優惠四重享,贈送高達4000元的學習大禮包:

              第一重:4月30日前報名,立減400元,名額有限搶完為止;

              第二重:4月30日前報名,贈送馬哥教育內部Linux知識精講教材一本(價值666元);

              第三重:4月30日前報名,贈送馬哥教育實體服務器使用資格(價值1666元);

              第四重:4月30日前報名,贈送馬哥教育云學堂學習權限1個(價值1999元);

              相關新聞

              聯系我們

              400-080-6560

              在線咨詢:點擊這里給我發消息

              郵件:work@magedu.com

              工作時間:周一至周日,09:00-18:30

              QR code
              656彩票平台656彩票主页656彩票网站656彩票官网656彩票娱乐 444000uu.com | 1222.com | 3hga.com | www.3126j.com | www.u4042.com | 2268jc.com | 6446xx.com | www.12455q.com | www.xc829.com | www.aobo9.com | cc4675.com | www.799425.com | www.4196g.com | www.yh1133.com | 4255ll.com | www.401746.com | www.5446h.com | www.hg0125.com | 4590q.com | 1703222.com | www.66376j.com | www.16602g.com | h2649.com | sha134.com | www.599487.com | www.56011g.com | www.xpj195.com | 2334vip10.com | 0208bb.com | www.914910.com | www.478378.com | www.55268xx.com | 66287g.com | 91709.com | www.840979.com | www.798344.com | www.495655.com | rbbet44.com | i45638.com | uc04.cc | www.1368p.cc | www.199088.com | y47479.com | 0208ii.com | df8t.com | www.csgc6.com | www.78680n.com | www.longbet168.com | 8159ll.cc | 32666l.com | q47479.com | www.725898.com | www.0967005.com | www.370257.com | www.355325.com | 9890598.com | 6175ss.com | f2490.com | www.42456677.com | www.51500.com | www.bwin299.com | www.ba502.com | 8538u.com | 9964.one | www.317097.com | www.50051l.com | www.79095l.com | www.838080.com | 883399f.com | www.796678.com | www.0028229.com | www.8967a.com | www.sun7787.com | 996622jj.com | 3435.com | dafa89.net | 55335002.com | www.196073.com | www.2373g.com | www.ylylc08.com | www.huangma29.com | www.hg0423.com | www.pj63333.com | yhguangxi.vip | dh0638.com | 11885003.com | 20160913.tv | www.974091.com | www.34788f.com | www.xx888.cc | www.540640b.com | www.91868.com | www.2288098.com | www.k8084.com | 00048d.com | 57157l.com | 5144.net | 1234vn.cc | 33933.com | www.572899.com | www.2632h.com | www.55238f.com | www.79095z.com | www.50999t.com | www.444714.com | www.8867p.com | www.bmcp1344.com | 32424v.com | y1771.com | r86226.com | hg0068s.com | 550111t.com | 29522dd.com | xxx8827.com | 4647k.com | www.081503.com | www.401272.com | www.819759.com | www.663by.com | www.68568n.com | www.bd2019b.com | www.c63568.com | 1429m.com | www.8350.vip | www.55074.com | www.33678cc.com | www.6661ylg.com | www.bai4422.com | www.hg8326.com | www.0686888.com | www.1423guo.com | www.333133s.com | www.ac3311.com | www.77801g.com | www.00840v.com | www.wd044.com | www.720650.com | www.yl13444.com | www.959595.me | www.ribo23.cc | www.68993257.com | www.7714t.com | www.57578b.com | www.99788l.com | www.77803f.com | www.55885h.com | www.50732b.com | www.21202b.com | www.35918y.com | www.8839p.com | www.hx1111.com | www.c5637.com | www.927586.com | www.701651.com | www.529979.com | www.50054j.com | www.77ttz.com | www.605999aa.com | www.629012.com | www.278965.com | yin3434.com | 4997.com | 3685g.com | 4556w.com | 00446132.com | 5001w.com | www.pj4666.com | www.7600679.com | www.4938q.com | www.2233288.com | www.2544k9.com | www.450955.com | www.hyl8.com | www.5508598.com | www.js89p.vip | www.0270g.com | www.6364l.com | www.943893.com | www.526071.com | www.99677a.com | 88904040.com | www.3416n.com | www.914906.com | www.404677.com | uedhot8899.com | bwin68888.cc | 4288ii.com | 3045.com | 500000998.com | 4037789.com | 446082.com | 11ll8331.com | www.707365.com | www.341111.com | www.5049z.com | www.pj1308.com | www.560900.com | www.126xc.com | www.289379.com | 2820q.com | 1cp.com | tt6824.com | www.pjbet77.com | www.hg6613.com | www.00773l.com | www.048181.com | www.ct8844.com | pj900.com | 9068f.com | 68228p.com | www.pj550077.com | www.98qxw.com | www.00772c.com | www.33mgm777.com | www.557595.com | 3568mm.com | 36400066.com | www.8509850.com | www.g0518.com | www.0041331.com | www.91233q.com | www.636309.com | 87665k.com | n14666.com | www.dfs994.com | www.81306a.com | www.115527w.com | www.89939.cc | 8520q.com | 7742e.com | 2649i.com | www.773114.com | www.35252s.com | www.00797b.com | www.694010.com | bet88w.com | 3778bb.com | www.591107.app | www.jgj230230.com | www.1434m.com | www.937816.com | 20188f.com | 3467w.am | www.282203.com | www.vns6607.com | www.50732s.com | www.025728.com | 8569811a.com | hg31310.com | www.356309.com | www.bet3651689.com | www.520935.com | vv40033.com | 7141aa.com | www.pj5633.com | www.087a.com | www.302210.com | 3644o.com | 808988x.com | www.jsc9558.com | t3144.com | www.hy985.com | www.97828c.vip | www.504133.com | 547856.com | 54443y.com | www.28281app.com | www.qbwc6.com | 77vns8.com | 131lll.net | www.87422.com | www.1178058.com | 97297r.com | 7599bb.com | www.25288j.com | www.38775bb.com | www.544779.com | 7811bb.com | www.hgw2088.net | www.4212q.com | www.2350j.com | yh233888.com | 1213ppp.com | www.22cp163.com | www.2109t.com | hhgz1155.com | 1259z.com | www.43468.com | www.csgc8.com | o4255.com | www.857558.com | www.469703.com | www.677474.com | 0652y.com | www.88837t.com | www.m94600.com | www.031079.com | ttt4255.com | www.betqam.com | www.76520m.com | 4833011.com | 500000371.com | www.a92776.com | www.zcwf3.com | 6766ww.com | www.56520a.com | www.vns44.me | 55aa8331.com | bl778877.com | www.6880xx.com | www.348499.com | 711066.com | www.1www.333777j.com | www.949403.com | 97340055.com | www.666089.com | www.2875r.com | 159666h.com | www.xin888999.com | www.0601g.com | 86811oo.com | www.617709.com | www.3775x.com | 4379.com | www.bet3650314.com | www.888.com | 0033g.cc | www.38200y.com | www.7240a.com | zz8159.cc | www.yh40.net | www.y07a.com | ff555v.com | www.3459f.com | www.bj499.com | 00773y.com | www.1112558.com | www.6653c.com | 90856e.com | www.910633.com | www.52303k.com | 3662yh.com | www.5555by.com | www.011ac.com | mmm4255.com | www.20199yy.com | www.444059.com | 365388.bet | www.pjc55.vip | 9964.com | www.56520s.com | www.68682m.com | 98345bb.com | www.89055.com | www.810601.com | 00ee8331.com | www.377666d.com | 56988i.vip | www.g2006.com | www.07163a.com | 7742ww.com | www.z5777.com | www.550415.com | 56988t.vip | www.hv99365.com | 00oo8332.com | www.62007.com | www.973320.com | www.43818t.com | 5350u.com | www.c7.cc | www.001537.com | www.hgc444.com | www.4058d.com | msyz818.com | www.4938i.com | www.976921.com | 5589b.com | www.3398755.com | 67890gg.com | www.5588212.com | www.338996.com | 6641kk.com | www.js1992.com | bdg1144.com | www.6669ylg.com | u5429.com | www.43288e.com | www.672766.com | 3844nn.com | www.15355o.com | js181.com | www.9570117.com | 90307l.com | www.2010889.com | www.257660.com | www.4759ww.com | www.8039o.com | bet010.com | www.siji07.com | 8789801.com | www.9737oo.me | 025647.com | www.pj663388.com | www.178675.com | www.2222558.com | www.836595.com | le888m.com | www.52072r.com | bt1088.com | www.81608q.com | 7599dd.com | www.69567p.com | 7249d.com | www.1100xpj.net | 12742m.com | www.25468.com | 5855ff.com | www.1111284.com | laoshi2.com | www.88399c.com | hd49499.com | www.618888.cc | 8449ww.com | www.191949.com | hhhh19927.com | www.3215503.com | www.43131l.com | www.js4333.com | www.151880.com | www.44ff940.com | www.127192.com | www.44116609.com | www.001879.com | www.071095.com | betbet365.com | www.kk7788.com | 324138.com | www.339879.com | 1649.com | www.65066ee.com | 20160913.one | www.6880.com | 3482p.com | www.99383.com | 9949c.com | www.3416t.com | 547563.com | www.790991.com | www.3459v.com | www.029509.com | www.pj99111.com | 2649k.com | www.11.sb | 453.com | www.k98478.com | 70118s.com | www.8667j.com | www.vns2533.com | www.533082.com | www.hg9334.com | 2373c.com | www.888zr993.com | 3016ooo.com | www.dggcp100.com | tt6828.com | www.585731.com | 56988v.com | www.cai003.vip | www.4938o.com | 54141166.com | www.9737zz.com | 8037h.com | www.0270b.com | 9420s.com | www.338072.com | www.75hk.com | 9506a.com | www.77201.com | 2546d.com | www.845755.com | www.3939mmm.com | 28824y.com | www.4521e.com | 85698x.com | www.995168.com | www.656022.com | 131vv.net | www.sands2008.com | 6118x.com | www.938904.com | www.herezeal.com | 52688r.com | www.1466a.com | 1389tt.com | www.139733.com | www.286600.com | 4466buyu.com | www.31330.cc | www.tyc797.com | 2355t.com | 35tt.vip | 2709r.com | www.381772.com | www.v1186.com | 8294n.com | www.88266f.com | www.10899d.com | yl2827.com | www.80868e.com | 776059.com | www.029783.com | www.5099pp.com | 365102f.com | www.550805.com | www.kjlhc.cc | 4022y.com | www.983888a.com | www.yl222.com | 8520r.com | www.9478h.com | www.pj7991.com | z1915.com | www.81520n.com | www.xpj6t6.com | 13377.com | www.61233y.com | www.15515533.com | 861224.com | www.11044.cc | www.vnsr22888.com | 1104011.com | www.00840s.com | www.js16689.com | 4379s.com | www.c141.vip | www.p948p.com | 08159n.com | www.311332.com | www.009289.com | 2805t.com | 500000972.com | www.bjl913.com | www.wan6668888.com | 111122ff.com | www.51550.cc | www.hg7851.com | t99345.am | www.yc7701.com | www.80188r.com | 73999e.com | 24768.com | www.188666.com | www.hg6876.com | e4212.com | www.589344.com | www.4136a.com | 50020099.com | 91019j.net | www.88266t.com | www.vns7525.com | P35qq.com | www.101220.com | www.8899nsb.com | www.56520v.com | hg3737.mx | www.701540.com | www.88.net | www.56733n.com | 2381aaa.com | www.011ac.com | www.91500999.com | 38989y.com | zz1916.com | www.33clf.com | www.caipiao88d.com | g1429.com | 3678ee.com | www.qucp7.com | www.7415ii.com | www.vn676.com | 00555004.com | www.810897.com | www.185143.com | www.j32126.cc | 0729m.com | www.332069.com | www.110503.com | www.hg7111.com | 4647p.com | 32126b.net | www.68689p.com | www.i4042.com | hg168y.com | 5856j.com | www.603224.com | www.v5995.com | www.16297733.com | 7605q.com | 9995h.cc | www.ct8833.com | www.420086.com | www.4938i.com | i8159.cc | mgm3242s.com | www.hx1163.com | www.y063801.com | www.ljw035.com | 0015ff.com | yyh910.com | www.cp8005.cc | www.44118b.com | www.fzf098.com | 80850x.com | 7634245.xyz | www.567231.com | www.6678686.com | www.hgw3300.com | 5855ww.com | 4590bb.com | bet3659903.com | www.60ksw.com | www.f32031.com | www.kk8996.com | 5443f.com | 0198800.com | 80850f.com | www.022bj.cc | www.pjc00.vip | www.61808.com | 922shun.com | 8159f.cc | 0747aa.com | www.606530.com | www.585.cc | www.pj88o.com | www.hg1187.com | 641155.com | 567940.com | 365499.bet | www.802533.com | www.954321s.com | www.138136.com | www.sky2888.com | LXYL350.com | 0907hb.com | 73999r.com | www.615121.com | www.81678y.com | www.4136d.com | www.msc835.com | www.37377v.com | www.5099nn.com | www.367888b.com | 866666q.com | 234903.com | 3424s.com | 55331381.com | www.820158.com | www.181442.com | www.516297.com | www.07773.com | www.h22365.com | hg5582.com | 7599h.com | 73055s.com | 8722rrrr.com | www.js88.cc | www.xpj8808.com | hg2019.cc | 2255hhgz.com | jidu3.com | 3315.com | www.570323.com | www.91091.cc | www.5958199.com | www.4996lj.com | www.a7817.vip | www.bocainews.net | 2373l.com | 2127h.com | www.hr3888.com | www.80032266.com | www.1429g1.com | www.r4042.com | www.js9857.com | www.7337942.com | i32689.net | 68228x.com | 35222k.com | 21214.com | uu1916.com | 87665r.com | www.031059.com | www.641377.com | www.528qx.com | www.88266f.com | www.798344.com | www.n1432.com | www.4963cc.com | www.777794.com | www.wn2888.com | www.7025j.com | www.v0050.com | js38886.com | zhcpff.com | j2368.com | 7726mmm.com | iii4255.com | 7508h.com | 22115003.com | 1591ppp.com | 7003f.com | 5856d.com | 7792g.com | 55772007.com | haianw.com | www.165595.com | www.412688.com | www.669350.com | www.949405.com | www.qucw7.com | www.2934n.com | www.15259.cc | www.94580.cc | www.21202q.com | www.53900r.com | www.33111155.com | www.4058gg.com | www.b35hh.com | www.9737cc.me | www.7415rr.com | www.1111yh.vip | www.3396877.com | www.a92776.com | www.c3065.com | www.350677.com | www.1064g.com | www.88166j.com | www.7415ff.com | www.4694c.com | www.8473a.com | www.biying930vip.com | www.10999w.com | www.6880jj.com | www.651928.com | www.99552ww.com | www.4102m.com | www.168a56.com | www.7886262.com | www.xb99aa.com | www.22062a.com | www.43818h.com | www.2109g.com | www.hx6626.com | www.799436.com | www.505170.com | www.160886.com | 36088.com | aipin66.me | 11tyc.com | 3156xxx.com | 80892h.com | s86226.com | 214app.net | 99111rr.com | www.6033b.com | www.365699.com | www.xh7738.com | www.wns82.com | www.813365.com | www.ii55826.com | www.91779x.com | www.97828z.vip | www.703097.com | www.9818.cc | www.763829.com | www.255811.com | pj666677.com | 2211760.com | vip83068.com | www.3478a.cc | www.876433.com | www.330832.com | 0243.com | 30174400.com | 8535.com | s61788.com | 2355h.com | www.0077hg.com | www.pj9704.com | www.cx9871.com | www.47486.com | www.556350.com | www.76520m.com | www.961219.com | www.219553.com | 99151l.com | 4288a.com | 55967x.com | 2992535.com | www.www-77000.com | 32666h.com | hy738.com | www.1111jsc.com | www.hg3385.com | www.55526e.com | www.99553.com | www.80767l.com | www.865510.com | 70118x.com | 3559cc.com | yl6895.com | www.827558.com | www.3709889.com | www.bwinyz13.com | www.954321e.com | www.c9668.com | www.50064u.com | yh77.com | 54241111.com | www.hg8988.com | www.404msc.com | www.b35hh.com | www.6613611.com | 3846ss.com | 33115g.com | www.ylzz1119.com | www.38345c.com | www.4833058.com | www.ck9191.com | 3388558.com | 856789.com | 7744bbb.com | www.11012.app | www.u32939.com | www.188666.com | www.630933.com | 56988h.vip | cc01234.com | www.aobo8877.com | www.hg743.com | www.0612i.com | www.8mcp.com | 39990033.com | 37111g.com | 27878kk.com | www.28249.com | www.4102v.com | www.cp369.net | 52599q.com | 7599y.com | www.821558.com | www.jsc33.com | www.6768996.com | www.763227.com | 5369e.com | 61327700.com | www.z8867.com | www.bwinyz48.com | www.22030.cc | 69440011.com | nn3405.com | www.3657z.com | www.58118g.com | www.50024p.com | 54549955.com | 6487lll.com | www.yinhecc22.com | www.0661777.com | www.33588t.com | 53166o.com | 82365x.com | www.777444q.com | www.sha0044.com | www.2109s.com | 99567.com | dzc222.com | www.99951144.com | www.9187y.com | www.560692.com | pj600600.com | 2998h.com | www.yzcp2024.com | www.50024.com | yin2222.com | ahg1088.com | www.hg2199.com | www.e94600.com | www.444165.com | 1227019.com | www.wnsr818.com | www.xpj668.com | www.cp8005.cc | 1389yy.com | x48l.com | www.4446aaa.com | www.zcwf1.com | 2381b.com | 463.am | www.1168w.com | www.7515aa.com | hg999333y.com | jsjlb4.com | www.1168e.com | www.66yfa.com | 88000.com | 850834.com | www.5099xx.com | www.982399.com | js78886.com | www.pj14000.com | www.1851136.com | www.675120.com | 0615009.com | www.535msc.com | www.4j5.com | www.60108u.com | 159666a.com | www.89368.com | www.50074j.com | 5429h.com | 99339193.com | www.88mgm777.com | www.641477.com | 3454549.com | www.110732.com | www.261610.com | w32689.net | 88553.com | www.biying970vip.com | www.580296.com | 65365.com | www.07991.com | www.35918g.com | 667766m.com | www.yh677.com | www.96877.com | 65005l.com | 009900c.com | www.gt111777.com | www.599840.com | 00755d.com | www.895095.com | www.49956d.com | 4646755.com | www.9068qq.com | www.4331m.com | feicai0451.com | 3119.com | www.8905t.com | 0033d.cc | 66puyu.com | www.4521.com | 89777m.com | 0747xx.com | www.hgdc900.com | www.55885i.com | 88807g.com | www.4996js.com | www.060640.com | 500000595.com | www.89677s.com | www.m.cp533pc.vip | 83086t.com | www.6880tt.com | www.36788e.com | 7088000.com | www.390292.com | 1389uu.com | 1168k.com | www.7920v.com | hg9088.com | www.pjhebei.com | www.37377d.com | h8828.net | www.9996jj.com | www.65707x.com | 838388g.com | www.bet611.com | www.bxcp3333.com | 30688k.com | www.799666s.com | www.503477.com | 838388w.com | www.70976.cc | yh888g.com | www.vnsr900.com | www.7239v.com | 64111b.com | www.495655.com | www.745557.com | 00774tt.com | www.369410.com | 9007004.com | www.282003.com | www.07163x.com | a1915.com | www.cp009.vip.com | www.082710.com | 1705v.com | www.4923t.com | c45638.com | www.288-563.cc | www.342077.com | 88562.com | www.81608k.com | 3778dd.com | www.bmw0004.com | www.330652.com | 588ooo.cc | www.679950.com | 44077.com | www.hrtsh.com | www.168212.com | www.long8603.com | www.77803k.com | 55323o.com | www.89599m.com | bckpcqz.cn | www.117390.com | www.99fc.cc | 6766gg.com | www.3846g.com | 703669.com | www.3029.com | www.81233u.com | www.1019994.com | www.3005u.com | 8988j.com | www.55526v.com | 79964w.com | www.h22365.com | www.c8704.com | 577605.com | www.48330j.com | hga55025.com | www.e3065.com | 5389.com | www.jb11111.com | www.321537.com | www.xx0088.com | www.15855.cc | pjxianggang.com | www.cc4625.com | 69111w.com | www.53097777.com | 9081.com | www.5882323.com | www.66652i.com | www.g83138.com | www.896950.com | 69.am | www.7782m.com | 9995u.cc | www.yh68222.com | 3845.com | www.1434n.com | shen5533.com | www.47506d.com | 0015ss.com | www.5099bb.com | haoshou188.com | www.3846x.com | 8898555.com | www.766577.com | 0805n.com | www.hg9777.com | 5310.com | www.hg70999.com | www.225105.com | www.9q.cc | www.342577.com | www.21365dd.com | www.514033.com | www.66313.com | www.598799.com | www.yddc02.com | www.603694.com | www.79884.com |