001    package org.maltparser.core.helper;
002    
003    import org.apache.log4j.Logger;
004    import org.maltparser.core.exception.MaltChainedException;
005    import org.maltparser.core.io.dataformat.ColumnDescription;
006    import org.maltparser.core.options.OptionManager;
007    import org.maltparser.core.symbol.SymbolTableHandler;
008    /**
009    *
010    *
011    * @author Johan Hall
012    */
013    public class Malt04 {
014            public static void loadAllMalt04Tagset(OptionManager om, int containerIndex, SymbolTableHandler symbolTableHandler, Logger logger) throws MaltChainedException {
015                    String malt04Posset = om.getOptionValue(containerIndex, "malt0.4", "posset").toString();
016                    String malt04Cposset = om.getOptionValue(containerIndex, "malt0.4", "cposset").toString();
017                    String malt04Depset = om.getOptionValue(containerIndex, "malt0.4", "depset").toString();
018                    String nullValueStrategy = om.getOptionValue(containerIndex, "singlemalt", "null_value").toString();
019                    String rootLabels = om.getOptionValue(containerIndex, "graph", "root_label").toString();
020                    String inputCharSet = om.getOptionValue(containerIndex, "input", "charset").toString();
021                    loadMalt04Posset(malt04Posset, inputCharSet, nullValueStrategy, symbolTableHandler, logger);
022                    loadMalt04Cposset(malt04Cposset, inputCharSet, nullValueStrategy, symbolTableHandler, logger);
023                    loadMalt04Depset(malt04Depset, inputCharSet, nullValueStrategy, rootLabels, symbolTableHandler, logger);
024            }
025            
026            public static void loadMalt04Posset(String fileName, String charSet, String nullValueStrategy, SymbolTableHandler symbolTableHandler, Logger logger) throws MaltChainedException {
027                    if (!fileName.toString().equalsIgnoreCase("")) {
028                            if (logger.isInfoEnabled()) {
029                                    logger.info("Loading part-of-speech tagset '"+fileName+"'...\n");
030                            }
031                            symbolTableHandler.loadTagset(fileName, "POSTAG", charSet, ColumnDescription.INPUT, nullValueStrategy);
032                    }
033            }
034            
035            public static void loadMalt04Cposset(String fileName, String charSet, String nullValueStrategy, SymbolTableHandler symbolTableHandler, Logger logger) throws MaltChainedException {
036                    if (!fileName.equalsIgnoreCase("")) {
037                            if (logger.isInfoEnabled()) {
038                                    logger.info("Loading coarse-grained part-of-speech tagset '"+fileName+"'...\n");
039                            }
040                            symbolTableHandler.loadTagset(fileName, "CPOSTAG", charSet, ColumnDescription.INPUT, nullValueStrategy);
041                    }
042            }
043            
044            public static void loadMalt04Depset(String fileName, String charSet, String nullValueStrategy, String rootLabels, SymbolTableHandler symbolTableHandler, Logger logger) throws MaltChainedException {
045                    if (!fileName.equalsIgnoreCase("")) {
046                            if (logger.isInfoEnabled()) {
047                                    logger.info("Loading dependency type tagset '"+fileName+"'...\n");
048                            }
049                            symbolTableHandler.loadTagset(fileName, "DEPREL", charSet, ColumnDescription.DEPENDENCY_EDGE_LABEL, nullValueStrategy, rootLabels);
050                    }
051            }
052    }