csli.dialog.app.calo.topic.classification.topicextraction
Class CsliTopicSegmenterServiceImpl

java.lang.Object
  extended by csli.dialog.app.calo.topic.classification.topicextraction.CsliOnlineTopicSegmenterService
      extended by csli.dialog.app.calo.topic.classification.topicextraction.CsliTopicSegmenterService
          extended by csli.dialog.app.calo.topic.classification.topicextraction.CsliTopicSegmenterServiceImpl
All Implemented Interfaces:
Service, OnlineTopicSegmenterService, TopicSegmenterService

public class CsliTopicSegmenterServiceImpl
extends CsliTopicSegmenterService


Nested Class Summary
 
Nested classes/interfaces inherited from class csli.dialog.app.calo.topic.classification.topicextraction.CsliOnlineTopicSegmenterService
CsliOnlineTopicSegmenterService.TopicSegmenterParameters
 
Constructor Summary
CsliTopicSegmenterServiceImpl()
           
 
Method Summary
 void clear()
          Clears all the cache files that have been generated by the TopicSegmenterService.
 void clear(String meeting)
          Clears the meeting from memory and disk cache.
 void createXML(String meetingName)
           
 Pair<Topic,TopicArea> csliExtractTopic(String meeting, Pair<XSDDateTime,XSDDateTime> boundaries)
           
 Pair<Topic,TopicArea> csliExtractTopic(String meeting, XSDDateTime time)
           
 ArrayList<Pair<Topic,TopicArea>> csliGetTopics(String meeting)
          Get the Topics discussed in a meeting (using the default method), before adding to/merging with the pool
 ArrayList<Pair<Topic,TopicArea>> csliGetTopicsByMITSegmentation(String meeting, Integer numShifts)
          Get the Topics discussed in a meeting (forcing segmentation via the MIT generative model), before adding to/merging with the pool
 ArrayList<Pair<Topic,TopicArea>> csliGetTopicsByWordDistribution(String meeting)
          Get the Topics discussed in a meeting (forcing Stephane's lexical similarity method), before adding to/merging with the pool
 TopicArea csliLocateTopic(String meeting, Topic t)
           
 List<Pair<Double,TopicArea>> csliSearchTopic(Topic t)
           
 String getTitle()
          Get the name of this service as it should appear in the GUI.
 Set<XSDDateTime> getTopicBreaks(String meeting)
          Computes the topic segmentation of the meeting.
 Set<XSDDateTime> getTopicBreaksByMITSegmentation(String meeting, Integer numShifts)
          Like getTopicBreaks(), but force Stephane's lexical similarity method.
 Set<XSDDateTime> getTopicBreaksByWordDistribution(String meeting)
          Like getTopicBreaks(), but force Stephane's lexical similarity method.
 boolean isServiceAlive()
          Is the service happy and alive?
 ArrayList<Pair<Topic,TopicArea>> locateDoc(String meetingName)
           
 List<Pair<Double,Pair<String,Pair<XSDDateTime,XSDDateTime>>>> searchTopic(Topic t)
          Searches for occurences of a topic in the whole corpus.
 boolean wasDiscussed(Topic t, String meeting)
          Evaluates whether a certain topic was discussed or not during a past meeting.
 
Methods inherited from class csli.dialog.app.calo.topic.classification.topicextraction.CsliTopicSegmenterService
csliGetTopicSimilarity, extractTopic, extractTopic, getQueries, getRelevantTopics, getTopicBreaksByMITSegmentation, getTopics, getTopicsByMITSegmentation, getTopicsByMITSegmentation, getTopicsByWordDistribution, isLearning, locateTopic, prepareForNewMeeting, setTopicOptions
 
Methods inherited from class csli.dialog.app.calo.topic.classification.topicextraction.CsliOnlineTopicSegmenterService
createTopic, createTopicModel, csliSearchTopic, csliSearchTopic, extractTopicBoundaries, findRelevantTopics, getGui, getRelevantTopics, isRelevant, isRelevant
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface csli.dialog.app.calo.main.services.TopicSegmenterService
extractTopicBoundaries
 
Methods inherited from interface csli.dialog.app.calo.main.services.OnlineTopicSegmenterService
createTopic, createTopicModel, getRelevantTopics, isRelevant, isRelevant
 
Methods inherited from interface csli.dialog.app.calo.main.Service
getGui
 

Constructor Detail

CsliTopicSegmenterServiceImpl

public CsliTopicSegmenterServiceImpl()
Method Detail

getTopicBreaks

public Set<XSDDateTime> getTopicBreaks(String meeting)
Description copied from interface: OnlineTopicSegmenterService
Computes the topic segmentation of the meeting. For OnlineTopicSegmenterService, this will necessarily be based on topic break classification. TopicSegmenterService may base the segmentation on lexical similarity or the MIT generative model depending on the config key topic.segmentation.method

Specified by:
getTopicBreaks in interface OnlineTopicSegmenterService
Specified by:
getTopicBreaks in interface TopicSegmenterService
Specified by:
getTopicBreaks in class CsliTopicSegmenterService
Parameters:
meeting - the meeting we want to segment
Returns:
the set of topic breaks

getTopicBreaksByMITSegmentation

public Set<XSDDateTime> getTopicBreaksByMITSegmentation(String meeting,
                                                        Integer numShifts)
Description copied from class: CsliTopicSegmenterService
Like getTopicBreaks(), but force Stephane's lexical similarity method.

Specified by:
getTopicBreaksByMITSegmentation in class CsliTopicSegmenterService
Parameters:
meeting - the meeting we want to segment
numShifts - if > 0, the fixed number of shifts required; if = 0, fix the number of shifts at the average; if < 0, use the average probability threshold
Returns:
the set of topic breaks
See Also:
getTopicBreaks()

getTopicBreaksByWordDistribution

public Set<XSDDateTime> getTopicBreaksByWordDistribution(String meeting)
Description copied from class: CsliTopicSegmenterService
Like getTopicBreaks(), but force Stephane's lexical similarity method.

Specified by:
getTopicBreaksByWordDistribution in class CsliTopicSegmenterService
Parameters:
meeting - the meeting we want to segment
Returns:
the set of topic breaks
See Also:
getTopicBreaks()

csliGetTopics

public ArrayList<Pair<Topic,TopicArea>> csliGetTopics(String meeting)
Description copied from class: CsliTopicSegmenterService
Get the Topics discussed in a meeting (using the default method), before adding to/merging with the pool

Specified by:
csliGetTopics in class CsliTopicSegmenterService
Returns:
a list of Pairs of Topic and TopicArea

csliGetTopicsByWordDistribution

public ArrayList<Pair<Topic,TopicArea>> csliGetTopicsByWordDistribution(String meeting)
Description copied from class: CsliTopicSegmenterService
Get the Topics discussed in a meeting (forcing Stephane's lexical similarity method), before adding to/merging with the pool

Specified by:
csliGetTopicsByWordDistribution in class CsliTopicSegmenterService
Returns:
a list of Pairs of Topic and TopicArea
See Also:
CsliTopicSegmenterService.csliGetTopics(String)

csliGetTopicsByMITSegmentation

public ArrayList<Pair<Topic,TopicArea>> csliGetTopicsByMITSegmentation(String meeting,
                                                                       Integer numShifts)
Description copied from class: CsliTopicSegmenterService
Get the Topics discussed in a meeting (forcing segmentation via the MIT generative model), before adding to/merging with the pool

Specified by:
csliGetTopicsByMITSegmentation in class CsliTopicSegmenterService
numShifts - if > 0, the fixed number of shifts required; if = 0, fix the number of shifts at the average; if < 0, use the average probability threshold
Returns:
a list of Pairs of Topic and TopicArea
See Also:
CsliTopicSegmenterService.csliGetTopics(String)

csliLocateTopic

public TopicArea csliLocateTopic(String meeting,
                                 Topic t)
Specified by:
csliLocateTopic in class CsliTopicSegmenterService

csliExtractTopic

public Pair<Topic,TopicArea> csliExtractTopic(String meeting,
                                              XSDDateTime time)
Specified by:
csliExtractTopic in class CsliTopicSegmenterService

csliExtractTopic

public Pair<Topic,TopicArea> csliExtractTopic(String meeting,
                                              Pair<XSDDateTime,XSDDateTime> boundaries)
Specified by:
csliExtractTopic in class CsliTopicSegmenterService

getTitle

public String getTitle()
Description copied from interface: Service
Get the name of this service as it should appear in the GUI.


isServiceAlive

public boolean isServiceAlive()
Description copied from interface: Service
Is the service happy and alive?

Returns:

wasDiscussed

public boolean wasDiscussed(Topic t,
                            String meeting)
Description copied from interface: TopicSegmenterService
Evaluates whether a certain topic was discussed or not during a past meeting.

Specified by:
wasDiscussed in interface TopicSegmenterService
Specified by:
wasDiscussed in class CsliTopicSegmenterService
Parameters:
t - the topic
meeting - the meeting
Returns:
a boolean answering the question.

searchTopic

public List<Pair<Double,Pair<String,Pair<XSDDateTime,XSDDateTime>>>> searchTopic(Topic t)
Description copied from interface: OnlineTopicSegmenterService
Searches for occurences of a topic in the whole corpus.

Specified by:
searchTopic in interface OnlineTopicSegmenterService
Specified by:
searchTopic in interface TopicSegmenterService
Specified by:
searchTopic in class CsliOnlineTopicSegmenterService
Parameters:
t - the topic we want to search
Returns:
a list of pairs composed of - a double giving the score of that topic zone - a topic zone given by a pair where the topic boundaries are themselves given by a pair of XSDDateTime

csliSearchTopic

public List<Pair<Double,TopicArea>> csliSearchTopic(Topic t)
Specified by:
csliSearchTopic in class CsliTopicSegmenterService

clear

public void clear()
Description copied from interface: OnlineTopicSegmenterService
Clears all the cache files that have been generated by the TopicSegmenterService. Mostly for development purpose.

Specified by:
clear in interface OnlineTopicSegmenterService
Specified by:
clear in interface TopicSegmenterService
Specified by:
clear in class CsliTopicSegmenterService

clear

public void clear(String meeting)
Description copied from interface: TopicSegmenterService
Clears the meeting from memory and disk cache. Does not delete topics themselves (as these may be related to more than one meeting) or the corpus-wide indices


locateDoc

public ArrayList<Pair<Topic,TopicArea>> locateDoc(String meetingName)
Specified by:
locateDoc in class CsliTopicSegmenterService

createXML

public void createXML(String meetingName)
Specified by:
createXML in class CsliTopicSegmenterService