com.cyc.nl.NlGenerationParams Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cyc-core-object-api Show documentation
Show all versions of cyc-core-object-api Show documentation
The interfaces which define the Cyc Core API.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.cyc.nl;
/*
* #%L
* File: NlGenerationParams.java
* Project: Core API Object Specification
* %%
* Copyright (C) 2013 - 2015 Cycorp, Inc
* %%
* Licensed 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.
* #L%
*/
import com.cyc.kb.Context;
import com.cyc.kb.KbPredicate;
import com.cyc.kb.KbTerm;
import java.util.List;
/**
*
* @author baxter
*/
public interface NlGenerationParams {
/**
*
* @return true iff we should generate NL quantifiers for open variables.
*/
Boolean getQuantifyVars();
/**
*
* @return true iff we should not say things like "for all X..."
*/
Boolean getHideExplicitUniversals();
/**
* @return the max time allotted for each generation call (in milliseconds).
*/
public Integer getMaxTime();
/**
*
* @return the list of agreement predicates to use
*/
List getNlPreds();
/**
*
* @return the illocutionary force to generate
* @see NlForce
*/
NlForce getForce();
/**
* Set the illocutionary force to generate
* @param force
* @return
* @see NlForce
*/
NlGenerationParams setForce(NlForce force);
/**
* Set the list of agreement predicates to use
* @param preds
* @return
*/
NlGenerationParams setNlPreds(List extends KbTerm> preds);
/**
* Should we generate NL quantifiers for open variables?
* @param quantifyVars
* @return
*/
NlGenerationParams setQuantifyVars(boolean quantifyVars);
/**
* Should we say things like "for all X..."?
* @param hideUniversals
* @return
*/
NlGenerationParams setHideExplicitUniversals(boolean hideUniversals);
/**
*
* @return the microtheory from which domain-related knowledge is retrieved
*/
Context getDomainContext();
/**
*
* @return the microtheory from which language-related knowledge is retrieved
*/
Context getLanguageContext();
/**
*
* @return the generation mode
* @see GenerationMode
*/
GenerationMode getMode();
/**
*
* @return true iff we want to value precision over conciseness
*/
boolean isPrecise();
/**
* Should we try to generate unambiguous paraphrases?
* @param shouldDisambiguate
* @return
*/
NlGenerationParams setDisambiguate(boolean shouldDisambiguate);
/**
* Set the microtheory from which language-related knowledge is retrieved.
* @param languageContext
* @return
*/
NlGenerationParams setLanguageContext(Context languageContext);
/**
* Set the microtheory from which domain-related knowledge is retrieved.
* @param domainContext
* @return
*/
NlGenerationParams setDomainContext(Context domainContext);
/**
* @param maxTime the maximum number of milliseconds to be allotted to each generation call.
*/
public void setMaxTime(Integer maxTime);
/**
* Set the generation mode.
* @param mode
* @return
* @see GenerationMode
*/
NlGenerationParams setMode(GenerationMode mode);
/**
* Should we value precision over conciseness?
* @param precise
* @return
*/
NlGenerationParams setPrecise(boolean precise);
/**
*
* @return true iff we should try to generate unambiguous paraphrases
*/
public boolean shouldDisambiguate();
/**
*
* @return true iff we should generate bulleted lists when in HTML mode
* @see GenerationMode#HTML
*/
public Boolean getUseBulletsInHtmlMode();
/**
* Should we generate bulleted lists when in HTML mode
* @param useBullets
* @return
* @see GenerationMode#HTML
*/
public NlGenerationParams setUseBulletsInHtmlMode(boolean useBullets);
/**
* @return true iff we should generate _____ for variables.
*/
Boolean shouldUseBlanksForVars();
/**
*
* @param generateBlanks Should we generate _____ for variables?
* @return
*/
NlGenerationParams setBlanksForVars(boolean generateBlanks);
}