public static String getToken(String token, String pos) {
		String key = token.trim().toLowerCase() + "_" + pos;
		if (cache.containsKey(key))
			return cache.get(key);
		else {
			if (token.matches("\\p{Alpha}.*")) {
				morpha = new Morpha(new StringReader(key));
				try {
					String p = morpha.next();
					if (p != null) {
						cache.put(key, p);
						return p;
					} else {
						cache.put(key, token);
						return token;
					}
				} catch (IOException e) {
					logger.warn("morpha err:" + key + "@@");
				} catch (Error e) {
					logger.warn("morpha err:" + key + "@@");
				}
			} else {
				cache.put(key, token);
			}
			cache.put(key, token);
			return token;
		}
	}