Search in sources :

Example 81 with DecimalFormat

use of java.text.DecimalFormat in project j2objc by google.

the class DecimalFormatTest method testSetZeroDigitForFormatting.

public void testSetZeroDigitForFormatting() {
    DecimalFormatSymbols decimalFormatSymbols = new DecimalFormatSymbols();
    decimalFormatSymbols.setZeroDigit('a');
    DecimalFormat formatter = new DecimalFormat();
    formatter.setDecimalFormatSymbols(decimalFormatSymbols);
    formatter.applyLocalizedPattern("#");
    assertEquals("eadacab", formatter.format(4030201));
}
Also used : DecimalFormatSymbols(java.text.DecimalFormatSymbols) DecimalFormat(java.text.DecimalFormat)

Example 82 with DecimalFormat

use of java.text.DecimalFormat in project CoreNLP by stanfordnlp.

the class TaggingEval method display.

@Override
public void display(boolean verbose, PrintWriter pw) {
    super.display(verbose, pw);
    if (doCatLevelEval) {
        final NumberFormat nf = new DecimalFormat("0.00");
        final Set<String> cats = Generics.newHashSet();
        final Random rand = new Random();
        cats.addAll(precisions.keySet());
        cats.addAll(recalls.keySet());
        Map<Double, String> f1Map = new TreeMap<>();
        for (String cat : cats) {
            double pnum2 = pnums2.getCount(cat);
            double rnum2 = rnums2.getCount(cat);
            double prec = precisions2.getCount(cat) / pnum2;
            double rec = recalls2.getCount(cat) / rnum2;
            double f1 = 2.0 / (1.0 / prec + 1.0 / rec);
            if (new Double(f1).equals(Double.NaN))
                f1 = -1.0;
            if (f1Map.containsKey(f1))
                f1Map.put(f1 + (rand.nextDouble() / 1000.0), cat);
            else
                f1Map.put(f1, cat);
        }
        pw.println("============================================================");
        pw.println("Tagging Performance by Category -- final statistics");
        pw.println("============================================================");
        for (String cat : f1Map.values()) {
            double pnum2 = pnums2.getCount(cat);
            double rnum2 = rnums2.getCount(cat);
            double prec = precisions2.getCount(cat) / pnum2;
            prec *= 100.0;
            double rec = recalls2.getCount(cat) / rnum2;
            rec *= 100.0;
            double f1 = 2.0 / (1.0 / prec + 1.0 / rec);
            double oovRate = (lex == null) ? -1.0 : percentOOV.getCount(cat) / percentOOV2.getCount(cat);
            pw.println(cat + "\tLP: " + ((pnum2 == 0.0) ? " N/A" : nf.format(prec)) + "\tguessed: " + (int) pnum2 + "\tLR: " + ((rnum2 == 0.0) ? " N/A" : nf.format(rec)) + "\tgold:  " + (int) rnum2 + "\tF1: " + ((pnum2 == 0.0 || rnum2 == 0.0) ? " N/A" : nf.format(f1)) + "\tOOV: " + ((lex == null) ? " N/A" : nf.format(oovRate)));
        }
        pw.println("============================================================");
    }
}
Also used : Random(java.util.Random) DecimalFormat(java.text.DecimalFormat) TreeMap(java.util.TreeMap) NumberFormat(java.text.NumberFormat)

Example 83 with DecimalFormat

use of java.text.DecimalFormat in project CoreNLP by stanfordnlp.

the class ParseFiles method parseFiles.

