presage.h | presage.h | |||
---|---|---|---|---|
skipping to change at line 36 | skipping to change at line 36 | |||
#include <string> | #include <string> | |||
#include <vector> | #include <vector> | |||
#include <map> | #include <map> | |||
// Forward declarations, not part of presage API | // Forward declarations, not part of presage API | |||
class Configuration; | class Configuration; | |||
class ProfileManager; | class ProfileManager; | |||
class Profile; | class Profile; | |||
class ContextTracker; | class ContextTracker; | |||
class PluginRegistry; | class PredictorRegistry; | |||
class PredictorActivator; | class PredictorActivator; | |||
class Selector; | class Selector; | |||
/* | /* | |||
* Presage public API starts here | * Presage public API starts here | |||
*/ | */ | |||
#include "presageException.h" | #include "presageException.h" | |||
#include "presageCallback.h" | #include "presageCallback.h" | |||
/** \brief Presage, the intelligent predictive text entry platform. | /** \brief Presage, the intelligent predictive text entry platform. | |||
*/ | */ | |||
class Presage { | class Presage { | |||
public: | public: | |||
/** Creates and initializes presage. | /** Creates and initializes presage. | |||
* | * | |||
* \param callback is a user-supplied implementation of PresageCallback interface | * \param callback is a user-supplied implementation of PresageCallback interface | |||
* | * | |||
* Presage does not take ownership of the callback object. | * Presage does not take ownership of the callback object. | |||
*/ | */ | |||
Presage(PresageCallback* callback); | Presage(PresageCallback* callback); | |||
/** Creates and initializes presage with supplied configuration. | /** Creates and initializes presage with supplied configuration. | |||
* | * | |||
skipping to change at line 177 | skipping to change at line 177 | |||
* file. The configuration data will be saved to the currently | * file. The configuration data will be saved to the currently | |||
* active XML profile. | * active XML profile. | |||
* | * | |||
*/ | */ | |||
void save_config() const; | void save_config() const; | |||
/* | /* | |||
* Presage public API ends here | * Presage public API ends here | |||
*/ | */ | |||
private: | private: | |||
ProfileManager* profileManager; | ProfileManager* profileManager; | |||
Configuration* configuration; | Configuration* configuration; | |||
PluginRegistry* pluginRegistry; | PredictorRegistry* predictorRegistry; | |||
ContextTracker* contextTracker; | ContextTracker* contextTracker; | |||
PredictorActivator* predictorActivator; | PredictorActivator* predictorActivator; | |||
Selector* selector; | Selector* selector; | |||
}; | }; | |||
/** \mainpage | /** \mainpage | |||
\section intro_section Introduction | \section intro_section Introduction | |||
Presage is an intelligent predictive text entry | Presage is an intelligent predictive text entry | |||
platform. Presage exploits <a | platform. Presage exploits <a | |||
href="http://en.wikipedia.org/wiki/Redundancy_%28information_theory%29">red | href="http://en.wikipedia.org/wiki/Redundancy_%28information_theory%29" | |||
undant | >redundant | |||
information</a> embedded in natural languages to generate | information</a> embedded in natural languages to generate | |||
predictions. Presage's modular and pluggable <a | predictions. Presage's modular and pluggable <a | |||
href="?q=node/14">architecture</a> allows its <a | href="?q=node/14">architecture</a> allows its <a | |||
href="http://en.wikipedia.org/wiki/Language_modeling">language | href="http://en.wikipedia.org/wiki/Language_modeling">language | |||
model</a> to be extended and customized to utilize statistical, | model</a> to be extended and customized to utilize statistical, | |||
syntactic, and semantic information sources. | syntactic, and semantic information sources. | |||
A predictive text entry system attempts to improve ease and speed of | A predictive text entry system attempts to improve ease and speed of | |||
textual input. Word prediction consists in computing which word tokens | textual input. Word prediction consists in computing which word tokens | |||
or word completions are most likely to be entered next. The system | or word completions are most likely to be entered next. The system | |||
analyses the text already entered and combines the information thus | analyses the text already entered and combines the information thus | |||
extracted with other information sources to calculate a set of most | extracted with other information sources to calculate a set of most | |||
probable tokens. | probable tokens. | |||
A typical presage-based application would display the set of most | A typical presage-based application would display the set of most | |||
probable tokens (i.e. a list of suggestions) to the user and | probable tokens (i.e. a list of suggestions) to the user and | |||
automatically enter the desired token after the user selects it. If | automatically enter the desired token after the user selects it. If | |||
the list of suggestions does not contain the desired word, the user | the list of suggestions does not contain the desired word, the user | |||
continues entering text until the correct suggestion is offered or | continues entering text until the correct suggestion is offered or | |||
until the user is done entering text. | until the user is done entering text. | |||
Presage is fundamentally different from predictive <a | Presage is fundamentally different from predictive <a | |||
href="http://en.wikipedia.org/wiki/T9_%28predictive_text%29">input | href="http://en.wikipedia.org/wiki/T9_%28predictive_text%29">input | |||
technologies commonly found on mobile phones</a>, which might more | technologies commonly found on mobile phones</a>, which might more | |||
accurately be described as 'disambiguating text entry' rather than | accurately be described as 'disambiguating text entry' rather than | |||
'predictive text entry' systems. Such systems do not try to guess | 'predictive text entry' systems. Such systems do not try to guess | |||
what the user intends to write in the future, only to determine what | what the user intends to write in the future, only to determine what | |||
they most-likely intend to write in the present, given their past | they most-likely intend to write in the present, given their past | |||
input. Presage, on the other hand, actively predicts the what the | input. Presage, on the other hand, actively predicts the what the | |||
user intends to write, and only reverts to <a | user intends to write, and only reverts to <a | |||
href="http://en.wikipedia.org/wiki/Word_completion">word | href="http://en.wikipedia.org/wiki/Word_completion">word | |||
completion</a> mode if the prediction did not contain the desired | completion</a> mode if the prediction did not contain the desired | |||
token. | token. | |||
Presage is <a | Presage is <a | |||
href="http://www.gnu.org/philosophy/free-sw.html">free | href="http://www.gnu.org/philosophy/free-sw.html">free | |||
software</a>. It is distributed under the term of the <a | software</a>. It is distributed under the term of the <a | |||
href="http://www.gnu.org/copyleft/gpl.html">General Public | href="http://www.gnu.org/copyleft/gpl.html">General Public | |||
License</a>. | License</a>. | |||
\author Matteo Vescovi | \author Matteo Vescovi | |||
\section getting_started_section Getting started | \section getting_started_section Getting started | |||
\include getting_started.txt | \include getting_started.txt | |||
*/ | */ | |||
#endif // PRESAGE | #endif // PRESAGE | |||
End of changes. 12 change blocks. | ||||
47 lines changed or deleted | 47 lines changed or added | |||