• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java POSDictionary类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中opennlp.tools.postag.POSDictionary的典型用法代码示例。如果您正苦于以下问题:Java POSDictionary类的具体用法?Java POSDictionary怎么用?Java POSDictionary使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



POSDictionary类属于opennlp.tools.postag包,在下文中一共展示了POSDictionary类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: convertLemmaToPOSDict

import opennlp.tools.postag.POSDictionary; //导入依赖的package包/类
/**
 * Convert a lemma dictionary (word lemma postag) into a
 * {@code POSTaggerDictionary}. It saves the resulting file with the name of
 * the original dictionary changing the extension to .xml.
 * 
 * @param lemmaDict
 *          the input file
 * @throws IOException
 *           if io problems
 */
public static void convertLemmaToPOSDict(Path lemmaDict) throws IOException {
  // process one file
  if (Files.isRegularFile(lemmaDict)) {
    List<String> inputLines = Files.readAllLines(lemmaDict,
        StandardCharsets.UTF_8);
    Path outFile = Files.createFile(Paths.get(lemmaDict.toString() + ".xml"));
    POSDictionary posTagDict = getPOSTaggerDict(inputLines);
    OutputStream outputStream = Files.newOutputStream(outFile);
    posTagDict.serialize(outputStream);
    outputStream.close();
    System.err.println(
        ">> Serialized Apache OpenNLP POSDictionary format to " + outFile);
  } else {
    System.out.println("Please choose a valid file as input.");
    System.exit(1);
  }
}
 
开发者ID:ragerri,项目名称:ixa-pipe-convert,代码行数:28,代码来源:Convert.java


示例2: getPOSTaggerDict

import opennlp.tools.postag.POSDictionary; //导入依赖的package包/类
/**
 * Generates {@code POSDictionary} from a list of monosemic words and its
 * postag. form\tab\lemma\tabpostag
 * 
 * @param inputLines
 *          the list of words and postag per line
 * @return the POSDictionary
 */
private static POSDictionary getPOSTaggerDict(List<String> inputLines) {
  POSDictionary posTaggerDict = new POSDictionary();
  ListMultimap<String, String> dictMultiMap = ArrayListMultimap.create();
  for (String line : inputLines) {
    String[] lineArray = line.split("\t");
    if (lineArray.length == 3) {
      if (!lineArray[0].contains("<")) {
        dictMultiMap.put(lineArray[0], lineArray[2]);
      }
    }
  }
  for (String token : dictMultiMap.keySet()) {
    List<String> tags = dictMultiMap.get(token);
    // add only monosemic words
    if (tags.size() == 1) {
      posTaggerDict.put(token, tags.toArray(new String[tags.size()]));
    }
  }
  return posTaggerDict;
}
 
开发者ID:ragerri,项目名称:ixa-pipe-convert,代码行数:29,代码来源:Convert.java


示例3: addLemmaToPOSDict

import opennlp.tools.postag.POSDictionary; //导入依赖的package包/类
/**
 * Aggregates a lemma dictionary (word lemma postag) into a
 * {@code POSTaggerDictionary}. It saves the resulting file with the name of
 * the original lemma dictionary changing the extension to .xml.
 * 
 * @param lemmaDict
 *          the input file
 * @throws IOException
 *           if io problems
 */
public static void addLemmaToPOSDict(Path lemmaDict, Path posTaggerDict)
    throws IOException {
  // process one file
  if (Files.isRegularFile(lemmaDict) && Files.isRegularFile(posTaggerDict)) {
    InputStream posDictInputStream = Files.newInputStream(posTaggerDict);
    POSDictionary posDict = POSDictionary.create(posDictInputStream);
    List<String> inputLines = Files.readAllLines(lemmaDict);
    Path outFile = Paths.get(lemmaDict.toString() + ".xml");
    addPOSTaggerDict(inputLines, posDict);
    OutputStream outputStream = Files.newOutputStream(outFile);
    posDict.serialize(outputStream);
    outputStream.close();
    System.err.println(
        ">> Serialized Apache OpenNLP POSDictionary format to " + outFile);
  } else {
    System.out.println("Please choose a valid files as input.");
    System.exit(1);
  }
}
 