public void parseFiles(String[] args, int argIndex, boolean tokenized, TokenizerFactory<? extends HasWord> tokenizerFactory, String elementDelimiter, String sentenceDelimiter, Function<List<HasWord>, List<HasWord>> escaper, String tagDelimiter) {
    final DocType docType = (elementDelimiter == null) ? DocType.Plain : DocType.XML;
    if (op.testOptions.verbose) {
        if (tokenizerFactory != null)
            pwErr.println("parseFiles: Tokenizer factory is: " + tokenizerFactory);
    }
    final Timing timer = new Timing();
    //Loop over the files
    for (int i = argIndex; i < args.length; i++) {
        final String filename = args[i];
        final DocumentPreprocessor documentPreprocessor;
        if (filename.equals("-")) {
            try {
                documentPreprocessor = new DocumentPreprocessor(IOUtils.readerFromStdin(op.tlpParams.getInputEncoding()), docType);
            } catch (IOException e) {
                throw new RuntimeIOException(e);
            }
        } else {
            documentPreprocessor = new DocumentPreprocessor(filename, docType, op.tlpParams.getInputEncoding());
        }
        //Unused values are null per the main() method invocation below
        //null is the default for these properties
        documentPreprocessor.setSentenceFinalPuncWords(tlp.sentenceFinalPunctuationWords());
        documentPreprocessor.setEscaper(escaper);
        documentPreprocessor.setSentenceDelimiter(sentenceDelimiter);
        documentPreprocessor.setTagDelimiter(tagDelimiter);
        documentPreprocessor.setElementDelimiter(elementDelimiter);
        if (tokenizerFactory == null)
            documentPreprocessor.setTokenizerFactory((tokenized) ? null : tlp.getTokenizerFactory());
        else
            documentPreprocessor.setTokenizerFactory(tokenizerFactory);
        //Setup the output
        PrintWriter pwo = pwOut;
        if (op.testOptions.writeOutputFiles) {
            String normalizedName = filename;
            try {
                // this will exception if not a URL
                new URL(normalizedName);
                normalizedName = normalizedName.replaceAll("/", "_");
            } catch (MalformedURLException e) {
            //It isn't a URL, so silently ignore
            }
            String ext = (op.testOptions.outputFilesExtension == null) ? "stp" : op.testOptions.outputFilesExtension;
            String fname = normalizedName + '.' + ext;
            if (op.testOptions.outputFilesDirectory != null && !op.testOptions.outputFilesDirectory.isEmpty()) {
                String fseparator = System.getProperty("file.separator");
                if (fseparator == null || fseparator.isEmpty()) {
                    fseparator = "/";
                }
                File fnameFile = new File(fname);
                fname = op.testOptions.outputFilesDirectory + fseparator + fnameFile.getName();
            }
            try {
                pwo = op.tlpParams.pw(new FileOutputStream(fname));
            } catch (IOException ioe) {
                throw new RuntimeIOException(ioe);
            }
        }
        treePrint.printHeader(pwo, op.tlpParams.getOutputEncoding());
        pwErr.println("Parsing file: " + filename);
        int num = 0;
        int numProcessed = 0;
        if (op.testOptions.testingThreads != 1) {
            MulticoreWrapper<List<? extends HasWord>, ParserQuery> wrapper = new MulticoreWrapper<>(op.testOptions.testingThreads, new ParsingThreadsafeProcessor(pqFactory, pwErr));
            for (List<HasWord> sentence : documentPreprocessor) {
                num++;
                numSents++;
                int len = sentence.size();
                numWords += len;
                pwErr.println("Parsing [sent. " + num + " len. " + len + "]: " + SentenceUtils.listToString(sentence, true));
                wrapper.put(sentence);
                while (wrapper.peek()) {
                    ParserQuery pq = wrapper.poll();
                    processResults(pq, numProcessed++, pwo);
                }
            }
            wrapper.join();
            while (wrapper.peek()) {
                ParserQuery pq = wrapper.poll();
                processResults(pq, numProcessed++, pwo);
            }
        } else {
            ParserQuery pq = pqFactory.parserQuery();
            for (List<HasWord> sentence : documentPreprocessor) {
                num++;
                numSents++;
                int len = sentence.size();
                numWords += len;
                pwErr.println("Parsing [sent. " + num + " len. " + len + "]: " + SentenceUtils.listToString(sentence, true));
                pq.parseAndReport(sentence, pwErr);
                processResults(pq, numProcessed++, pwo);
            }
        }
        treePrint.printFooter(pwo);
        if (op.testOptions.writeOutputFiles)
            pwo.close();
        pwErr.println("Parsed file: " + filename + " [" + num + " sentences].");
    }
    long millis = timer.stop();
    if (summary) {
        if (pcfgLL != null)
            pcfgLL.display(false, pwErr);
        if (depLL != null)
            depLL.display(false, pwErr);
        if (factLL != null)
            factLL.display(false, pwErr);
    }
    if (saidMemMessage) {
        ParserUtils.printOutOfMemory(pwErr);
    }
    double wordspersec = numWords / (((double) millis) / 1000);
    double sentspersec = numSents / (((double) millis) / 1000);
    // easier way!
    NumberFormat nf = new DecimalFormat("0.00");
    pwErr.println("Parsed " + numWords + " words in " + numSents + " sentences (" + nf.format(wordspersec) + " wds/sec; " + nf.format(sentspersec) + " sents/sec).");
    if (numFallback > 0) {
        pwErr.println("  " + numFallback + " sentences were parsed by fallback to PCFG.");
    }
    if (numUnparsable > 0 || numNoMemory > 0 || numSkipped > 0) {
        pwErr.println("  " + (numUnparsable + numNoMemory + numSkipped) + " sentences were not parsed:");
        if (numUnparsable > 0) {
            pwErr.println("    " + numUnparsable + " were not parsable with non-zero probability.");
        }
        if (numNoMemory > 0) {
            pwErr.println("    " + numNoMemory + " were skipped because of insufficient memory.");
        }
        if (numSkipped > 0) {
            pwErr.println("    " + numSkipped + " were skipped as length 0 or greater than " + op.testOptions.maxLength);
        }
    }
}
Also used : HasWord(edu.stanford.nlp.ling.HasWord) RuntimeIOException(edu.stanford.nlp.io.RuntimeIOException) MalformedURLException(java.net.MalformedURLException) MulticoreWrapper(edu.stanford.nlp.util.concurrent.MulticoreWrapper) DecimalFormat(java.text.DecimalFormat) RuntimeIOException(edu.stanford.nlp.io.RuntimeIOException) IOException(java.io.IOException) URL(java.net.URL) ParsingThreadsafeProcessor(edu.stanford.nlp.parser.common.ParsingThreadsafeProcessor) FileOutputStream(java.io.FileOutputStream) List(java.util.List) Timing(edu.stanford.nlp.util.Timing) DocumentPreprocessor(edu.stanford.nlp.process.DocumentPreprocessor) File(java.io.File) DocType(edu.stanford.nlp.process.DocumentPreprocessor.DocType) PrintWriter(java.io.PrintWriter) ParserQuery(edu.stanford.nlp.parser.common.ParserQuery) NumberFormat(java.text.NumberFormat)

