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

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

?? nlengine.java~

?? 經典人工智能源程序
?? JAVA~
字號:
// nlbean.NLEngineLocal.java
//
// Copyright 1997, 1999 Mark Watson.
//

package nlbean;

import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.text.*;
import java.util.*;
import java.beans.*;
import java.sql.*;
import java.util.Vector;
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;

public class NLEngine implements Serializable {

    public NLEngine() {

        // Create a DBInfo object and initialize it with the current
        // database properties:
        dbinfo = new DBInfo();

        nlp = new NLP(dbinfo);

     //   lexicon_data = nlp.lexicon_data;
    }

    public void addDB(String name, String user, String passwd, String tbls) {
        if (numDB < 4) {
            databaseName[numDB] = name;
            userName[numDB] = user;
            password[numDB] = passwd;
            tableList[numDB] = tbls;
            numDB++;
        }
    }

    public void initDB() {
        for (int d=0; d<numDB; d++) {
            if (databaseName[d]!=null) {
                String tl[] = Util.parseStrings(tableList[d]);
                if (tl!=null) {
                    for (int i=0; i<tl.length; i++) {
                        try {
                            String cols[] = DBInterface.getColumnNames(tl[i],
                                                                       databaseName[d],
                                                                       userName[d],
                                                                       password[d]);
                            if (cols!=null) {
                               // lexicon_data.addTableName(tl[i]);
                                dbinfo.addTable(tl[i], databaseName[d], userName[d], password[d], cols);
                               // if (lexicon_data!=null) {
                               //     for (int ii=0; ii<cols.length; ii++) {
                               //         System.out.println("adding column name to lexicon: " + cols[ii]);
                               //         lexicon_data.addColumnName(cols[ii]);
                              //      }
                              //  } else {
                              //      System.out.println("null lexicon_data");
                              //  }
                            }
                        } catch (Exception e) { }
                    }
                }
            }
        }

        dbinfo.debug();
    }

    //                     NLP data and methods:

    public void parse(String s) {

        // Remove any commas from the input text:
        for (int i=0; i<20; i++) {
            int idx = s.indexOf(",");
            if (idx>-1) {
                s = s.substring(0,idx) + s.substring(idx+1);
            } else {
                break;
            }
        }
        // Remove any periods from the input text:
        for (int i=0; i<10; i++) {
            int idx = s.indexOf(".");
            if (idx>-1) {
                s = s.substring(0,idx) + s.substring(idx+1);
            } else {
                break;
            }
        }

        // remove extra spaces and convert to lower case:
        s = " " + Util.removeExtraSpaces(s).toLowerCase() + " ";

        // before calling the NLP class parse method, we
        // need to replace synonyms:

        numSynReplacements = 0;
        for (int i=0; i<numSynonyms; i++) {
            // allow for multiple uses of the same synonym:
            for (int repeat=0; repeat<4; repeat++) {
                int idx = s.indexOf(synonymDescription[i]);
                if (idx>-1) {
                    s = s.substring(0,idx+1) +
                        synonymColumnName[i] + 
                        s.substring(idx + synonymDescription[i].length() - 1);
                    syns[numSynReplacements] = synonymColumnName[i];
                    origs[numSynReplacements] = synonymDescription[i];
                    numSynReplacements++;
                } else {
                    break;
                }
            }
        }

        // remove extra spaces (just to make sure!):
        s = Util.removeExtraSpaces(s);

        nlp.parse(s);
    }

    // See if a word is "known" (this includes table and column names):

   // public boolean goodWord(String s) {
   //     if (lexicon_data.wordInLexicon(s.toLowerCase())) return true;
   //     return false;
  //  }

    public String getSQL() {
        return nlp.getSQL();
    }
    private int num_rows_from_database = 0;
    public String [] breakLines(String s) {
        String [] ret = new String[40];
        int count = 0;
        num_rows_from_database = 0;
        try {
            StringReader sr = new StringReader(s);
            BufferedReader br = new BufferedReader(sr);
            while (true) {
                String s2 = br.readLine();
                if (s2 == null || s2.length() < 1)  break;
                num_rows_from_database++;
                // change for InstantDB: comma separated terms:
                int index = 0;
                while (true) {
                    index = s2.indexOf(",");
                    if (index == -1) {
                        if (count > 38) break;
                        ret[count++] = s2.trim();
                        break;
                    } else {
                        if (count > 38) break;
                        ret[count++] = s2.substring(0, index);
                        s2 = s2.substring(index + 1);
                    }
                }
            }
            String [] ret2 = new String[count];
            for (int i=0; i<count; i++) ret2[i] = ret[i];
            return ret2;
        } catch (Exception e) { }
        return null;
    }

