The requirement was to build an application that enables users to upload and translate documents and books. The solution would offer translation of each word and sentence.
View alternate suggestions for translations
Provide custom user translation
Learn user inputs and predict suggestions
The platform offers three layers of translation for users. The machine learning engine learns from Microsoft APIs and user inputs to display suggestions.
Backend: The uploaded document is parsed and saved along with the formatting style. This is transferred to the NoSQL datastore to ensure quick retrieval of data.
Machine Learning Translation Engine (MLTE)
- Utilizes a third-party translation engine (Microsoft's Translation and Dictionary APIs) to provide initial translation
- Runs machine learning algorithms to incrementally improve accuracy of translations as the size of the dataset (translation results, suggestions, and voting records) increases
- Captures statistics related to user suggestions using performance model, which enables tracking of submissions from users in addition to understanding top suggestions for words and sentences
- Stores user suggestions (words and sentences) in the MLTE database
- Displays suggestions when users move the mouse over words and sentence
Frontend: Data from server-side is rendered in a three-layer view. The first layer contains the original sentence that was uploaded from the document. The second layer contains translation of each word in the original sentence. The third layer contains the contextual translation of the original sentence.