Example 84 with DecimalFormat

use of java.text.DecimalFormat in project CoreNLP by stanfordnlp.

the class CollinsDepEval method display.

@Override
public void display(boolean verbose, PrintWriter pw) {
    final NumberFormat nf = new DecimalFormat("0.00");
    final Set<CollinsRelation> cats = Generics.newHashSet();
    final Random rand = new Random();
    cats.addAll(precisions.keySet());
    cats.addAll(recalls.keySet());
    Map<Double, CollinsRelation> f1Map = new TreeMap<>();
    for (CollinsRelation cat : cats) {
        double pnum2 = pnums2.getCount(cat);
        double rnum2 = rnums2.getCount(cat);
        //(num > 0.0 ? precision/num : 0.0);
        double prec = precisions2.getCount(cat) / pnum2;
        //(num > 0.0 ? recall/num : 0.0);
        double rec = recalls2.getCount(cat) / rnum2;
        //(num > 0.0 ? f1/num : 0.0);
        double f1 = 2.0 / (1.0 / prec + 1.0 / rec);
        if (new Double(f1).equals(Double.NaN))
            f1 = -1.0;
        if (f1Map.containsKey(f1))
            f1Map.put(f1 + (rand.nextDouble() / 1000.0), cat);
        else
            f1Map.put(f1, cat);
    }
    pw.println(" Abstract Collins Dependencies -- final statistics");
    pw.println("================================================================================");
    for (CollinsRelation cat : f1Map.values()) {
        double pnum2 = pnums2.getCount(cat);
        double rnum2 = rnums2.getCount(cat);
        //(num > 0.0 ? precision/num : 0.0);
        double prec = precisions2.getCount(cat) / pnum2;
        //(num > 0.0 ? recall/num : 0.0);
        double rec = recalls2.getCount(cat) / rnum2;
        //(num > 0.0 ? f1/num : 0.0);
        double f1 = 2.0 / (1.0 / prec + 1.0 / rec);
        pw.println(cat + "\tLP: " + ((pnum2 == 0.0) ? " N/A" : nf.format(prec)) + "\tguessed: " + (int) pnum2 + "\tLR: " + ((rnum2 == 0.0) ? " N/A" : nf.format(rec)) + "\tgold:  " + (int) rnum2 + "\tF1: " + ((pnum2 == 0.0 || rnum2 == 0.0) ? " N/A" : nf.format(f1)));
    }
    pw.println("================================================================================");
}
Also used : Random(java.util.Random) DecimalFormat(java.text.DecimalFormat) CollinsRelation(edu.stanford.nlp.trees.CollinsRelation) TreeMap(java.util.TreeMap) NumberFormat(java.text.NumberFormat)