    public String toEnglish(String r) {
        System.out.println("NLEngineLocal.toEnglish(" + r + ")");
        return nlp.toEnglish(breakLines(r), syns, origs,
                             numSynReplacements, num_rows_from_database);
    }

    public void createResultSet(String sql_query, String database,
                                String user, String password) {
        //SQL.createResultSet(sql_query, database, user, password);
    }

    public String [] getColumnNames(String sql_query, String database,
                                    String user, String password) {
        try {
            return DBInterface.getColumnNames(sql_query, database,
                                              user, password);
        } catch (Exception e) { }
        return null;
    }

    public String getRows(String sql_query, String database,
                          String user, String password) {
        try {
            return DBInterface.query(sql_query, database,
                                     user, password);
        } catch (Exception e) { }
        return null;
    }

    public  DBInfo dbinfo;
    private NLP nlp;

    // Allow developers to define a few synonyms for a particular
    // application:
    private String synonymColumnName[] = new String[11];
    private String synonymDescription[] = new String[11];
    private int numSynonyms = 0;

    // For use in generating nglish output for queries:
    private String syns[] = new String[11];
    private String origs[] = new String[11];
    private int numSynReplacements=0;

    public void clearSynonyms() {
        numSynonyms = 0;
    }

    public void addSynonym(String column, String description) {
        if (numSynonyms<10) {
            synonymColumnName[numSynonyms] = column;
            synonymDescription[numSynonyms] = " " + description + " ";
            numSynonyms++;
        }
    }

