package clear.morph; import clear.util.tuple.JMorphTuple; import java.util.ArrayList; import java.util.regex.Pattern; public class MorphKrAnalyzer { static public Pattern M_PS = Pattern.compile("SF|SP|SS|SE|SO|SY"); static public Pattern M_CP = Pattern.compile("J.+"); static public Pattern M_EM = Pattern.compile("E.+"); // static public Pattern M_DS = Pattern.compile("XS.+"); static public Pattern M_DS = Pattern.compile("SN|SV|SJ"); static public boolean isPunctuation(String pos) { return M_PS.matcher(pos).find(); } static public boolean isCaseParticle(String pos) { return M_CP.matcher(pos).find(); } static public boolean isEndingMarker(String pos) { return M_EM.matcher(pos).find(); } static public boolean isDerivationalSuffix(String pos) { return M_DS.matcher(pos).find(); } static public boolean isX(ArrayList<JMorphTuple> list) { for (JMorphTuple tup : list) { if (!isCaseParticle(tup.pos) || !isEndingMarker(tup.pos)) { return false; } } return true; } }