赞
踩
n元语法模型在这里不进行介绍,大家可以根据这两篇博客了解下:关于N-Gram模型或者自然语言处理中的N-Gram。
写这篇博客主要是要用到OpenNLP中的ngram模型(我用的opennlp-tools-1.7.0,版本,opennlp.tools.ngram包中),在这里对里面的类和方法的功能简要介绍。
一、NGramGenerator 类
1.功能:对给定的序列使用自定义的分隔符生成一个ngram,并将所有的ngram存储在String类型的List中
2.方法:
(1)public static List<String> generate(List<String> input, int n, String separator){...}
String类型的List作为输入input,用户根据n自定义要生成几元语法类型(n = 2,3 为bigram或者trigram),并且根据separator自定义字符分割标签
(2)public static List<String> generate(char[] input, int n, String separator){...}
该方法除了输入类型为char型数组外,与上一方法用法一样
3.例子:
- public class App
- {
- public static void main( String[] args )
- {
- String setence = "我爱自然语言处理。";
- char[] ch = setence.toCharArray();
-
- List<String> trigram = NGramGenerator.generate(ch, 3, "/");
-
- System.out.println(trigram);
- }
- }
该程序运行的结果为:[我/爱/自, 爱/自/然, 自/然/语, 然/语/言, 语/言/处, 言/处/理, 处/理/。]
二、NGramModel类
1.功能:用来生成ngrams 和 character ngrams
2.方法:
(1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。