    // for four properties each for up to five databases:
    private String databaseName[] = new String[5];
    private String userName[] = new String[5];
    private String password[] = new String[5];
    private String tableList[] = new String[5];
    private int numDB=0;

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区三区高清aⅴ| 精品国产乱码久久久久久1区2区| 国产一区欧美一区| 久久99久久99| 激情深爱一区二区| 国产精品69久久久久水密桃| 久久激五月天综合精品| 激情综合网av| 国产精品综合网| 风间由美一区二区三区在线观看 | 91精品黄色片免费大全| 欧美男男青年gay1069videost| 欧美亚洲一区二区在线| 欧美日韩电影一区| 欧美r级电影在线观看| 国产亚洲欧美日韩日本| 国产精品久久久久久久久晋中 | 国产在线精品一区二区不卡了 | 亚洲欧美日韩中文播放| 亚洲国产欧美在线| 美女视频黄 久久| 国产精品影视在线| 色狠狠一区二区三区香蕉| 欧美色精品在线视频| 日韩欧美一区二区在线视频| 久久久久久久性| 亚洲人精品午夜| 欧美a级一区二区| 国产成人免费在线视频| 色婷婷亚洲综合| 日韩一区和二区| 中文字幕日韩av资源站| 天堂精品中文字幕在线| 国产精品66部| 欧美日韩国产免费| 国产精品情趣视频| 日本欧美一区二区在线观看| 国产成人精品一区二区三区网站观看| 色婷婷av久久久久久久| 久久一留热品黄| 午夜免费欧美电影| 国产mv日韩mv欧美| 日韩免费在线观看| 亚洲福利视频三区| 成人美女视频在线看| 日韩精品综合一本久道在线视频| 国产精品女主播av| 久久www免费人成看片高清| 91视频91自| 亚洲国产岛国毛片在线| 久久不见久久见中文字幕免费| 日本久久一区二区| 中文字幕在线不卡视频| 蜜桃精品视频在线| 91精品国产综合久久久久| 亚洲精品少妇30p| 99视频在线观看一区三区| 日韩欧美视频一区| 青青草国产成人99久久| 欧美视频日韩视频| 亚洲国产乱码最新视频| 色综合色综合色综合色综合色综合 | 国产精品不卡在线观看| 国产一区二区伦理片| 日韩一区二区在线观看视频 | 一本久道久久综合中文字幕| 国产欧美日产一区| 国产成人精品影视| 国产精品美女久久久久aⅴ | 奇米综合一区二区三区精品视频| 欧美视频在线一区二区三区| 亚洲精品国产高清久久伦理二区| av亚洲精华国产精华| 国产人久久人人人人爽| 国产精品2024| 国产精品毛片久久久久久久| 不卡视频在线看| 亚洲天堂免费看| 色偷偷久久一区二区三区| 亚洲乱码精品一二三四区日韩在线| 成人黄色av电影| 成人欧美一区二区三区黑人麻豆 | 亚洲国产成人精品视频| 欧美日韩夫妻久久| 另类的小说在线视频另类成人小视频在线| 欧美亚洲国产一区二区三区| 免费在线看一区| 国产亚洲欧美色| 色综合中文字幕国产 | 欧美一级高清大全免费观看| 蜜乳av一区二区| 久久日韩粉嫩一区二区三区| 国产成人在线视频网址| 国产精品成人一区二区艾草 | 中文字幕一区二区三区视频| 91影院在线免费观看| 午夜影院在线观看欧美| www国产精品av| 波多野洁衣一区| 亚洲国产日韩a在线播放性色| 欧美成人vr18sexvr| 成人激情开心网| 天堂久久一区二区三区| 精品剧情在线观看| 色综合激情五月| 精品一区二区三区日韩| 中文字幕中文乱码欧美一区二区 | 国产精品久久夜| 欧美精品九九99久久| 精品无人区卡一卡二卡三乱码免费卡 | 2023国产精品视频| 在线中文字幕一区二区| 国产一级精品在线| 一区二区三区蜜桃| 欧美一区二区国产| 91色视频在线| 国产麻豆精品久久一二三| 樱花草国产18久久久久| 国产视频亚洲色图| 欧美一二三四在线| 在线观看日韩一区| 成人性生交大片免费看视频在线| 亚洲二区视频在线| 国产精品无遮挡| 久久久精品影视| 4438x成人网最大色成网站| 91网站最新地址| 风间由美性色一区二区三区| 麻豆精品一区二区三区| 亚洲欧美日韩国产综合| 久久久久久久久久久电影| 91精品蜜臀在线一区尤物| 在线视频一区二区三| 91麻豆国产福利在线观看| 国产a精品视频| 国产精品亚洲午夜一区二区三区 | 久久久综合九色合综国产精品| 欧美女孩性生活视频| 色欧美日韩亚洲| a级精品国产片在线观看| 国产凹凸在线观看一区二区| 精品一区二区久久| 久久精品国产澳门| 欧美a一区二区| 美女网站在线免费欧美精品| 午夜av一区二区| 婷婷综合五月天| 日韩一区精品视频| 青青草一区二区三区| 麻豆91免费观看| 麻豆成人av在线| 国产一区在线不卡| 国产成人精品一区二区三区四区| 韩国在线一区二区| 国产ts人妖一区二区| 大美女一区二区三区| 成人性生交大片免费看在线播放| 国产高清成人在线| 99视频精品在线| 在线观看亚洲专区| 91麻豆精品国产自产在线观看一区 | 欧美影院一区二区三区| 欧美亚洲综合在线| 日韩一级免费一区| 久久久久久久网| 中文字幕亚洲一区二区va在线| 中文字幕一区二区三区不卡在线| 亚洲视频一二三区| 亚洲自拍与偷拍| 日本不卡高清视频| 国产黄色91视频| 色综合久久天天综合网| 欧美男人的天堂一二区| 精品精品欲导航| 国产精品成人一区二区艾草 | 欧美日韩国产a| 日韩精品专区在线影院重磅| 久久久久久99精品| 亚洲女同一区二区| 奇米四色…亚洲| 成人中文字幕在线| 欧美影院精品一区| 久久蜜桃av一区精品变态类天堂 | 国产精品久久久久久久久免费桃花 | 亚洲最大成人网4388xx| 秋霞成人午夜伦在线观看| 国产91在线观看| 欧美日韩国产首页| 国产精品入口麻豆原神| 免费在线观看不卡| 日本丶国产丶欧美色综合| 久久女同性恋中文字幕| 一级精品视频在线观看宜春院| 久久99国产精品麻豆| 日本精品裸体写真集在线观看 | 欧美系列一区二区| 久久久久久久久久久黄色| 亚洲高清免费在线| 91在线视频播放地址| 精品国产欧美一区二区|