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

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

?? atn.java

?? 經典人工智能源程序
?? JAVA
字號:
/** * Title:        ATN<p> * Description:  Implements a simpl ATN parser that uses WordNet data * Copyright:    Copyright (c) by Mark Watson, 2000<p> * @author Mark Watson * @version 1.2 */import java.io.*;import java.util.*;public class ATN {    public ATN() {        try {	    // the following code will read either a local file of a	    // resource in a JAR file:            InputStream ins =		ClassLoader.getSystemResourceAsStream("wncache.dat");            if (ins==null) {                System.out.println("Failed to open 'wncache.dat'");                System.exit(1);            } else {                ObjectInputStream p = new ObjectInputStream(ins);                adj = (Hashtable)p.readObject();                adv = (Hashtable)p.readObject();                noun = (Hashtable)p.readObject();                verb = (Hashtable)p.readObject();                ins.close();            }	    // Augment the WordNet 1.6 entries:	    art = new Hashtable(); addWords(art, ARTS);	    conj = new Hashtable(); addWords(conj, CONJS);	    det = new Hashtable(); addWords(det, DETS);	    pron = new Hashtable(); addWords(pron, PRONS);	    prep = new Hashtable(); addWords(prep, PREPS);	    // fill in a few common verbs that are not in Wordnet 1.6:	    verb.put("ran", b);       } catch (Exception e) {            e.printStackTrace();        }    }    private Boolean b = new Boolean(true);    private void addWords(Hashtable h, String [] ws) {	for (int i=0; i<ws.length; i++) {	    h.put(ws[i], b);	}    }    Hashtable adj, adv, art, conj, det, noun, pron, verb, prep;    String [] PRONS = {"he", "she", "me", "it", "you", "I"};    String [] ARTS  = {"the", "a", "an"};    String [] CONJS = {"and", "or"};    String [] DETS = {"who", "what", "where", "when"};    String [] PREPS = {"on", "at", "under", "above", "behind", "to", "about","down"};    private boolean checkWord(String word, int type) {	if (type == PREP) {	    if (prep.get(word) != null) return true;	} else if (type == VERB) {	    if (verb.get(word) != null) return true;	    // some simple kluges to accept words like "likes" when	    // only "like" is in the lexicon:	    if (word.endsWith("s") || word.endsWith("ed")) {		String s = word.substring(0, word.length() - 1);		if (verb.get(s) != null) return true;	    }	} else if (type == NOUN) {	    if (noun.get(word) != null) return true;	} else if (type == CONJ) {	    if (conj.get(word) != null) return true;	} else if (type == ADJ) {	    if (adj.get(word) != null) return true;	} else if (type == ADV) {	    if (adv.get(word) != null) return true;	} else if (type == PRON) {	    if (pron.get(word) != null) return true;	} else if (type == DET) {	    if (det.get(word) != null) return true;	} else if (type == ART) {	    if (art.get(word) != null) return true;	}	return false;    }    public int [] parse(String s) {        Vector v = new Vector();        StringTokenizer st = new StringTokenizer(s);        while (st.hasMoreTokens()) {            String str = st.nextToken();            if (str.length() > 2 && str.endsWith(",")) {		str = str.substring(0, str.length() - 1);	    }            if (str.length() > 2 && str.endsWith(".")) {		str = str.substring(0, str.length() - 1);	    }            if (str.length() > 2 && str.endsWith(":")) {		str = str.substring(0, str.length() - 1);	    }            if (str.length() > 2 && str.endsWith(";")) {		str = str.substring(0, str.length() - 1);	    }            v.addElement(str.toLowerCase());        }	// It is easier to work with an array, so convert the Vector	// to an array of Java strings:	int size = v.size();	if (size == 0) return null;	words = new String[size];	partsOfSpeech = new int[size];	num_words = size;	for (int i=0; i<size; i++) words[i] = (String)v.elementAt(i);	// quick test against lexicon for word types:	for (int i=0; i<words.length; i++) {	    System.out.print("'" + words[i] + "' possible word types: ");	    if (adj.get(words[i]) != null) System.out.print("adj ");	    if (adv.get(words[i]) != null) System.out.print("adv ");	    if (art.get(words[i]) != null) System.out.print("art ");	    if (noun.get(words[i]) != null) System.out.print("noun ");	    if (prep.get(words[i]) != null) System.out.print("prep ");	    if (verb.get(words[i]) != null) System.out.print("verb ");	    System.out.println();	}	System.out.println();	// execute the parsing helper methods until one succeeds:	parse_it();	return null;    }    String [] words;    int [] partsOfSpeech;    int wordIndex;    int num_words;        public static void main(String [] args) {	ATN nf = new ATN();	if (args.length < 1) {	    nf.parse("the dog ran down the street");	} else {	    for (int i=0; i<args.length; i++) {		System.out.println("\nProcessing : " + args[i]);		nf.parse(args[i]);	    }	}    }    //////////////// ATN functions:    String getPOSname(int pos) {	switch (pos) {	case 1: return "NP";	case 2: return "VP";	case 3: return "PP";	case 1001: return "noun";	case 1002: return "verb";	case 1003: return "prep";	case 1004: return "conj";	case 1005: return "adj";	case 1006: return "adv";	case 1007: return "pron";	case 1008: return "det";	case 1009: return "art";	default: return "unknown";	}    }    public final static int NP = 1;    public final static int VP = 2;    public final static int PP = 3;    public final static int NOUN = 1001;    public final static int VERB = 1002;    public final static int PREP = 1003;    public final static int CONJ = 1004;    public final static int ADJ  = 1005;    public final static int ADV  = 1006;    public final static int PRON = 1007;    public final static int DET  = 1008;    public final static int ART  = 1009;    public final static int NUM_S = 9;    //    int [] LEN_S   = { 5,  4,  3,  4,  3,  2,  2,  2,  1};    int [] ALL_S [] = {	{NP, VP, NP, PP, VP},	{NP, VP, PP, NP},	{NP, VP, NP},	{VP, NP, PP, NP},	{VP, PP, NP},	{NP, VP},	{VP, PP},	{VP, NP},	{VP}    };    //////////////// The actual parser:    int parsePP(int start_word_index, int word_index) {	if (word_index >= num_words)  return word_index;	// test ATN transitions <PREP> --> <NP>	if (checkWord(words[word_index], PREP)) {	    partsOfSpeech[start_word_index + word_index] = PREP;	    int ii = parseNP(start_word_index, word_index + 1);	    if (ii > -1) {		return ii;	    }	}	return -1;    }    int parseNP(int start_word_index, int word_index) {	if (word_index >= num_words)  return word_index;	// test ATN transitions <NOUN> --> <CONJ> --> <NP>	if (word_index < num_words - 2 && checkWord(words[word_index], NOUN)) {	    if (checkWord(words[word_index + 1], CONJ)) {		int ii = parseNP(start_word_index, word_index + 2);		if (ii > -1) {		    partsOfSpeech[start_word_index + word_index] = NOUN;		    partsOfSpeech[start_word_index + word_index + 1] = CONJ;		    return ii;		}	    }	}	// test ATN transitions <ART> --> <NP>	if (word_index < num_words - 1 && checkWord(words[word_index], ART)) {	    int ii = parseNP(start_word_index, word_index + 1);	    if (ii > -1) {		partsOfSpeech[start_word_index + word_index] = ART;		return ii;	    }	}	// test ATN transitions <DET> --> <NP>	if (word_index < num_words - 1 && checkWord(words[word_index], ADJ)) {	    int ii = parseNP(start_word_index, word_index + 1);	    if (ii > -1) {		partsOfSpeech[start_word_index + word_index] = ADJ;		return ii;	    }	}	// test ATN transitions <ADJ> --> <NP>	if (checkWord(words[word_index], ADJ)) {	    int ii = parseNP(start_word_index, word_index + 1);	    if (ii > -1) {		partsOfSpeech[start_word_index + word_index] = ADJ;		return ii;	    }	}	// test ATN transitions <ADV> --> <NP>	if (word_index < num_words - 1 && checkWord(words[word_index], ADV)) {	    int ii = parseNP(start_word_index, word_index + 1);	    if (ii > -1) {		partsOfSpeech[start_word_index + word_index] = ADV;		return ii;	    }	}	// test ATN transitions <NOUN> --> <NOUN>	if (word_index < num_words - 1 && checkWord(words[word_index], NOUN)) {	    if (checkWord(words[word_index + 1], NOUN)) {		partsOfSpeech[start_word_index + word_index] = NOUN;		partsOfSpeech[start_word_index + word_index + 1] = NOUN;		return word_index + 2;	    }	}	if (checkWord(words[word_index], NOUN)) {	    partsOfSpeech[start_word_index + word_index] = NOUN;	    return word_index + 1;	}	if (checkWord(words[word_index], PRON)) {	    int ii = parseNP(start_word_index, word_index + 1);	    if (ii > -1) {		partsOfSpeech[start_word_index + word_index] = PRON;		return ii;	    }	}	if (checkWord(words[word_index], PRON)) {	    partsOfSpeech[start_word_index + word_index] = PRON;	    return word_index + 1;	}	return -1;    }    int parseVP(int start_word_index, int word_index) {	if (word_index >= num_words)  return word_index;	// test ATN transitions <V> --> <NP> --> <PP>	if (checkWord(words[word_index], VERB)) {	    partsOfSpeech[start_word_index + word_index] = VERB;	    int ii = parseNP(start_word_index, word_index + 1);	    if (ii > -1) {		int jj = parsePP(start_word_index, ii);		if (jj > -1) {		    return jj;		}	    }	}	// test ATN transitions <V> --> <NP>	if (checkWord(words[word_index], VERB)) {	    partsOfSpeech[start_word_index + word_index] = VERB;	    int ii = parseNP(start_word_index, word_index + 1);	    if (ii > -1) {		return ii;	    }	}	// test ATN transitions <V> --> <PP>	if (checkWord(words[word_index], VERB)) {	    partsOfSpeech[start_word_index + word_index] = VERB;	    int ii = parsePP(start_word_index, word_index + 1);	    if (ii > -1) {		return ii;	    }	}	if (checkWord(words[word_index], VERB)) {	    partsOfSpeech[start_word_index + word_index] = VERB;	    return word_index + 1;	}	return -1;    }    int parseHelper(int [] atn, int start_word_index) {	int word_index = 0;	int len_atn = atn.length;	int last_word_index = word_index;	for (int i=0; i<len_atn; i++) {	    last_word_index = word_index;	    switch (atn[i]) {	    case NP: word_index = parseNP(start_word_index, word_index);  break;	    case VP: word_index = parseVP(start_word_index, word_index);  break;	    case PP: word_index = parsePP(start_word_index, word_index);  break;	    }	    if (word_index == -1)  return last_word_index;	}	return word_index;    }    int parseSentence(int start_word_index) {	int max_val = -1;	int max_word_index = 0;	for (int i=0; i<NUM_S; i++) {	    int k = parseHelper(ALL_S[i], start_word_index);	    //System.out.println("Score for ATN " + i + " is " + k);	    if (k > max_val) {		max_val = k;		max_word_index = i;	    }	}	System.out.println("Best ATN at word_index " + max_word_index);	parseHelper(ALL_S[max_word_index], start_word_index);	for (int i=0; i<num_words; i++) {	    if (partsOfSpeech[start_word_index + i] == 0) {		if (checkWord(words[i], NOUN)) {		    partsOfSpeech[start_word_index + i] = NOUN;		}		if (checkWord(words[i], CONJ)) {		    partsOfSpeech[start_word_index + i] = CONJ;		}	    }	}	return max_val;    }    void parse_it() {	int word_index = parseSentence(0);	//System.out.println("word_index from S ATN = " + word_index);	for (int i=0; i<num_words; i++) {	    System.out.println(" word: " + words[i] + 			       " part of speech: " + getPOSname(partsOfSpeech[i]));	}    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人综合婷婷国产精品久久蜜臀| 国产精品夜夜嗨| 精品国产成人系列| 99久久国产综合精品女不卡| 亚洲a一区二区| 国产日韩高清在线| 欧美日韩精品三区| 国产盗摄精品一区二区三区在线| 亚洲最新视频在线观看| 国产午夜亚洲精品理论片色戒| 欧美曰成人黄网| 国产91精品精华液一区二区三区| 亚洲成av人片| 中文字幕一区二区三区不卡在线 | 久久久久国产精品人| 欧美综合久久久| 成人美女视频在线看| 老司机免费视频一区二区三区| 亚洲精品乱码久久久久久日本蜜臀| 久久综合九色综合97_久久久| 欧美三片在线视频观看| 91免费版在线| av不卡免费电影| 高清不卡一区二区在线| 麻豆精品在线看| 天天综合天天做天天综合| 亚洲国产综合91精品麻豆| 亚洲色图.com| 亚洲人吸女人奶水| 国产精品美女久久久久久久久| 久久精品视频一区二区三区| 日韩小视频在线观看专区| 7777精品伊人久久久大香线蕉最新版| 91成人网在线| 欧洲精品一区二区| 在线观看区一区二| 91高清视频在线| 色婷婷国产精品综合在线观看| 99精品一区二区三区| 99国产精品国产精品久久| av男人天堂一区| eeuss鲁片一区二区三区| yourporn久久国产精品| 91原创在线视频| 91欧美一区二区| 日本精品视频一区二区三区| 欧美综合色免费| 欧美日本一区二区| 日韩一区二区三区三四区视频在线观看 | 成人精品国产福利| 成人97人人超碰人人99| 波多野结衣中文字幕一区二区三区| 国产白丝精品91爽爽久久| 成人av手机在线观看| 色婷婷香蕉在线一区二区| 欧美系列在线观看| 日韩一区二区在线播放| 精品理论电影在线观看| 国产午夜精品理论片a级大结局| 国产无遮挡一区二区三区毛片日本| 日本一区二区免费在线观看视频| 国产精品人人做人人爽人人添| 国产精品国模大尺度视频| 亚洲激情成人在线| 男男gaygay亚洲| 国内精品免费在线观看| 成人精品国产一区二区4080| 欧美伊人久久大香线蕉综合69| 91精品免费在线| 久久日一线二线三线suv| 国产精品你懂的在线| 亚洲一区二区三区激情| 久久精品噜噜噜成人av农村| 国产成人av福利| 精品视频在线免费看| 精品1区2区在线观看| 亚洲人精品午夜| 午夜视频在线观看一区二区 | 91香蕉视频mp4| 欧美精品三级在线观看| 久久综合九色综合97婷婷女人| 一色桃子久久精品亚洲| 午夜视频在线观看一区二区| 国产成人综合视频| 欧美午夜影院一区| 久久久美女毛片| 亚洲国产精品嫩草影院| 国产成人免费在线| 欧美日韩一区二区在线观看视频| 久久亚洲精精品中文字幕早川悠里 | 玉米视频成人免费看| 免费观看在线综合| 懂色av一区二区夜夜嗨| 欧美在线视频全部完| 久久无码av三级| 亚洲地区一二三色| www.亚洲精品| 日韩欧美黄色影院| 亚洲精品日韩一| 国产美女在线精品| 欧美高清dvd| 国产精品久久久久婷婷二区次| 日韩国产欧美在线观看| 91麻豆文化传媒在线观看| 日韩精品一区二区三区三区免费| 亚洲精品免费播放| 成人国产电影网| 久久影院视频免费| 蜜桃一区二区三区在线| 欧美色综合久久| 亚洲人成网站色在线观看| 国产一区二区不卡老阿姨| 正在播放一区二区| 亚洲一区二区三区在线看| 成人黄色片在线观看| 国产欧美视频在线观看| 日本欧美久久久久免费播放网| 色女孩综合影院| 日韩理论片在线| 顶级嫩模精品视频在线看| 久久综合九色综合欧美98| 麻豆专区一区二区三区四区五区| 欧美午夜精品电影| 亚洲免费在线视频| 色激情天天射综合网| 亚洲天堂2016| 精品动漫一区二区三区在线观看| 偷拍日韩校园综合在线| 欧美亚洲尤物久久| 亚洲影视在线观看| 欧美视频在线观看一区二区| 亚洲一二三四区不卡| 在线一区二区三区四区五区| 欧美国产精品久久| 国产精品夜夜爽| 亚洲青青青在线视频| 欧美日韩在线精品一区二区三区激情 | 国产喷白浆一区二区三区| 蜜臀久久99精品久久久久宅男| 欧美自拍偷拍一区| 亚洲国产婷婷综合在线精品| 欧美在线制服丝袜| 石原莉奈在线亚洲二区| 777色狠狠一区二区三区| 日韩电影在线观看网站| 欧美福利一区二区| 精品一二线国产| 久久综合99re88久久爱| 国产美女精品一区二区三区| 国产欧美日韩在线| 99精品视频中文字幕| 亚洲女性喷水在线观看一区| 日本道免费精品一区二区三区| 国产精品午夜春色av| 国产69精品久久99不卡| 国产精品成人一区二区三区夜夜夜 | 亚洲国产精品久久久久秋霞影院| 成人av资源在线观看| 亚洲婷婷国产精品电影人久久| 色狠狠色狠狠综合| 偷拍日韩校园综合在线| 精品国产91洋老外米糕| 国产a视频精品免费观看| 亚洲精品中文字幕乱码三区| 欧美色视频在线| 美女一区二区在线观看| 久久精品欧美日韩| 9i看片成人免费高清| 日韩在线a电影| 久久精品这里都是精品| 色综合天天性综合| 日韩黄色一级片| 中文字幕av在线一区二区三区| 色综合一个色综合亚洲| 热久久一区二区| 日本一区二区电影| 欧美老人xxxx18| 国产成人免费视频精品含羞草妖精 | 久久婷婷国产综合精品青草| 成人国产电影网| 日韩电影一二三区| 日本一区二区三区久久久久久久久不 | 中文字幕国产一区| 51精品秘密在线观看| 国产suv精品一区二区883| 亚洲 欧美综合在线网络| 国产欧美视频在线观看| 91精品国产综合久久蜜臀| 成人免费视频视频| 蜜桃精品视频在线观看| 最近日韩中文字幕| 久久伊人蜜桃av一区二区| 欧美日韩成人在线一区| av一区二区三区四区| 久久国产综合精品| 亚洲综合激情小说| 中文字幕制服丝袜一区二区三区| 91精品国产欧美一区二区18 | 在线观看亚洲a| 成人夜色视频网站在线观看|