blob: 3f0eb2c5b6cb422190b195cf1d55fba70e2345f1 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package opennlp.tools.disambiguator.oscc;
import java.io.File;
import opennlp.tools.disambiguator.WSDParameters;
/**
* This class contains the parameters for the OSCC approach as well as the
* directories containing the files used
*/
// TODO remove this class later
public class OSCCParameters extends WSDParameters {
protected String languageCode;
protected int windowSize;
protected String trainingDataDirectory;
protected static final int DFLT_WIN_SIZE = 3;
protected static final String DFLT_LANG_CODE = "En";
protected static final SenseSource DFLT_SOURCE = SenseSource.WORDNET;
/**
* This constructor takes only two parameters. The default language used is
* <i>English</i>
*
* @param windowSize the size of the window used for the extraction of the features
* qualified of Surrounding Context Clusters
* @param senseSource the source of the training data
*/
public OSCCParameters(int windowSize, SenseSource senseSource,
String trainingDataDirectory) {
this.languageCode = DFLT_LANG_CODE;
this.windowSize = windowSize;
this.senseSource = senseSource;
this.trainingDataDirectory = trainingDataDirectory;
File folder = new File(trainingDataDirectory);
if (!folder.exists())
folder.mkdirs();
}
public OSCCParameters(String trainingDataDirectory) {
this(DFLT_WIN_SIZE, DFLT_SOURCE, trainingDataDirectory);
File folder = new File(trainingDataDirectory);
if (!folder.exists())
folder.mkdirs();
}
public OSCCParameters() {
this(DFLT_WIN_SIZE, DFLT_SOURCE, null);
}
public OSCCParameters(int windowSize) {
this(windowSize, DFLT_SOURCE, null);
}
public String getLanguageCode() {
return languageCode;
}
public void setLanguageCode(String languageCode) {
this.languageCode = languageCode;
}
public int getWindowSize() {
return windowSize;
}
public void setWindowSize(int windowSize) {
this.windowSize = windowSize;
}
public OSCCContextGenerator createContextGenerator() {
return new DefaultOSCCContextGenerator();
}
public String getTrainingDataDirectory() {
return trainingDataDirectory;
}
public void setTrainingDataDirectory(String trainingDataDirectory) {
this.trainingDataDirectory = trainingDataDirectory;
}
@Override public boolean isValid() {
// TODO make validity check
return true;
}
}