package edu.fudan.nlp.cn; import java.util.regex.Pattern; /** * 中文词性操作类 * @author xpqiu * @version 1.0 * @since FudanNLP 1.5 */ public class Tags { public static enum PartOfSpeech { Noun, Verb, Adjective, Adverb, Pronoun, Preposition, Conjunction, Article, Unknown } static Pattern entitiesPattern = Pattern.compile("人名|地名|机构名|专有名"); /** * 判断词性是否为一个实体,包括:人名|地名|机构名|专有名。 * @param pos 词性 * @return true,false */ public static boolean isEntiry(String pos) { return (entitiesPattern.matcher(pos).find()); } static Pattern nounsPattern = Pattern.compile("名词|人名|地名|机构名|专有名"); public static boolean isNoun(String pos) { return (nounsPattern.matcher(pos).find()); } static Pattern stopwordPattern = Pattern.compile(".*代词|标点|介词|从属连词|语气词|叹词|结构助词|拟声词|方位词"); /** * 判断词性是否为无意义词。 * @param pos 词性 * @return true,false */ public static boolean isStopword(String pos) { return (stopwordPattern.matcher(pos).find()); } }