public static void parseNature(Term term) {
        if (!Nature.NW.equals(term.natrue())) {
            return;
        }

        String name = term.getName();

        if (name.length() <= 3) {
            return;
        }

        // 是否是外国人名
        if (ForeignPersonRecognition.isFName(name)) {
            term.setNature(NatureLibrary.getNature("nrf"));
            return;
        }

        List<Term> subTerm = term.getSubTerm();

        // 判断是否是机构名
        term.setSubTerm(subTerm);
        Term first = subTerm.get(0);
        Term last = subTerm.get(subTerm.size() - 1);
        int[] is = companyMap.get(first.getName());
        int all = 0;

        is = companyMap.get(last.getName());
        if (is != null) {
            all += is[1];
        }

        if (all > 1000) {
            term.setNature(NatureLibrary.getNature("nt"));
            return;
        }
    }
public static void parseNature ( Term term ) { if ( ! Nature . NW . equals ( term . natrue ( ) ) ) { return ; } String name = term . getName ( ) ; if ( name . length ( ) <= 3 ) { return ; } if ( ForeignPersonRecognition . isFName ( name ) ) { term . setNature ( NatureLibrary . getNature ( "nrf" ) ) ; return ; } List < Term > subTerm = term . getSubTerm ( ) ; term . setSubTerm ( subTerm ) ; Term first = subTerm . get ( 0 ) ; Term last = subTerm . get ( subTerm . size ( ) - 1 ) ; int [ ] is = companyMap . get ( first . getName ( ) ) ; int all = 0 ; is = companyMap . get ( last . getName ( ) ) ; if ( is != null ) { all += is [ 1 ] ; } if ( all > 1000 ) { term . setNature ( NatureLibrary . getNature ( "nt" ) ) ; return ; } }
得到细颗粒度的分词，并且确定词性

@return 返回是null说明已经是最细颗粒度