Example 85 with DecimalFormat

use of java.text.DecimalFormat in project Cloud9 by lintool.

the class WikipediaForwardIndex method getLastDocno.

@Override
public int getLastDocno() {
    if (lastDocno != -1) {
        return lastDocno;
    }
    // find the last entry, and then see all the way to the end of the
    // collection
    int idx = docnos.length - 1;
    try {
        FileSystem fs = FileSystem.get(conf);
        DecimalFormat df = new DecimalFormat("00000");
        Path file = new Path(collectionPath + "/part-m-" + df.format(fileno[idx]));
        // Try the old file naming convention.
        if (!fs.exists(file)) {
            file = new Path(collectionPath + "/part-" + df.format(fileno[idx]));
        }
        SequenceFile.Reader reader = new SequenceFile.Reader(conf, SequenceFile.Reader.file(file));
        IntWritable key = new IntWritable();
        reader.seek(offsets[idx]);
        while (reader.next(key)) ;
        lastDocno = key.get();
        reader.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return lastDocno;
}
Also used : Path(org.apache.hadoop.fs.Path) SequenceFile(org.apache.hadoop.io.SequenceFile) FileSystem(org.apache.hadoop.fs.FileSystem) DecimalFormat(java.text.DecimalFormat) IOException(java.io.IOException) IntWritable(org.apache.hadoop.io.IntWritable)

Aggregations

DecimalFormat (java.text.DecimalFormat)823 DecimalFormatSymbols (java.text.DecimalFormatSymbols)94 NumberFormat (java.text.NumberFormat)93 IOException (java.io.IOException)48 BigDecimal (java.math.BigDecimal)47 ArrayList (java.util.ArrayList)44 IFormatterTextCallBack (org.xclcharts.common.IFormatterTextCallBack)33 ParseException (java.text.ParseException)31 Test (org.junit.Test)31 File (java.io.File)29 IFormatterDoubleCallBack (org.xclcharts.common.IFormatterDoubleCallBack)29 Support_DecimalFormat (tests.support.Support_DecimalFormat)28 Date (java.util.Date)25 SimpleDateFormat (java.text.SimpleDateFormat)24 HashMap (java.util.HashMap)24 Locale (java.util.Locale)22 PrintWriter (java.io.PrintWriter)20 UsageVO (com.cloud.usage.UsageVO)19 List (java.util.List)18 JFreeChart (org.jfree.chart.JFreeChart)18