Package edu.tufts.hrilab.slug.dialogue
Class DialogueConsultant
java.lang.Object
edu.tufts.hrilab.slug.dialogue.DialogueConsultant
- All Implemented Interfaces:
ConsultantInterface
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
assertProperties
(Symbol refId, List<Term> properties) Add properties to already existing object ref.boolean
an attempt is made to bring the knowledge base in line with the provided bindings, list of properties, and probability value.<U> U
convertToType
(Symbol refId, Class<U> type) Convert refId to target class.<U> U
convertToType
(Symbol refId, Class<U> type, List<? extends Term> constraints) Convert refId to target class using the specified constraints for to filter the results.createReferences
(List<Variable> vars) new representations are created for each free-variable and returned in the binding list.Get a list of currently highly salient entities that should be considered "activated."getAssertedProperties
(Symbol refId) Get the list of properties that have been asserted for a given refId.getInitialDomain
(List<Term> query) Returns a list of currently known refIds (it takes a seq of Properties, to optionally do some pre-processing to return a list of relevant candidates).Returns name of things handles by this consultant (e.g., "objects", "locations", etc).Returns a list of Properties handled by this component.void
Returns the probability that a property (aka constraint) holds for an entity (specified by a map of free-variable to refId bindings).void
registerForNewPropertyNotification
(ai.thinkingrobots.trade.TRADEServiceInfo callback) void
unregisterForNewPropertyNotification
(ai.thinkingrobots.trade.TRADEServiceInfo callback)
-
Field Details
-
log
protected final org.slf4j.Logger log -
diaLog
-
-
Constructor Details
-
DialogueConsultant
-
-
Method Details
-
getActivatedEntities
Description copied from interface:ConsultantInterface
Get a list of currently highly salient entities that should be considered "activated."- Specified by:
getActivatedEntities
in interfaceConsultantInterface
- Returns:
- list of refIds and probability pairs
-
getKBName
Description copied from interface:ConsultantInterface
Returns name of things handles by this consultant (e.g., "objects", "locations", etc).- Specified by:
getKBName
in interfaceConsultantInterface
- Returns:
- knowledge base name
-
getPropertiesHandled
Description copied from interface:ConsultantInterface
Returns a list of Properties handled by this component.- Specified by:
getPropertiesHandled
in interfaceConsultantInterface
- Returns:
- list of Properties.
-
getInitialDomain
Description copied from interface:ConsultantInterface
Returns a list of currently known refIds (it takes a seq of Properties, to optionally do some pre-processing to return a list of relevant candidates).- Specified by:
getInitialDomain
in interfaceConsultantInterface
- Returns:
- list of currently known ids
-
process
Description copied from interface:ConsultantInterface
Returns the probability that a property (aka constraint) holds for an entity (specified by a map of free-variable to refId bindings).TODO: rename method to something more descriptive. how about getProbability or checkProperty?
- Specified by:
process
in interfaceConsultantInterface
- Parameters:
constraint
- Property to checkbindings
- Map of free variables to refIds- Returns:
- probability value [0.0. 1.0]
-
createReferences
Description copied from interface:ConsultantInterface
new representations are created for each free-variable and returned in the binding list.- Specified by:
createReferences
in interfaceConsultantInterface
- Parameters:
vars
- list of free-variables- Returns:
- list of bindings
-
assertProperties
Description copied from interface:ConsultantInterface
an attempt is made to bring the knowledge base in line with the provided bindings, list of properties, and probability value.- Specified by:
assertProperties
in interfaceConsultantInterface
- Parameters:
bindings
- list of bindings in tuple form (free-variable and refId pair)prob
- probability valueproperties
- list of Properties- Returns:
- whether the updated was successful?
-
getAssertedProperties
Description copied from interface:ConsultantInterface
Get the list of properties that have been asserted for a given refId.- Specified by:
getAssertedProperties
in interfaceConsultantInterface
- Parameters:
refId
- reference resolution id- Returns:
- list of Properties
-
assertProperties
Description copied from interface:ConsultantInterface
Add properties to already existing object ref. Each property should contain a connection to the existing ref either by refId or refId's variable.- Specified by:
assertProperties
in interfaceConsultantInterface
- Returns:
-
convertToType
Description copied from interface:ConsultantInterface
Convert refId to target class. This is a way to map references onto Java-types. If it's not possible for a refId to be converted to the specified type, null is returned.- Specified by:
convertToType
in interfaceConsultantInterface
- Parameters:
refId
- - reference resolution ID (e.g.object_3)type
- - target Java class type- Returns:
-
convertToType
Description copied from interface:ConsultantInterface
Convert refId to target class using the specified constraints for to filter the results. This is a way to map references onto Java-types. If it's not possible for a refId to be converted to the specified type, null is returned.- Specified by:
convertToType
in interfaceConsultantInterface
- Returns:
-
registerForNewPropertyNotification
public void registerForNewPropertyNotification(ai.thinkingrobots.trade.TRADEServiceInfo callback) - Specified by:
registerForNewPropertyNotification
in interfaceConsultantInterface
-
unregisterForNewPropertyNotification
public void unregisterForNewPropertyNotification(ai.thinkingrobots.trade.TRADEServiceInfo callback) - Specified by:
unregisterForNewPropertyNotification
in interfaceConsultantInterface
-
notifyNewPropertySubscribers
public void notifyNewPropertySubscribers()- Specified by:
notifyNewPropertySubscribers
in interfaceConsultantInterface
-