Hanlp词性表

1    Are
a    形容词
ad    副形词
ag    形容词性语素
al    形容词性惯用语
an    名形词
b    区别词
begin
bg    区别语素
bl    区别词性惯用语
c    连词
cc    并列连词
d    副词
dg    辄,俱,复之类的副词
dl    连语
e    叹词
end    仅用于终##终
f    方位词
g    学术词汇
gb    生物相关词汇
gbc    生物类别
gc    化学相关词汇
gg    地理地质相关词汇
gi    计算机相关词汇
gm    数学相关词汇
gp    物理相关词汇
h    前缀
i    成语
j    简称略语
k    后缀
l    习用语
m    数词
mg    数语素
Mg    甲乙丙丁之类的数词<

### Java 中使用 HanLP 进行词性过滤 在 Java 中,HanLP 提供了强大的自然语言处理功能,其中包括分词和词性标注。为了实现词性过滤,可以利用 `NLPTokenizer` 类来进行分词并获取词语的词性标签。 #### 导入依赖项 首先,在项目中引入 HanLP 的 Maven 依赖: ```xml <dependency> <groupId>com.hankcs</groupId> <artifactId>hanlp</artifactId> <version>portable-1.7.6</version> </dependency> ``` #### 使用 NLPTokenizer 进行分词与词性标注 下面是一个简单的例子展示如何加载模型并对输入字符串执行分词操作,同时获得每个单词对应的词性标记[^2]。 ```java import com.hankcs.hanlp.HanLP; import com.hankcs.hanlp.seg.NLPTerm; public class WordPosFilter { public static void main(String[] args) { String sentence = "我喜欢阅读关于人工智能方面的书籍"; List<NLPTerm> termList = HanLP.segment(sentence); System.out.println("原始句子:" + sentence); System.out.print("分词结果:"); for (NLPTerm term : termList){ System.out.printf("[%s/%s]", term.word, term.nature); } System.out.println(); } } ``` 这段程序会输出如下内容: ``` 原始句子:我喜欢阅读关于人工智能方面的书籍 分词结果:[我/r][喜欢/v][阅读/vn][关于/p][人工智能/n][方面/n][的/u][书籍/n] ``` 这里 `/r`, `/v`, `/vn`, `/p`, `/n`, `/u` 是不同的词性的缩写形式,分别代代词、动词、名词性偏正结构、介词、普通名词以及助词等。 #### 实现特定词性筛选逻辑 可以根据实际需求定义哪些类型的词汇应该被保留下来。比如只想要名词(`n`)类别的词,则可以在遍历过程中加入条件判断: ```java // 只保留名词(n) for (NLPTerm term : termList){ if ("n".equals(term.nature.toString())){ filteredWords.add(term.word); } } System.out.println("经过词性过滤后的词语列表:" + filteredWords); ``` 这样就可以得到一个仅包含指定类别(如名词)的结果集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值