开发者ID:ragerri,项目名称:ixa-pipe-convert,代码行数:30,代码来源:Convert.java


示例4: addPOSTaggerDict

import opennlp.tools.postag.POSDictionary; //导入依赖的package包/类
/**
 * Aggregates {@code POSDictionary} from a list of words and its postag.
 * 
 * @param inputLines
 *          the list of words and postag per line
 * @param tagDict
 *          the POSDictionary to which the lemma dictionary will be added
 */
private static void addPOSTaggerDict(List<String> inputLines,
    POSDictionary tagDict) {
  ListMultimap<String, String> dictMultiMap = ArrayListMultimap.create();
  for (String line : inputLines) {
    String[] lineArray = line.split(" ");
    if (lineArray.length == 2) {
      dictMultiMap.put(lineArray[0], lineArray[1]);
    }
  }
  for (String token : dictMultiMap.keySet()) {
    List<String> tags = dictMultiMap.get(token);
    if (tags.size() == 1) {
      tagDict.put(token, tags.toArray(new String[tags.size()]));
    }
  }
}
 
开发者ID:ragerri,项目名称:ixa-pipe-convert,代码行数:25,代码来源:Convert.java


示例5: createPosTagger

import opennlp.tools.postag.POSDictionary; //导入依赖的package包/类
/**
 * Creates the part of speech tagger from a model file and a case sensitive
 * tag dictionary.
 * 
 * @param model model file
 * @param tagdict case sensitive tag dictionary
 * @return true, iff the POS tagger was created successfully
 */
public static boolean createPosTagger(String model, String tagdict) {
	try {
		// create POS tagger, use case sensitive tag dictionary
		tagger = new PosTagger(model, new POSDictionary(tagdict, true));
	} catch (IOException e) {
		return false;
	}
	
	return true;
}
 
开发者ID:claritylab,项目名称:lucida,代码行数:19,代码来源:OpenNLP.java


示例6: trainPOS

import opennlp.tools.postag.POSDictionary; //导入依赖的package包/类
public static void trainPOS(final String inResource, String outFile) throws IOException {
    InputStreamFactory inputStreamFactory = new InputStreamFactory() {
        @Override
        public InputStream createInputStream() throws IOException {
            return Trainer.class.getResourceAsStream(inResource);
        }
    };
    WordTagSampleStream samples = new WordTagSampleStream(new PlainTextByLineStream(inputStreamFactory, StandardCharsets.UTF_8));
    TrainingParameters trainingParameters = new TrainingParameters();
    trainingParameters.put(TrainingParameters.ALGORITHM_PARAM, ModelType.MAXENT.name());
    trainingParameters.put(TrainingParameters.ITERATIONS_PARAM, "100");
    trainingParameters.put(TrainingParameters.CUTOFF_PARAM, "5");
    Dictionary ngramDictionary = null;
    POSDictionary posDictionary = null;
    POSTaggerFactory posTaggerFactory = POSTaggerFactory.create(null, ngramDictionary, posDictionary);
    POSModel model = POSTaggerME.train("en", samples, trainingParameters, posTaggerFactory);
    //POSTaggerME.train("en", samples, ModelType.MAXENT, null, null, 5, 100);
    samples.close();
    FileOutputStream out = new FileOutputStream(outFile);
    model.serialize(out);
    out.close();
}
 
开发者ID:jprante,项目名称:elasticsearch-analysis-opennlp,代码行数:23,代码来源:Trainer.java



注:本文中的opennlp.tools.postag.POSDictionary类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java OutputBuffer类代码示例发布时间:2022-05-22
下一篇:
Java ImageUtils类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap