List of usage examples for org.jdom2.output XMLOutputter XMLOutputter
public XMLOutputter()
XMLOutputter
with a default Format and XMLOutputProcessor . From source file:es.uvigo.ei.sing.rubioseq.gui.view.models.experiments.MethylationExperiment.java
License:Open Source License
public void generateXMLConfigurationFile(File output) throws IOException { Document configurationFile = new Document(); Element configData = new Element(CONFIG_DATA); configurationFile.setRootElement(configData); configData.setAttribute(ExperimentUtils.BRANCH, ExperimentUtils.BRANCH_METHYLATION); Element referencePath = new Element(REFERENCEPATH); referencePath.addContent(this.getReferencePath().getFile().getAbsolutePath()); configurationFile.getRootElement().addContent(referencePath); Element readsPath = new Element(READSPATH); readsPath.addContent(this.getReadsPath().getFile().getAbsolutePath()); configurationFile.getRootElement().addContent(readsPath); Element projectCompletePath = new Element(PROJECT_COMPLETE_PATH); projectCompletePath.addContent(this.getProjectCompletePath().getFile().getAbsolutePath()); configurationFile.getRootElement().addContent(projectCompletePath); Element plattform = new Element(PLATTFORM); plattform.addContent(this.getPlattform().getDisplayName()); configurationFile.getRootElement().addContent(plattform); Element methylType = new Element(METHYLTYPE); methylType.addContent(this.getMethylType().toString()); configurationFile.getRootElement().addContent(methylType); for (MethylationSample ms : this.getSamples()) { Element sample1 = new Element(SAMPLE1); sample1.addContent(ms.getSample1().getFile().getName()); configurationFile.getRootElement().addContent(sample1); }/*ww w .j a va2 s. co m*/ for (MethylationSample ms : this.getSamples()) { if (ms.getSample2() != null) { Element sample2 = new Element(SAMPLE2); sample2.addContent(ms.getSample2().getFile().getName()); configurationFile.getRootElement().addContent(sample2); } } if (!this.getSeedLength().equals(seedLength_DV)) { Element seedLength = new Element(SEED_LENGTH); seedLength.addContent(this.getSeedLength().toString()); configurationFile.getRootElement().addContent(seedLength); } if (!this.getNumMis().equals(numMis_DV)) { Element numMiss = new Element(NUM_MIS); numMiss.addContent(this.getNumMis().toString()); configurationFile.getRootElement().addContent(numMiss); } if (this.getIntervalsPath() != intervalsPath_DV) { Element intervalsPath = new Element(INTERVALS); intervalsPath.addContent(this.getIntervalsPath().getFile().getAbsolutePath()); configurationFile.getRootElement().addContent(intervalsPath); } if (!this.getContextType().equals(contextType_DV)) { Element contextType = new Element(CONTEXT); contextType.addContent(this.getContextType().toString()); configurationFile.getRootElement().addContent(contextType); } if (!this.getTrimTagLength().equals(trimTagLength_DV)) { Element trimTagLength = new Element(TRIMTAGLENGTH); trimTagLength.addContent(this.getTrimTagLength()); configurationFile.getRootElement().addContent(trimTagLength); } if (!this.getMinQual().equals(minQual_DV)) { Element minQual = new Element(MINQUAL); minQual.addContent(this.getMinQual().toString()); configurationFile.getRootElement().addContent(minQual); } if (!this.getFastqc().equals(fastqc_DV)) { Element fastqc = new Element(FASTQC); fastqc.addContent(this.getFastqc().toString()); configurationFile.getRootElement().addContent(fastqc); } if (!this.getDepthFilter().equals(depthFilter_DV)) { Element depthFilter = new Element(DEPTHFILTER); depthFilter.addContent(this.getDepthFilter().toString()); configurationFile.getRootElement().addContent(depthFilter); } if (!this.getQueueSGEProject().equals(queueSGEProject_DV)) { Element queueProject = new Element(QUEUESGEPROJECT); queueProject.addContent(this.getQueueSGEProject().toString()); configurationFile.getRootElement().addContent(queueProject); } if (!this.getMultiExec().equals(multiExec_DV)) { Element multiExec = new Element(MULTIEXEC); multiExec.addContent(this.getMultiExec().toString()); configurationFile.getRootElement().addContent(multiExec); } XMLOutputter xmlOutput = new XMLOutputter(); xmlOutput.setFormat(Format.getPrettyFormat()); xmlOutput.output(configurationFile, new FileWriter(output)); }
From source file:es.uvigo.ei.sing.rubioseq.gui.view.models.experiments.SingleNucleotideVariantExperiment.java
License:Open Source License
public void generateXMLConfigurationFile(File output) throws IOException { Document configurationFile = new Document(); Element configData = new Element(CONFIG_DATA); configurationFile.setRootElement(configData); configData.setAttribute(ExperimentUtils.BRANCH, ExperimentUtils.BRANCH_SNV); Element genRef = new Element(GENREF); genRef.addContent(this.getGenRefPath().getFile().getAbsolutePath()); configurationFile.getRootElement().addContent(genRef); Element dbSnpAnnot = new Element(DBSNPANNOT); dbSnpAnnot.addContent(this.getDbSnpAnnotPath().getFile().getAbsolutePath()); configurationFile.getRootElement().addContent(dbSnpAnnot); Element genomes1000Annot = new Element(GENOMES1000ANNOT); genomes1000Annot.addContent(this.getGenomes1000AnnotPath().getFile().getAbsolutePath()); configurationFile.getRootElement().addContent(genomes1000Annot); Element indelAnnot = new Element(INDELANNOT); indelAnnot.addContent(this.getIndelAnnotPath().getFile().getAbsolutePath()); configurationFile.getRootElement().addContent(indelAnnot); if (this.getIntervalsPath() != getIntervalsPath_DV()) { Element intervals = new Element(INTERVALS); intervals.addContent(this.getIntervalsPath().getFile().getAbsolutePath()); configurationFile.getRootElement().addContent(intervals); }//from ww w . ja v a2 s . c om if (this.getKnownIndels().size() > 0) { for (KnownIndels kI : this.getKnownIndels()) { Element knownIndels = new Element(KNOWNINDELS); knownIndels.addContent(kI.getFile().getFile().getAbsolutePath()); configurationFile.getRootElement().addContent(knownIndels); } } Element plattform = new Element(PLATTFORM); plattform.addContent(this.getPlattform().getDisplayName()); configurationFile.getRootElement().addContent(plattform); if (!this.getCheckCasava().equals(checkCasava_DV)) { Element checkCasava = new Element(CHECKCASAVA); checkCasava.addContent(this.getCheckCasava().toString()); configurationFile.getRootElement().addContent(checkCasava); } Element dirOutBase = new Element(DIROUTBASE); dirOutBase.addContent(this.getDirOutBase().getFile().getAbsolutePath()); configurationFile.getRootElement().addContent(dirOutBase); Element projectId = new Element(PROJECTID); projectId.addContent(this.getProjectId()); configurationFile.getRootElement().addContent(projectId); if (!this.getUserName().equals(userName_DV)) { Element userName = new Element(USERNAME); userName.addContent(this.getUserName()); configurationFile.getRootElement().addContent(userName); } Element dataInDirpreProcess = new Element(INDIRPREPROCESS); dataInDirpreProcess.addContent(this.getDataInDirpreProcess().getFile().getAbsolutePath()); configurationFile.getRootElement().addContent(dataInDirpreProcess); for (Sample s : this.getSamples()) { Element sample = new Element(SAMPLE); Element sampleName = new Element(SAMPLE_NAME); sampleName.addContent(s.getSampleName()); sample.addContent(sampleName); Element sampleFiles = new Element(SAMPLE_FILES); sampleFiles.addContent(s.getSampleFiles()); sample.addContent(sampleFiles); Element sampleSuffix = new Element(SAMPLE_SUFFIX); sampleSuffix.addContent(s.getSampleSuffix()); sample.addContent(sampleSuffix); Element sampleType = new Element(SAMPLE_TYPE); sampleType.addContent(s.getSampleType().getDisplayName()); sample.addContent(sampleType); configurationFile.getRootElement().addContent(sample); } if (!this.getCallingType().equals(callingType_DV)) { Element callingType = new Element(CALLYING_TYPE); callingType.addContent(this.getCallingType().toString()); configurationFile.getRootElement().addContent(callingType); } if (!this.getgATKoutputMode().equals(gATKoutputMode_DV)) { Element gATKoutputModeoutputMode = new Element(GATKOUTPUTMODE); gATKoutputModeoutputMode.addContent(this.getgATKoutputMode().toString()); configurationFile.getRootElement().addContent(gATKoutputModeoutputMode); } if (!this.getRsFilter().equals(rsFilter_DV)) { Element rsFilter = new Element(RSFILTER); rsFilter.addContent(this.getRsFilter().toString()); configurationFile.getRootElement().addContent(rsFilter); } if (!this.getrUbioSeqMode().equals(rUbioSeqMode_DV)) { Element rUbioSeq_Mode = new Element(RUBIOSEQMODE); rUbioSeq_Mode.addContent(this.getrUbioSeqMode().toString()); configurationFile.getRootElement().addContent(rUbioSeq_Mode); } if (!this.getFastqc().equals(fastqc_DV)) { Element fastqc = new Element(FASTQC); fastqc.addContent(this.getFastqc().toString()); configurationFile.getRootElement().addContent(fastqc); } if (!this.getvEPFlag().equals(vEPFlag_DV)) { Element vEPFlag = new Element(VEPFLAG); vEPFlag.addContent(this.getvEPFlag().toString()); configurationFile.getRootElement().addContent(vEPFlag); } if (!this.gettCFlag().equals(tCFlag_DV)) { Element tCFlag = new Element(TCFLAG); tCFlag.addContent(this.gettCFlag().toString()); configurationFile.getRootElement().addContent(tCFlag); } if (!this.getmDFlag().equals(mDFlag_DV)) { Element mDFlag = new Element(MDFLAG); mDFlag.addContent(this.getmDFlag().toString()); configurationFile.getRootElement().addContent(mDFlag); } if (!this.getStandCallConf().equals(standCallConf_DV)) { Element standCallConf = new Element(STANDCALLCONF); standCallConf.addContent(this.getStandCallConf().toString()); configurationFile.getRootElement().addContent(standCallConf); } if (!this.getStandEmitConf().equals(standEmitConf_DV)) { Element standEmitConf = new Element(STANDEMITCONF); standEmitConf.addContent(this.getStandEmitConf().toString()); configurationFile.getRootElement().addContent(standEmitConf); } if (!this.getQueueSGEProject().equals(queueSGEProject_DV)) { Element queueSGEProject = new Element(QUEUESGEPROJECT); queueSGEProject.addContent(this.getQueueSGEProject().toString()); configurationFile.getRootElement().addContent(queueSGEProject); } if (this.getChoiceVqrsHardFilters().equals(VQRSHardFiltersChoice.VQRS) && this.getvQSRblockMills() != VQSRblockMills_DV && this.getvQSRblockHapMAp() != VQSRblockHapMAp_DV && this.getvQSRblockThousandG() != VQSRblockThousandG_DV) { Element vQSR_block = new Element(VQSRBLOCK); Element mills = new Element(MILLS); mills.addContent(this.getvQSRblockMills().getFile().getAbsolutePath()); vQSR_block.addContent(mills); Element hapmap = new Element(HAPMAP); hapmap.addContent(this.getvQSRblockHapMAp().getFile().getAbsolutePath()); vQSR_block.addContent(hapmap); Element thousandg = new Element(THOUSANDG); thousandg.addContent(this.getvQSRblockThousandG().getFile().getAbsolutePath()); vQSR_block.addContent(thousandg); configurationFile.getRootElement().addContent(vQSR_block); } if (this.getChoiceVqrsHardFilters().equals(VQRSHardFiltersChoice.HARDFILTERS) && (!this.getminQual().equals(minQual_DV) || !this.getdPmin().equals(DPmin_DV) || this.getHardFilters().size() > 0)) { Element hardFiltersBlock = new Element(HFILTERS); if (!this.getdPmin().equals(DPmin_DV)) { Element dpMin = new Element(DPMIN); dpMin.addContent(this.getdPmin().toString()); hardFiltersBlock.addContent(dpMin); } if (!this.getminQual().equals(minQual_DV)) { Element minQual = new Element(MINQUAL); minQual.addContent(this.getminQual().toString()); hardFiltersBlock.addContent(minQual); } for (HardFilter hF : this.getHardFilters()) { Element name = hF.getType().equals(HardFilter.HFilterType.SNP) ? new Element(HFILTER_NAME_SNP) : new Element(HFILTER_NAME_INDEL); name.addContent(hF.getName()); Element rule = hF.getType().equals(HardFilter.HFilterType.SNP) ? new Element(HFILTER_RULE_SNP) : new Element(HFILTER_RULE_INDEL); rule.addContent(hF.getRule()); hardFiltersBlock.addContent(name); hardFiltersBlock.addContent(rule); } configurationFile.getRootElement().addContent(hardFiltersBlock); } XMLOutputter xmlOutput = new XMLOutputter(); xmlOutput.setFormat(Format.getPrettyFormat()); xmlOutput.output(configurationFile, new FileWriter(output)); }
From source file:eu.himeros.cophi.ocr.proofreader.controller.pojo.HocrDocumentExistSaver.java
License:Open Source License
@Override public void save(Document hocrDocument, Map<String, Object> destination) { try {/* w w w . java 2 s .c o m*/ //String library=destination.get("library"); //String book=library+"/"+destination.get("book"); //String page=destination.get("page"); //String login=destination.get("login"); //String password=destination.get("password"); //Database database = (Database)(Class.forName("org.exist.xmldb.DatabaseImpl").newInstance()); //DatabaseManager.registerDatabase(database); //Collection col = DatabaseManager.getCollection(book,login,password); Collection libCol = (Collection) destination.get("library"); System.err.println(destination.get("library")); //System.err.println(((Collection)destination.get("library")).toString()); System.err.println((String) destination.get("book")); System.err .println(((Collection) libCol.getChildCollection((String) destination.get("book"))).toString()); System.err.println("err"); Collection bookCol = libCol.getChildCollection((String) destination.get("book")); XMLResource res = (XMLResource) bookCol.createResource((String) destination.get("page"), "XMLResource"); //DOMOutputter domOutputter=new DOMOutputter(); XMLOutputter xmlOutputter = new XMLOutputter(); String resStr = xmlOutputter.outputString(hocrDocument); //org.w3c.dom.Document domDoc=domOutputter.output(hocrDocument); res.setContent(resStr); System.err.println(resStr); bookCol.storeResource(res); ((EXistResource) res).freeResources(); } catch (XMLDBException ex) { Logger.getLogger(HocrDocumentExistSaver.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:eu.optimis.monitoring.amazoncollector.XMLHelper.java
License:Apache License
public static String createDocument(List<Measurement> measurements) { Element root = new Element(ROOT); Document doc = new Document(root); for (Measurement m : measurements) { root.addContent(createMonitoringResource(m)); }//from w ww. ja va 2 s.c o m XMLOutputter outputter = new XMLOutputter(); outputter.setFormat(Format.getPrettyFormat()); try { outputter.output(doc, new FileOutputStream("./aws.xml")); } catch (FileNotFoundException ex) { Logger.getLogger(XMLHelper.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(XMLHelper.class.getName()).log(Level.SEVERE, null, ex); } String xmlResult = outputter.outputString(doc); String result = xmlResult.replace("encoding=\"UTF-8\"", ""); //System.out.println (result); return result; }
From source file:eus.ixa.ixa.pipe.convert.AbsaSemEval.java
License:Apache License
public static String nafToAbsa2015(String inputNAF) throws IOException { Path kafPath = Paths.get(inputNAF); KAFDocument kaf = KAFDocument.createFromFile(kafPath.toFile()); Set<String> reviewIds = getReviewIdsFromXpathAttribute(kaf); // root element in ABSA 2015 and 2016 format Element reviewsElem = new Element("Reviews"); Document doc = new Document(reviewsElem); // creating Reviews children of Review for (String reviewId : reviewIds) { Element reviewElem = new Element("Review"); reviewElem.setAttribute("rid", reviewId); Element sentencesElem = new Element("sentences"); // getting the sentences in the review List<List<WF>> sentencesByReview = getSentencesByReview(kaf, reviewId); for (List<WF> sent : sentencesByReview) { String sentId = sent.get(0).getXpath(); Integer sentNumber = sent.get(0).getSent(); // getting text element from word forms in NAF String textString = NAFUtils.getSentenceStringFromWFs(sent); Element sentenceElem = new Element("sentence"); sentenceElem.setAttribute("id", sentId); Element textElem = new Element("text"); textElem.setText(textString); sentenceElem.addContent(textElem); // creating opinions element for sentence List<Opinion> opinionsBySentence = getOpinionsBySentence(kaf, sentNumber); Element opinionsElem = new Element("Opinions"); if (!opinionsBySentence.isEmpty()) { // getting opinion info from NAF Opinion layer for (Opinion opinion : opinionsBySentence) { Element opinionElem = new Element("Opinion"); // String polarity = opinion.getOpinionExpression().getPolarity(); String category = opinion.getOpinionExpression().getSentimentProductFeature(); String targetString = opinion.getStr(); int fromOffset = opinion.getOpinionTarget().getTerms().get(0).getWFs().get(0).getOffset(); List<WF> targetWFs = opinion.getOpinionTarget().getTerms() .get(opinion.getOpinionTarget().getTerms().size() - 1).getWFs(); int toOffset = targetWFs.get(targetWFs.size() - 1).getOffset() + targetWFs.get(targetWFs.size() - 1).getLength(); opinionElem.setAttribute("target", targetString); opinionElem.setAttribute("category", category); // TODO we still do not have polarity here opinionElem.setAttribute("polarity", "na"); opinionElem.setAttribute("from", Integer.toString(fromOffset)); opinionElem.setAttribute("to", Integer.toString(toOffset)); opinionsElem.addContent(opinionElem); }/*from w w w . j a v a 2s . c o m*/ } sentenceElem.addContent(opinionsElem); sentencesElem.addContent(sentenceElem); } reviewElem.addContent(sentencesElem); reviewsElem.addContent(reviewElem); } // end of review XMLOutputter xmlOutput = new XMLOutputter(); Format format = Format.getPrettyFormat(); xmlOutput.setFormat(format); return xmlOutput.outputString(doc); }
From source file:eus.ixa.ixa.pipe.convert.AbsaSemEval.java
License:Apache License
public static String nafToAbsa2014(String kafDocument) { KAFDocument kaf = null;/*from w w w. j a v a 2 s . co m*/ try { Path kafPath = Paths.get(kafDocument); kaf = KAFDocument.createFromFile(kafPath.toFile()); } catch (IOException e) { e.printStackTrace(); } Element sentencesElem = new Element("sentences"); Document doc = new Document(sentencesElem); for (List<WF> sent : kaf.getSentences()) { String sentId = sent.get(0).getXpath(); Integer sentNumber = sent.get(0).getSent(); // getting text element from WFs in NAF String textString = NAFUtils.getSentenceStringFromWFs(sent); Element sentenceElem = new Element("sentence"); sentenceElem.setAttribute("id", sentId); Element textElem = new Element("text"); textElem.setText(textString); sentenceElem.addContent(textElem); // creating opinions element for sentence List<Opinion> opinionsBySentence = getOpinionsBySentence(kaf, sentNumber); if (!opinionsBySentence.isEmpty()) { Element aspectTerms = new Element("aspectTerms"); // getting opinion info from NAF Opinion layer for (Opinion opinion : opinionsBySentence) { String polarity = ""; String targetString = opinion.getStr(); int fromOffset = opinion.getOpinionTarget().getTerms().get(0).getWFs().get(0).getOffset(); List<WF> targetWFs = opinion.getOpinionTarget().getTerms() .get(opinion.getOpinionTarget().getTerms().size() - 1).getWFs(); int toOffset = targetWFs.get(targetWFs.size() - 1).getOffset() + targetWFs.get(targetWFs.size() - 1).getLength(); Element aspectTerm = new Element("aspectTerm"); aspectTerm.setAttribute("term", targetString); aspectTerm.setAttribute("polarity", polarity); aspectTerm.setAttribute("from", Integer.toString(fromOffset)); aspectTerm.setAttribute("to", Integer.toString(toOffset)); aspectTerms.addContent(aspectTerm); } sentenceElem.addContent(aspectTerms); } sentencesElem.addContent(sentenceElem); } XMLOutputter xmlOutput = new XMLOutputter(); Format format = Format.getPrettyFormat(); xmlOutput.setFormat(format); return xmlOutput.outputString(doc); }
From source file:eus.ixa.ixa.pipe.ml.document.features.DocumentFeatureDescriptor.java
License:Apache License
/** * Generate the XML feature descriptor from the docTrainer.properties file. * //from w w w.j a v a 2 s. com * @param params * the properties file * @return the XML feature descriptor * @throws IOException * if input output fails */ public static String createDocumentFeatureDescriptor(final TrainingParameters params) throws IOException { // <generators> final Element generators = new Element("generators"); final Document doc = new Document(generators); // <custom bagofwords /. if (Flags.isBagOfWordsFeature(params)) { final String tokenFeatureRange = Flags.getBagOfWordsFeaturesRange(params); final Element tokenFeature = new Element("custom"); tokenFeature.setAttribute("class", BagOfWordsFeatureGenerator.class.getName()); tokenFeature.setAttribute("range", tokenFeatureRange); generators.addContent(tokenFeature); System.err.println("-> BOW features added!"); } if (Flags.isTokenClassFeature(params)) { final String tokenClassFeatureRange = Flags.getTokenClassFeaturesRange(params); final Element tokenClassFeature = new Element("custom"); tokenClassFeature.setAttribute("class", DocTokenClassFeatureGenerator.class.getName()); tokenClassFeature.setAttribute("range", tokenClassFeatureRange); generators.addContent(tokenClassFeature); System.err.println("-> Token Class Features added!"); } if (Flags.isOutcomePriorFeature(params)) { final Element outcomePriorFeature = new Element("custom"); outcomePriorFeature.setAttribute("class", DocOutcomePriorFeatureGenerator.class.getName()); generators.addContent(outcomePriorFeature); System.err.println("-> Outcome Prior Features added!"); } if (Flags.isSentenceFeature(params)) { final String beginSentence = Flags.getSentenceFeaturesBegin(params); final String endSentence = Flags.getSentenceFeaturesEnd(params); final Element sentenceFeature = new Element("custom"); sentenceFeature.setAttribute("class", DocSentenceFeatureGenerator.class.getName()); sentenceFeature.setAttribute("begin", beginSentence); sentenceFeature.setAttribute("end", endSentence); generators.addContent(sentenceFeature); System.err.println("-> Sentence Features added!"); } if (Flags.isPrefixFeature(params)) { final String beginPrefix = Flags.getPrefixFeaturesBegin(params); final String endPrefix = Flags.getPrefixFeaturesEnd(params); final Element prefixFeature = new Element("custom"); prefixFeature.setAttribute("class", DocPrefixFeatureGenerator.class.getName()); prefixFeature.setAttribute("begin", beginPrefix); prefixFeature.setAttribute("end", endPrefix); generators.addContent(prefixFeature); System.err.println("-> Prefix Features added!"); } if (Flags.isSuffixFeature(params)) { final String beginSuffix = Flags.getSuffixFeaturesBegin(params); final String endSuffix = Flags.getSuffixFeaturesEnd(params); final Element suffixFeature = new Element("custom"); suffixFeature.setAttribute("class", DocSuffixFeatureGenerator.class.getName()); suffixFeature.setAttribute("begin", beginSuffix); suffixFeature.setAttribute("end", endSuffix); generators.addContent(suffixFeature); System.err.println("-> Suffix Features added!"); } if (Flags.isNgramFeature(params)) { final String charngramRange = Flags.getNgramFeaturesRange(params); final String[] rangeArray = Flags.processNgramRange(charngramRange); final Element charngramFeature = new Element("custom"); charngramFeature.setAttribute("class", NGramFeatureGenerator.class.getName()); charngramFeature.setAttribute("minLength", rangeArray[0]); charngramFeature.setAttribute("maxLength", rangeArray[1]); generators.addContent(charngramFeature); System.err.println("-> Ngram Features added!"); } if (Flags.isCharNgramClassFeature(params)) { final String charngramRange = Flags.getCharNgramFeaturesRange(params); final String[] rangeArray = Flags.processNgramRange(charngramRange); final Element charngramFeature = new Element("custom"); charngramFeature.setAttribute("class", DocCharacterNgramFeatureGenerator.class.getName()); charngramFeature.setAttribute("minLength", rangeArray[0]); charngramFeature.setAttribute("maxLength", rangeArray[1]); generators.addContent(charngramFeature); System.err.println("-> CharNgram Class Features added!"); } // Polarity Dictionary Features if (Flags.isDictionaryPolarityFeatures(params)) { final String dictPath = Flags.getDictionaryPolarityFeatures(params); final List<File> fileList = StringUtils.getFilesInDir(new File(dictPath)); for (final File dictFile : fileList) { final Element dictFeatures = new Element("custom"); dictFeatures.setAttribute("class", DocPolarityDictionaryFeatureGenerator.class.getName()); dictFeatures.setAttribute("dict", IOUtils.normalizeLexiconName(dictFile.getName())); generators.addContent(dictFeatures); } System.err.println("-> Dictionary Features added!"); } // Frequent Word Features if (Flags.isFrequentWordFeatures(params)) { final String dictPath = Flags.getFrequentWordFeatures(params); final List<File> fileList = StringUtils.getFilesInDir(new File(dictPath)); for (final File dictFile : fileList) { final Element dictFeatures = new Element("custom"); dictFeatures.setAttribute("class", FrequentWordFeatureGenerator.class.getName()); dictFeatures.setAttribute("dict", IOUtils.normalizeLexiconName(dictFile.getName())); generators.addContent(dictFeatures); } System.err.println("-> Frequent Word Features added!"); } //Opinion Target Extraction Features if (Flags.isTargetFeatures(params)) { final String targetModelPath = Flags.getTargetFeatures(params); final String targetModelRange = Flags.getTargetFeaturesRange(params); final Element targetClassFeatureElement = new Element("custom"); targetClassFeatureElement.setAttribute("class", DocTargetFeatureGenerator.class.getName()); targetClassFeatureElement.setAttribute("model", IOUtils.normalizeLexiconName(new File(targetModelPath).getName())); targetClassFeatureElement.setAttribute("range", targetModelRange); generators.addContent(targetClassFeatureElement); System.err.println("-> Target Model Features added!"); } // Dictionary Features if (Flags.isDictionaryFeatures(params)) { final String dictPath = Flags.getDictionaryFeatures(params); final String seqCodec = Flags.getSequenceCodec(params); final List<File> fileList = StringUtils.getFilesInDir(new File(dictPath)); for (final File dictFile : fileList) { final Element dictFeatures = new Element("custom"); dictFeatures.setAttribute("class", DocDictionaryFeatureGenerator.class.getName()); dictFeatures.setAttribute("dict", IOUtils.normalizeLexiconName(dictFile.getName())); dictFeatures.setAttribute("seqCodec", seqCodec); generators.addContent(dictFeatures); } System.err.println("-> Dictionary Features added!"); } // Brown clustering features if (Flags.isBrownFeatures(params)) { final String brownClusterPath = Flags.getBrownFeatures(params); final List<File> brownClusterFiles = Flags.getClusterLexiconFiles(brownClusterPath); for (final File brownClusterFile : brownClusterFiles) { // brown bigram class features final Element brownBigramFeatures = new Element("custom"); brownBigramFeatures.setAttribute("class", DocBrownBigramFeatureGenerator.class.getName()); brownBigramFeatures.setAttribute("dict", IOUtils.normalizeLexiconName(brownClusterFile.getName())); //generators.addContent(brownBigramFeatures); // brown token feature final Element brownTokenFeature = new Element("custom"); brownTokenFeature.setAttribute("class", DocBrownTokenFeatureGenerator.class.getName()); brownTokenFeature.setAttribute("dict", IOUtils.normalizeLexiconName(brownClusterFile.getName())); generators.addContent(brownTokenFeature); // brown token class feature final Element brownTokenClassFeature = new Element("custom"); brownTokenClassFeature.setAttribute("class", DocBrownTokenClassFeatureGenerator.class.getName()); brownTokenClassFeature.setAttribute("dict", IOUtils.normalizeLexiconName(brownClusterFile.getName())); //generators.addContent(brownTokenClassFeature); } System.err.println("-> Brown Cluster Features added!"); } // Clark clustering features if (Flags.isClarkFeatures(params)) { final String clarkClusterPath = Flags.getClarkFeatures(params); final List<File> clarkClusterFiles = Flags.getClusterLexiconFiles(clarkClusterPath); for (final File clarkCluster : clarkClusterFiles) { final Element clarkFeatures = new Element("custom"); clarkFeatures.setAttribute("class", DocClarkFeatureGenerator.class.getName()); clarkFeatures.setAttribute("dict", IOUtils.normalizeLexiconName(clarkCluster.getName())); generators.addContent(clarkFeatures); } System.err.println("-> Clark Cluster Features added!"); } // word2vec clustering features if (Flags.isWord2VecClusterFeatures(params)) { final String word2vecClusterPath = Flags.getWord2VecClusterFeatures(params); final List<File> word2vecClusterFiles = Flags.getClusterLexiconFiles(word2vecClusterPath); for (final File word2vecFile : word2vecClusterFiles) { final Element word2vecClusterFeatures = new Element("custom"); word2vecClusterFeatures.setAttribute("class", DocWord2VecClusterFeatureGenerator.class.getName()); word2vecClusterFeatures.setAttribute("dict", IOUtils.normalizeLexiconName(word2vecFile.getName())); generators.addContent(word2vecClusterFeatures); } System.err.println("-> Word2Vec Clusters Features added!"); } // Morphological features if (Flags.isPOSTagModelFeatures(params)) { final String posModelPath = Flags.getPOSTagModelFeatures(params); final String posModelRange = Flags.getPOSTagModelFeaturesRange(params); final Element posTagClassFeatureElement = new Element("custom"); posTagClassFeatureElement.setAttribute("class", DocPOSTagModelFeatureGenerator.class.getName()); posTagClassFeatureElement.setAttribute("model", IOUtils.normalizeLexiconName(new File(posModelPath).getName())); posTagClassFeatureElement.setAttribute("range", posModelRange); generators.addContent(posTagClassFeatureElement); System.err.println("-> POSTagModel Features added!"); } if (Flags.isLemmaModelFeatures(params)) { final String lemmaModelPath = Flags.getLemmaModelFeatures(params); final Element lemmaClassFeatureElement = new Element("custom"); lemmaClassFeatureElement.setAttribute("class", DocLemmaModelFeatureGenerator.class.getName()); lemmaClassFeatureElement.setAttribute("model", IOUtils.normalizeLexiconName(new File(lemmaModelPath).getName())); generators.addContent(lemmaClassFeatureElement); System.err.println("-> LemmaModel Features added!"); } if (Flags.isLemmaDictionaryFeatures(params)) { final String lemmaDictPath = Flags.getLemmaDictionaryFeatures(params); final String[] lemmaDictResources = Flags.getLemmaDictionaryResources(lemmaDictPath); final Element lemmaClassFeatureElement = new Element("custom"); lemmaClassFeatureElement.setAttribute("class", DocLemmaDictionaryFeatureGenerator.class.getName()); lemmaClassFeatureElement.setAttribute("model", IOUtils.normalizeLexiconName(new File(lemmaDictResources[0]).getName())); lemmaClassFeatureElement.setAttribute("dict", IOUtils.normalizeLexiconName(new File(lemmaDictResources[1]).getName())); generators.addContent(lemmaClassFeatureElement); System.err.println("-> LemmaDictionary Features added!"); } final XMLOutputter xmlOutput = new XMLOutputter(); final Format format = Format.getPrettyFormat(); xmlOutput.setFormat(format); return xmlOutput.outputString(doc); }
From source file:eus.ixa.ixa.pipe.ml.features.XMLFeatureDescriptor.java
License:Apache License
/** * Generate the XML feature descriptor from the TrainingParameters prop file. * @param params the properties file//from w ww.j a va 2 s .c o m * @return the XML feature descriptor * @throws IOException if input output fails */ public static String createXMLFeatureDescriptor(TrainingParameters params) throws IOException { Element aggGenerators = new Element("generators"); Document doc = new Document(aggGenerators); //<generators> // <cache> // <generators> Element cached = new Element("cache"); Element generators = new Element("generators"); //<window prevLength="2" nextLength="2"> // <token /> //</window> if (Flags.isTokenFeature(params)) { setWindow(params); String tokenFeatureRange = Flags.getTokenFeaturesRange(params); Element tokenFeature = new Element("custom"); tokenFeature.setAttribute("class", TokenFeatureGenerator.class.getName()); tokenFeature.setAttribute("range", tokenFeatureRange); Element tokenWindow = new Element("window"); tokenWindow.setAttribute("prevLength", Integer.toString(leftWindow)); tokenWindow.setAttribute("nextLength", Integer.toString(rightWindow)); tokenWindow.addContent(tokenFeature); generators.addContent(tokenWindow); System.err.println("-> Token features added!: Window range " + leftWindow + ":" + rightWindow); } if (Flags.isTokenClassFeature(params)) { setWindow(params); String tokenClassFeatureRange = Flags.getTokenClassFeaturesRange(params); Element tokenClassFeature = new Element("custom"); tokenClassFeature.setAttribute("class", TokenClassFeatureGenerator.class.getName()); tokenClassFeature.setAttribute("range", tokenClassFeatureRange); Element tokenClassWindow = new Element("window"); tokenClassWindow.setAttribute("prevLength", Integer.toString(leftWindow)); tokenClassWindow.setAttribute("nextLength", Integer.toString(rightWindow)); tokenClassWindow.addContent(tokenClassFeature); generators.addContent(tokenClassWindow); System.err.println("-> Token Class Features added!: Window range " + leftWindow + ":" + rightWindow); } if (Flags.isWordShapeSuperSenseFeature(params)) { setWindow(params); Element wordShapeSuperSenseFeature = new Element("custom"); wordShapeSuperSenseFeature.setAttribute("class", WordShapeSuperSenseFeatureGenerator.class.getName()); Element wordShapeWindow = new Element("window"); wordShapeWindow.setAttribute("prevLength", Integer.toString(leftWindow)); wordShapeWindow.setAttribute("nextLength", Integer.toString(rightWindow)); wordShapeWindow.addContent(wordShapeSuperSenseFeature); generators.addContent(wordShapeWindow); System.err.println( "-> Word Shape SuperSense Features added!: Window range " + leftWindow + ":" + rightWindow); } if (Flags.isOutcomePriorFeature(params)) { Element outcomePriorFeature = new Element("custom"); outcomePriorFeature.setAttribute("class", OutcomePriorFeatureGenerator.class.getName()); generators.addContent(outcomePriorFeature); System.err.println("-> Outcome Prior Features added!"); } if (Flags.isPreviousMapFeature(params)) { Element previousMapFeature = new Element("custom"); previousMapFeature.setAttribute("class", PreviousMapFeatureGenerator.class.getName()); generators.addContent(previousMapFeature); System.err.println("-> Previous Map Features added!"); } if (Flags.isSentenceFeature(params)) { String beginSentence = Flags.getSentenceFeaturesBegin(params); String endSentence = Flags.getSentenceFeaturesEnd(params); Element sentenceFeature = new Element("custom"); sentenceFeature.setAttribute("class", SentenceFeatureGenerator.class.getName()); sentenceFeature.setAttribute("begin", beginSentence); sentenceFeature.setAttribute("end", endSentence); generators.addContent(sentenceFeature); System.err.println("-> Sentence Features added!"); } if (Flags.isPrefixFeature(params)) { String beginPrefix = Flags.getPrefixFeaturesBegin(params); String endPrefix = Flags.getPrefixFeaturesEnd(params); Element prefixFeature = new Element("custom"); prefixFeature.setAttribute("class", PrefixFeatureGenerator.class.getName()); prefixFeature.setAttribute("begin", beginPrefix); prefixFeature.setAttribute("end", endPrefix); generators.addContent(prefixFeature); System.err.println("-> Prefix Features added!"); } if (Flags.isSuffixFeature(params)) { String beginSuffix = Flags.getSuffixFeaturesBegin(params); String endSuffix = Flags.getSuffixFeaturesEnd(params); Element suffixFeature = new Element("custom"); suffixFeature.setAttribute("class", SuffixFeatureGenerator.class.getName()); suffixFeature.setAttribute("begin", beginSuffix); suffixFeature.setAttribute("end", endSuffix); generators.addContent(suffixFeature); System.err.println("-> Suffix Features added!"); } if (Flags.isBigramClassFeature(params)) { Element bigramFeature = new Element("custom"); bigramFeature.setAttribute("class", BigramClassFeatureGenerator.class.getName()); generators.addContent(bigramFeature); System.err.println("-> Bigram Class Features added!"); } if (Flags.isTrigramClassFeature(params)) { Element trigramFeature = new Element("custom"); trigramFeature.setAttribute("class", TrigramClassFeatureGenerator.class.getName()); generators.addContent(trigramFeature); System.err.println("-> Trigram Class Features added!"); } if (Flags.isFourgramClassFeature(params)) { Element fourgramFeature = new Element("custom"); fourgramFeature.setAttribute("class", FourgramClassFeatureGenerator.class.getName()); generators.addContent(fourgramFeature); System.err.println("-> Fourgram Class Features added!"); } if (Flags.isFivegramClassFeature(params)) { Element fivegramFeature = new Element("custom"); fivegramFeature.setAttribute("class", FivegramClassFeatureGenerator.class.getName()); generators.addContent(fivegramFeature); System.err.println("-> Fivegram Class Features added!"); } if (Flags.isCharNgramClassFeature(params)) { String charngramRange = Flags.getCharNgramFeaturesRange(params); String[] rangeArray = Flags.processNgramRange(charngramRange); Element charngramFeature = new Element("custom"); charngramFeature.setAttribute("class", CharacterNgramFeatureGenerator.class.getName()); charngramFeature.setAttribute("minLength", rangeArray[0]); charngramFeature.setAttribute("maxLength", rangeArray[1]); generators.addContent(charngramFeature); System.err.println("-> CharNgram Class Features added!"); } //Dictionary Features if (Flags.isDictionaryFeatures(params)) { setWindow(params); String dictPath = Flags.getDictionaryFeatures(params); String seqCodec = Flags.getSequenceCodec(params); List<File> fileList = StringUtils.getFilesInDir(new File(dictPath)); for (File dictFile : fileList) { Element dictFeatures = new Element("custom"); dictFeatures.setAttribute("class", DictionaryFeatureGenerator.class.getName()); dictFeatures.setAttribute("dict", IOUtils.normalizeLexiconName(dictFile.getName())); dictFeatures.setAttribute("seqCodec", seqCodec); Element dictWindow = new Element("window"); dictWindow.setAttribute("prevLength", Integer.toString(leftWindow)); dictWindow.setAttribute("nextLength", Integer.toString(rightWindow)); dictWindow.addContent(dictFeatures); generators.addContent(dictWindow); } System.err.println("-> Dictionary Features added!"); } //Brown clustering features if (Flags.isBrownFeatures(params)) { setWindow(params); //previous 2 maps features Element prev2MapFeature = new Element("custom"); prev2MapFeature.setAttribute("class", Prev2MapFeatureGenerator.class.getName()); //generators.addContent(prev2MapFeature); //previous map and token feature (in window) Element prevMapTokenFeature = new Element("custom"); prevMapTokenFeature.setAttribute("class", PreviousMapTokenFeatureGenerator.class.getName()); Element prevMapTokenWindow = new Element("window"); prevMapTokenWindow.setAttribute("prevLength", Integer.toString(leftWindow)); prevMapTokenWindow.setAttribute("nextLength", Integer.toString(rightWindow)); prevMapTokenWindow.addContent(prevMapTokenFeature); //generators.addContent(prevMapTokenWindow); //brown clustering features String brownClusterPath = Flags.getBrownFeatures(params); List<File> brownClusterFiles = Flags.getClusterLexiconFiles(brownClusterPath); for (File brownClusterFile : brownClusterFiles) { //brown bigram class features Element brownBigramFeatures = new Element("custom"); brownBigramFeatures.setAttribute("class", BrownBigramFeatureGenerator.class.getName()); brownBigramFeatures.setAttribute("dict", IOUtils.normalizeLexiconName(brownClusterFile.getName())); generators.addContent(brownBigramFeatures); //brown token feature Element brownTokenFeature = new Element("custom"); brownTokenFeature.setAttribute("class", BrownTokenFeatureGenerator.class.getName()); brownTokenFeature.setAttribute("dict", IOUtils.normalizeLexiconName(brownClusterFile.getName())); Element brownTokenWindow = new Element("window"); brownTokenWindow.setAttribute("prevLength", Integer.toString(leftWindow)); brownTokenWindow.setAttribute("nextLength", Integer.toString(rightWindow)); brownTokenWindow.addContent(brownTokenFeature); generators.addContent(brownTokenWindow); //brown token class feature Element brownTokenClassFeature = new Element("custom"); brownTokenClassFeature.setAttribute("class", BrownTokenClassFeatureGenerator.class.getName()); brownTokenClassFeature.setAttribute("dict", IOUtils.normalizeLexiconName(brownClusterFile.getName())); Element brownTokenClassWindow = new Element("window"); brownTokenClassWindow.setAttribute("prevLength", Integer.toString(leftWindow)); brownTokenClassWindow.setAttribute("nextLength", Integer.toString(rightWindow)); brownTokenClassWindow.addContent(brownTokenClassFeature); generators.addContent(brownTokenClassWindow); } System.err.println("-> Brown Cluster Features added!"); } //Clark clustering features if (Flags.isClarkFeatures(params)) { setWindow(params); String clarkClusterPath = Flags.getClarkFeatures(params); List<File> clarkClusterFiles = Flags.getClusterLexiconFiles(clarkClusterPath); for (File clarkCluster : clarkClusterFiles) { Element clarkFeatures = new Element("custom"); clarkFeatures.setAttribute("class", ClarkFeatureGenerator.class.getName()); clarkFeatures.setAttribute("dict", IOUtils.normalizeLexiconName(clarkCluster.getName())); Element clarkWindow = new Element("window"); clarkWindow.setAttribute("prevLength", Integer.toString(leftWindow)); clarkWindow.setAttribute("nextLength", Integer.toString(rightWindow)); clarkWindow.addContent(clarkFeatures); generators.addContent(clarkWindow); } System.err.println("-> Clark Cluster Features added!"); } //word2vec clustering features if (Flags.isWord2VecClusterFeatures(params)) { setWindow(params); String word2vecClusterPath = Flags.getWord2VecClusterFeatures(params); List<File> word2vecClusterFiles = Flags.getClusterLexiconFiles(word2vecClusterPath); for (File word2vecFile : word2vecClusterFiles) { Element word2vecClusterFeatures = new Element("custom"); word2vecClusterFeatures.setAttribute("class", Word2VecClusterFeatureGenerator.class.getName()); word2vecClusterFeatures.setAttribute("dict", IOUtils.normalizeLexiconName(word2vecFile.getName())); Element word2vecClusterWindow = new Element("window"); word2vecClusterWindow.setAttribute("prevLength", Integer.toString(leftWindow)); word2vecClusterWindow.setAttribute("nextLength", Integer.toString(rightWindow)); word2vecClusterWindow.addContent(word2vecClusterFeatures); generators.addContent(word2vecClusterWindow); } System.err.println("-> Word2Vec Clusters Features added!"); } //Morphological features if (Flags.isPOSTagModelFeatures(params)) { setWindow(params); String posModelPath = Flags.getPOSTagModelFeatures(params); String posModelRange = Flags.getPOSTagModelFeaturesRange(params); Element posTagClassFeatureElement = new Element("custom"); posTagClassFeatureElement.setAttribute("class", POSTagModelFeatureGenerator.class.getName()); posTagClassFeatureElement.setAttribute("model", IOUtils.normalizeLexiconName(new File(posModelPath).getName())); posTagClassFeatureElement.setAttribute("range", posModelRange); Element posTagClassFeatureWindow = new Element("window"); posTagClassFeatureWindow.setAttribute("prevLength", Integer.toString(leftWindow)); posTagClassFeatureWindow.setAttribute("nextLength", Integer.toString(rightWindow)); posTagClassFeatureWindow.addContent(posTagClassFeatureElement); generators.addContent(posTagClassFeatureWindow); System.err.println("-> POSTagModel Features added!"); } if (Flags.isPOSDictionaryFeatures(params)) { setWindow(params); String posDictPath = Flags.getPOSDictionaryFeatures(params); Element posDictFeatures = new Element("custom"); posDictFeatures.setAttribute("class", POSDictionaryFeatureGenerator.class.getName()); posDictFeatures.setAttribute("dict", IOUtils.normalizeLexiconName(new File(posDictPath).getName())); Element posDictWindow = new Element("window"); posDictWindow.setAttribute("prevLength", Integer.toString(leftWindow)); posDictWindow.setAttribute("nextLength", Integer.toString(rightWindow)); posDictWindow.addContent(posDictFeatures); generators.addContent(posDictWindow); System.err.println("-> POSDictionary Features added!"); } if (Flags.isLemmaModelFeatures(params)) { setWindow(params); String lemmaModelPath = Flags.getLemmaModelFeatures(params); Element lemmaClassFeatureElement = new Element("custom"); lemmaClassFeatureElement.setAttribute("class", LemmaModelFeatureGenerator.class.getName()); lemmaClassFeatureElement.setAttribute("model", IOUtils.normalizeLexiconName(new File(lemmaModelPath).getName())); Element lemmaClassFeatureWindow = new Element("window"); lemmaClassFeatureWindow.setAttribute("prevLength", Integer.toString(leftWindow)); lemmaClassFeatureWindow.setAttribute("nextLength", Integer.toString(rightWindow)); lemmaClassFeatureWindow.addContent(lemmaClassFeatureElement); generators.addContent(lemmaClassFeatureWindow); System.err.println("-> LemmaModel Features added!"); } if (Flags.isLemmaDictionaryFeatures(params)) { setWindow(params); String lemmaDictPath = Flags.getLemmaDictionaryFeatures(params); String[] lemmaDictResources = Flags.getLemmaDictionaryResources(lemmaDictPath); Element lemmaClassFeatureElement = new Element("custom"); lemmaClassFeatureElement.setAttribute("class", LemmaDictionaryFeatureGenerator.class.getName()); lemmaClassFeatureElement.setAttribute("model", IOUtils.normalizeLexiconName(new File(lemmaDictResources[0]).getName())); lemmaClassFeatureElement.setAttribute("dict", IOUtils.normalizeLexiconName(new File(lemmaDictResources[1]).getName())); Element lemmaClassFeatureWindow = new Element("window"); lemmaClassFeatureWindow.setAttribute("prevLength", Integer.toString(leftWindow)); lemmaClassFeatureWindow.setAttribute("nextLength", Integer.toString(rightWindow)); lemmaClassFeatureWindow.addContent(lemmaClassFeatureElement); generators.addContent(lemmaClassFeatureWindow); System.err.println("-> LemmaDictionary Features added!"); } if (Flags.isMFSFeatures(params)) { setWindow(params); String mfsPath = Flags.getMFSFeatures(params); String[] mfsResources = Flags.getMFSResources(mfsPath); String mfsRange = Flags.getMFSFeaturesRange(params); String seqCodec = Flags.getSequenceCodec(params); Element mfsClassFeatureElement = new Element("custom"); mfsClassFeatureElement.setAttribute("class", MFSFeatureGenerator.class.getName()); mfsClassFeatureElement.setAttribute("model", IOUtils.normalizeLexiconName(new File(mfsResources[0]).getName())); mfsClassFeatureElement.setAttribute("dict", IOUtils.normalizeLexiconName(new File(mfsResources[1]).getName())); mfsClassFeatureElement.setAttribute("mfs", IOUtils.normalizeLexiconName(new File(mfsResources[2]).getName())); mfsClassFeatureElement.setAttribute("range", mfsRange); mfsClassFeatureElement.setAttribute("seqCodec", seqCodec); Element mfsClassFeatureWindow = new Element("window"); mfsClassFeatureWindow.setAttribute("prevLength", Integer.toString(leftWindow)); mfsClassFeatureWindow.setAttribute("nextLength", Integer.toString(rightWindow)); mfsClassFeatureWindow.addContent(mfsClassFeatureElement); generators.addContent(mfsClassFeatureWindow); System.err.println("-> MFS Features added"); } if (Flags.isSuperSenseFeatures(params)) { String mfsPath = Flags.getSuperSenseFeatures(params); String[] mfsResources = Flags.getSuperSenseResources(mfsPath); String mfsRange = Flags.getSuperSenseFeaturesRange(params); String seqCodec = Flags.getSequenceCodec(params); Element mfsClassFeatureElement = new Element("custom"); mfsClassFeatureElement.setAttribute("class", SuperSenseFeatureGenerator.class.getName()); mfsClassFeatureElement.setAttribute("model", IOUtils.normalizeLexiconName(new File(mfsResources[0]).getName())); mfsClassFeatureElement.setAttribute("dict", IOUtils.normalizeLexiconName(new File(mfsResources[1]).getName())); mfsClassFeatureElement.setAttribute("mfs", IOUtils.normalizeLexiconName(new File(mfsResources[2]).getName())); mfsClassFeatureElement.setAttribute("range", mfsRange); mfsClassFeatureElement.setAttribute("seqCodec", seqCodec); generators.addContent(mfsClassFeatureElement); System.err.println("-> SuperSense Features added!"); } if (Flags.isPOSBaselineFeatures(params)) { String beginPrefix = Flags.getPrefixBegin(params); String endPrefix = Flags.getPrefixEnd(params); String beginSuffix = Flags.getSuffixBegin(params); String endSuffix = Flags.getSuffixEnd(params); Element posFeatureElement = new Element("custom"); posFeatureElement.setAttribute("class", POSBaselineContextGenerator.class.getName()); posFeatureElement.setAttribute("prefBegin", beginPrefix); posFeatureElement.setAttribute("prefEnd", endPrefix); posFeatureElement.setAttribute("sufBegin", beginSuffix); posFeatureElement.setAttribute("sufEnd", endSuffix); generators.addContent(posFeatureElement); System.err.println("-> POS Baseline Context Generator added!"); } if (Flags.isLemmaBaselineFeatures(params)) { String beginPrefix = Flags.getPrefixBegin(params); String endPrefix = Flags.getPrefixEnd(params); String beginSuffix = Flags.getSuffixBegin(params); String endSuffix = Flags.getSuffixEnd(params); String posModel = Flags.getLemmaBaselineFeatures(params); String lemmaRange = Flags.getLemmaBaselineFeaturesRange(params); Element lemmaFeatureElement = new Element("custom"); lemmaFeatureElement.setAttribute("class", LemmaBaselineContextGenerator.class.getName()); lemmaFeatureElement.setAttribute("prefBegin", beginPrefix); lemmaFeatureElement.setAttribute("prefEnd", endPrefix); lemmaFeatureElement.setAttribute("sufBegin", beginSuffix); lemmaFeatureElement.setAttribute("sufEnd", endSuffix); lemmaFeatureElement.setAttribute("model", IOUtils.normalizeLexiconName(new File(posModel).getName())); lemmaFeatureElement.setAttribute("range", lemmaRange); generators.addContent(lemmaFeatureElement); System.err.println("-> Lemma Baseline Context Generator added!"); } if (Flags.isChunkBaselineFeatures(params)) { String posModel = Flags.getChunkBaselineFeatures(params); Element chunkFeatureElement = new Element("custom"); chunkFeatureElement.setAttribute("class", ChunkBaselineContextGenerator.class.getName()); chunkFeatureElement.setAttribute("model", IOUtils.normalizeLexiconName(new File(posModel).getName())); generators.addContent(chunkFeatureElement); System.err.println("-> Chunk Baseline Context Generator added!"); } if (Flags.isPredicateContextFeatures(params)) { String predicateContextFile = Flags.getPredicateContextFeatures(params); Element predicateContextFeatureElement = new Element("custom"); predicateContextFeatureElement.setAttribute("class", PredicateContextFeatureGenerator.class.getName()); predicateContextFeatureElement.setAttribute("dict", IOUtils.normalizeLexiconName(new File(predicateContextFile).getName())); generators.addContent(predicateContextFeatureElement); System.err.println("-> Predicate Context Generator added!"); } aggGenerators.addContent(cached); cached.addContent(generators); XMLOutputter xmlOutput = new XMLOutputter(); Format format = Format.getPrettyFormat(); xmlOutput.setFormat(format); return xmlOutput.outputString(doc); }
From source file:eus.ixa.ixa.pipe.nerc.features.XMLFeatureDescriptor.java
License:Apache License
/** * Generate the XML feature descriptor from the TrainingParameters prop file. * @param params the properties file//from w w w . j a v a 2 s. co m * @return the XML feature descriptor * @throws IOException if input output fails */ public static String createXMLFeatureDescriptor(TrainingParameters params) throws IOException { Element aggGenerators = new Element("generators"); Document doc = new Document(aggGenerators); //<generators> // <cache> // <generators> Element cached = new Element("cache"); Element generators = new Element("generators"); //<window prevLength="2" nextLength="2"> // <token /> //</window> if (Flags.isTokenFeature(params)) { setWindow(params); Element tokenFeature = new Element("custom"); tokenFeature.setAttribute("class", TokenFeatureGenerator.class.getName()); Element tokenWindow = new Element("window"); tokenWindow.setAttribute("prevLength", Integer.toString(leftWindow)); tokenWindow.setAttribute("nextLength", Integer.toString(rightWindow)); tokenWindow.addContent(tokenFeature); generators.addContent(tokenWindow); System.err.println("-> Token features added!: Window range " + leftWindow + ":" + rightWindow); } if (Flags.isTokenClassFeature(params)) { setWindow(params); Element tokenClassFeature = new Element("custom"); tokenClassFeature.setAttribute("class", TokenClassFeatureGenerator.class.getName()); Element tokenClassWindow = new Element("window"); tokenClassWindow.setAttribute("prevLength", Integer.toString(leftWindow)); tokenClassWindow.setAttribute("nextLength", Integer.toString(rightWindow)); tokenClassWindow.addContent(tokenClassFeature); generators.addContent(tokenClassWindow); System.err.println("-> Token Class Features added!: Window range " + leftWindow + ":" + rightWindow); } if (Flags.isWordShapeSuperSenseFeature(params)) { setWindow(params); Element wordShapeSuperSenseFeature = new Element("custom"); wordShapeSuperSenseFeature.setAttribute("class", WordShapeSuperSenseFeatureGenerator.class.getName()); Element wordShapeWindow = new Element("window"); wordShapeWindow.setAttribute("prevLength", Integer.toString(leftWindow)); wordShapeWindow.setAttribute("nextLength", Integer.toString(rightWindow)); wordShapeWindow.addContent(wordShapeSuperSenseFeature); generators.addContent(wordShapeWindow); System.err.println( "-> Word Shape SuperSense Features added!: Window range " + leftWindow + ":" + rightWindow); } if (Flags.isOutcomePriorFeature(params)) { Element outcomePriorFeature = new Element("custom"); outcomePriorFeature.setAttribute("class", OutcomePriorFeatureGenerator.class.getName()); generators.addContent(outcomePriorFeature); System.err.println("-> Outcome Prior Features added!"); } if (Flags.isPreviousMapFeature(params)) { Element previousMapFeature = new Element("custom"); previousMapFeature.setAttribute("class", PreviousMapFeatureGenerator.class.getName()); generators.addContent(previousMapFeature); System.err.println("-> Previous Map Features added!"); } if (Flags.isSentenceFeature(params)) { Element sentenceFeature = new Element("custom"); sentenceFeature.setAttribute("class", SentenceFeatureGenerator.class.getName()); sentenceFeature.setAttribute("begin", "true"); sentenceFeature.setAttribute("end", "false"); generators.addContent(sentenceFeature); System.err.println("-> Sentence Features added!"); } if (Flags.isPrefixFeature(params)) { Element prefixFeature = new Element("custom"); prefixFeature.setAttribute("class", Prefix34FeatureGenerator.class.getName()); generators.addContent(prefixFeature); System.err.println("-> Prefix Features added!"); } if (Flags.isSuffixFeature(params)) { Element suffixFeature = new Element("custom"); suffixFeature.setAttribute("class", SuffixFeatureGenerator.class.getName()); generators.addContent(suffixFeature); System.err.println("-> Suffix Features added!"); } if (Flags.isBigramClassFeature(params)) { Element bigramFeature = new Element("custom"); bigramFeature.setAttribute("class", BigramClassFeatureGenerator.class.getName()); generators.addContent(bigramFeature); System.err.println("-> Bigram Class Features added!"); } if (Flags.isTrigramClassFeature(params)) { Element trigramFeature = new Element("custom"); trigramFeature.setAttribute("class", TrigramClassFeatureGenerator.class.getName()); generators.addContent(trigramFeature); System.err.println("-> Trigram Class Features added!"); } if (Flags.isFourgramClassFeature(params)) { Element fourgramFeature = new Element("custom"); fourgramFeature.setAttribute("class", FourgramClassFeatureGenerator.class.getName()); generators.addContent(fourgramFeature); System.err.println("-> Fourgram Class Features added!"); } if (Flags.isFivegramClassFeature(params)) { Element fivegramFeature = new Element("custom"); fivegramFeature.setAttribute("class", FivegramClassFeatureGenerator.class.getName()); generators.addContent(fivegramFeature); System.err.println("-> Fivegram Class Features added!"); } if (Flags.isCharNgramClassFeature(params)) { setNgramRange(params); Element charngramFeature = new Element("custom"); charngramFeature.setAttribute("class", CharacterNgramFeatureGenerator.class.getName()); charngramFeature.setAttribute("minLength", Integer.toString(minCharNgram)); charngramFeature.setAttribute("maxLength", Integer.toString(maxCharNgram)); generators.addContent(charngramFeature); System.err.println("-> CharNgram Class Features added!"); } //Dictionary Features if (Flags.isDictionaryFeatures(params)) { setWindow(params); String dictPath = Flags.getDictionaryFeatures(params); String seqCodec = Flags.getSequenceCodec(params); List<File> fileList = StringUtils.getFilesInDir(new File(dictPath)); for (File dictFile : fileList) { Element dictFeatures = new Element("custom"); dictFeatures.setAttribute("class", DictionaryFeatureGenerator.class.getName()); dictFeatures.setAttribute("dict", InputOutputUtils.normalizeLexiconName(dictFile.getName())); dictFeatures.setAttribute("seqCodec", seqCodec); Element dictWindow = new Element("window"); dictWindow.setAttribute("prevLength", Integer.toString(leftWindow)); dictWindow.setAttribute("nextLength", Integer.toString(rightWindow)); dictWindow.addContent(dictFeatures); generators.addContent(dictWindow); } System.err.println("-> Dictionary Features added!"); } //Brown clustering features if (Flags.isBrownFeatures(params)) { setWindow(params); //previous 2 maps features Element prev2MapFeature = new Element("custom"); prev2MapFeature.setAttribute("class", Prev2MapFeatureGenerator.class.getName()); generators.addContent(prev2MapFeature); //previous map and token feature (in window) Element prevMapTokenFeature = new Element("custom"); prevMapTokenFeature.setAttribute("class", PreviousMapTokenFeatureGenerator.class.getName()); Element prevMapTokenWindow = new Element("window"); prevMapTokenWindow.setAttribute("prevLength", Integer.toString(leftWindow)); prevMapTokenWindow.setAttribute("nextLength", Integer.toString(rightWindow)); prevMapTokenWindow.addContent(prevMapTokenFeature); generators.addContent(prevMapTokenWindow); //brown clustering features String brownClusterPath = Flags.getBrownFeatures(params); List<File> brownClusterFiles = Flags.getClusterLexiconFiles(brownClusterPath); for (File brownClusterFile : brownClusterFiles) { //brown bigram class features Element brownBigramFeatures = new Element("custom"); brownBigramFeatures.setAttribute("class", BrownBigramFeatureGenerator.class.getName()); brownBigramFeatures.setAttribute("dict", InputOutputUtils.normalizeLexiconName(brownClusterFile.getName())); generators.addContent(brownBigramFeatures); //brown token feature Element brownTokenFeature = new Element("custom"); brownTokenFeature.setAttribute("class", BrownTokenFeatureGenerator.class.getName()); brownTokenFeature.setAttribute("dict", InputOutputUtils.normalizeLexiconName(brownClusterFile.getName())); Element brownTokenWindow = new Element("window"); brownTokenWindow.setAttribute("prevLength", Integer.toString(leftWindow)); brownTokenWindow.setAttribute("nextLength", Integer.toString(rightWindow)); brownTokenWindow.addContent(brownTokenFeature); generators.addContent(brownTokenWindow); //brown token class feature Element brownTokenClassFeature = new Element("custom"); brownTokenClassFeature.setAttribute("class", BrownTokenClassFeatureGenerator.class.getName()); brownTokenClassFeature.setAttribute("dict", InputOutputUtils.normalizeLexiconName(brownClusterFile.getName())); Element brownTokenClassWindow = new Element("window"); brownTokenClassWindow.setAttribute("prevLength", Integer.toString(leftWindow)); brownTokenClassWindow.setAttribute("nextLength", Integer.toString(rightWindow)); brownTokenClassWindow.addContent(brownTokenClassFeature); generators.addContent(brownTokenClassWindow); } System.err.println("-> Brown Cluster Features added!"); } //Clark clustering features if (Flags.isClarkFeatures(params)) { setWindow(params); String clarkClusterPath = Flags.getClarkFeatures(params); List<File> clarkClusterFiles = Flags.getClusterLexiconFiles(clarkClusterPath); for (File clarkCluster : clarkClusterFiles) { Element clarkFeatures = new Element("custom"); clarkFeatures.setAttribute("class", ClarkFeatureGenerator.class.getName()); clarkFeatures.setAttribute("dict", InputOutputUtils.normalizeLexiconName(clarkCluster.getName())); Element clarkWindow = new Element("window"); clarkWindow.setAttribute("prevLength", Integer.toString(leftWindow)); clarkWindow.setAttribute("nextLength", Integer.toString(rightWindow)); clarkWindow.addContent(clarkFeatures); generators.addContent(clarkWindow); } System.err.println("-> Clark Cluster Features added!"); } //word2vec clustering features if (Flags.isWord2VecClusterFeatures(params)) { setWindow(params); String word2vecClusterPath = Flags.getWord2VecClusterFeatures(params); List<File> word2vecClusterFiles = Flags.getClusterLexiconFiles(word2vecClusterPath); for (File word2vecFile : word2vecClusterFiles) { Element word2vecClusterFeatures = new Element("custom"); word2vecClusterFeatures.setAttribute("class", Word2VecClusterFeatureGenerator.class.getName()); word2vecClusterFeatures.setAttribute("dict", InputOutputUtils.normalizeLexiconName(word2vecFile.getName())); Element word2vecClusterWindow = new Element("window"); word2vecClusterWindow.setAttribute("prevLength", Integer.toString(leftWindow)); word2vecClusterWindow.setAttribute("nextLength", Integer.toString(rightWindow)); word2vecClusterWindow.addContent(word2vecClusterFeatures); generators.addContent(word2vecClusterWindow); } System.err.println("-> Word2Vec Clusters Features added!"); } //Morphological features if (Flags.isMorphoFeatures(params)) { setWindow(params); String morphoPath = Flags.getMorphoFeatures(params); String[] morphoResources = Flags.getMorphoResources(morphoPath); String morphoRange = Flags.getMorphoFeaturesRange(params); Element morphoClassFeatureElement = new Element("custom"); morphoClassFeatureElement.setAttribute("class", MorphoFeatureGenerator.class.getName()); morphoClassFeatureElement.setAttribute("model", InputOutputUtils.normalizeLexiconName(new File(morphoResources[0]).getName())); morphoClassFeatureElement.setAttribute("dict", InputOutputUtils.normalizeLexiconName(new File(morphoResources[1]).getName())); morphoClassFeatureElement.setAttribute("range", morphoRange); Element morphoClassFeatureWindow = new Element("window"); morphoClassFeatureWindow.setAttribute("prevLength", Integer.toString(leftWindow)); morphoClassFeatureWindow.setAttribute("nextLength", Integer.toString(rightWindow)); morphoClassFeatureWindow.addContent(morphoClassFeatureElement); generators.addContent(morphoClassFeatureWindow); System.err.println("-> Morphological Features added!"); } if (Flags.isMFSFeatures(params)) { setWindow(params); String mfsPath = Flags.getMFSFeatures(params); String[] mfsResources = Flags.getMFSResources(mfsPath); String mfsRange = Flags.getMFSFeaturesRange(params); String seqCodec = Flags.getSequenceCodec(params); Element mfsClassFeatureElement = new Element("custom"); mfsClassFeatureElement.setAttribute("class", MFSFeatureGenerator.class.getName()); mfsClassFeatureElement.setAttribute("model", InputOutputUtils.normalizeLexiconName(new File(mfsResources[0]).getName())); mfsClassFeatureElement.setAttribute("dict", InputOutputUtils.normalizeLexiconName(new File(mfsResources[1]).getName())); mfsClassFeatureElement.setAttribute("mfs", InputOutputUtils.normalizeLexiconName(new File(mfsResources[2]).getName())); mfsClassFeatureElement.setAttribute("range", mfsRange); mfsClassFeatureElement.setAttribute("seqCodec", seqCodec); Element mfsClassFeatureWindow = new Element("window"); mfsClassFeatureWindow.setAttribute("prevLength", Integer.toString(leftWindow)); mfsClassFeatureWindow.setAttribute("nextLength", Integer.toString(rightWindow)); mfsClassFeatureWindow.addContent(mfsClassFeatureElement); generators.addContent(mfsClassFeatureWindow); System.err.println("-> MFS Features added"); } if (Flags.isSuperSenseFeatures(params)) { String mfsPath = Flags.getSuperSenseFeatures(params); String[] mfsResources = Flags.getSuperSenseResources(mfsPath); String mfsRange = Flags.getSuperSenseFeaturesRange(params); String seqCodec = Flags.getSequenceCodec(params); Element mfsClassFeatureElement = new Element("custom"); mfsClassFeatureElement.setAttribute("class", SuperSenseFeatureGenerator.class.getName()); mfsClassFeatureElement.setAttribute("model", InputOutputUtils.normalizeLexiconName(new File(mfsResources[0]).getName())); mfsClassFeatureElement.setAttribute("dict", InputOutputUtils.normalizeLexiconName(new File(mfsResources[1]).getName())); mfsClassFeatureElement.setAttribute("mfs", InputOutputUtils.normalizeLexiconName(new File(mfsResources[2]).getName())); mfsClassFeatureElement.setAttribute("range", mfsRange); mfsClassFeatureElement.setAttribute("seqCodec", seqCodec); generators.addContent(mfsClassFeatureElement); System.err.println("-> SuperSense Features added!"); } aggGenerators.addContent(cached); cached.addContent(generators); XMLOutputter xmlOutput = new XMLOutputter(); Format format = Format.getPrettyFormat(); xmlOutput.setFormat(format); return xmlOutput.outputString(doc); }
From source file:facturacion.controller.FacturaController.java
public void crearArchivo() { try {/* ww w .java 2 s . c o m*/ DOMBuilder builder = new DOMBuilder(); org.jdom2.Document jdom = builder.build((new DOMOutputter()).output(facturaXml.getDoc())); XMLOutputter xmlOutput = new XMLOutputter(); xmlOutput.setFormat(Format.getPrettyFormat()); FileWriter a = new FileWriter("C:\\tributasoft\\prueba\\filePrueba" + this.factura.getPunto_emision() + this.factura.getNumero_factura() + ".xml"); xmlOutput.output(jdom, a); a.close(); facturaXml.getClaveAcceso(); System.out.println("----> firmar factura +++ 16==" + facturaXml.getClaveAcceso()); } catch (JDOMException e) { // TODO Auto-generated catch block System.out.println("----> firmar factura +++ 1"); e.printStackTrace(); } catch (NullPointerException e) { // TODO Auto-generated catch block System.out.println("----> firmar factura +++ 2"); e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }