Slate Desktop Review
Today Precision Translation Tools released the first official version of Slate Desktop. After months of developing and weeks of extensive testing, the first software for personalized translation engines is finally here. In this Slate Desktop review I write about the development of Slate Desktop and the first results of using this desktop tool for freelance machine translation.
This article is quite long. Please use the following links to jump to a section directly:
- How it began
- What is a translation engine?
- What is Slate Desktop?
- Testing Slate Desktop
- Slate Desktop review: interface
- Slate Desktop review: building an engine
- Slate Desktop review: supported file formats
- Slate Desktop review: connector for Trados Studio
- Slate Desktop review: the first results
- Slate Desktop review: conclusion
How it began
Last year the developers of Slate Desktop started a crowdfunding project on Indiegogo. The company already had extensive knowledge in the field and had developed translation engine software for LSPs but decided to focus on freelance translators by introducing a first-of-its-kind solution: software that enables freelance translators and small companies to build translation engines themselves. The crowdfunding project not only offered a way to get funding for the project, but was primarily used as a market research technique. If people would support the software in full, the company would interpret that as a firm basis for introducing it into the market. The campaign ended with full support: it was backed 141% by translators from all over the world – who had their say about priorities for the development of plugins for the CAT tools as well.
From the moment I learned about Slate Desktop I loved it. Of course pledging $330 for a project with an uncertain outcome was a bit tricky at that moment, but I loved the communication of the team and the “disruptive” nature of the software. At the same time I loved testing Slate Desktop as soon as it was possible, so I was quite excited when I got on board the testing team in January. This long post is therefore mainly about the results yielded so far.
What is a translation engine?
Translation engines offer companies opportunities to speed up translations and reduce costs. However, until now, only companies with considerable technological knowledge, massive linguistic resources and enough money have been able to develop professional translation engines. There are currently many technological companies trying to bridge the gap, but they offer cloud tools to reduce costs, speed up the rendering and computing time, and gain new knowledge and linguistic resources that can be used to improve the quality of the results. Cloud tools however, offer important caveats concerning the privacy, authorship and rights of terms and translations.
What is Slate Desktop?
Slate Desktop is “disruptive” and “first-of-its-kind” software, but what does that actually mean?
The software is developed by a team of professionals with commercial knowledge in the field of machine translations. They’re not linguists themselves, but have been working on the edge of language and technology for years. After having developed ‘precision translation tools’, they decided to approach machine translation from a whole new perspective. Instead of using cloud technology they used the Moses framework to create software that works offline with translation memories from translators. As a result, translators are in control of their own resources, without relying on third parties – and (unconsciously) sharing sensitive information – in an environment that is accessible to different parties and that can be prone to security issues.
Control over the software is the most important benefit: translators can create their own engines and as much as they want, when they want and how they want. Are they specializing in more fields and do they use different translation memories for these fields? They can then simply set up different engines for these fields and use the ones they prefer for a particular job. The reliance on offline resources has the added benefit that the tool can always be used – even when there is no internet connection. Read about the strengths, weaknesses and opportunities of Slate Desktop here.
Testing Slate Desktop
In the past weeks several linguists have been testing Slate Desktop. They have reported all the issues they encountered to the developers, who came up with solutions and workarounds. I’d bet this period has been exhausting for the programmer and the managing director: we’ve found so many bugs and unexpected issues, which often were corrected within two days. At the same time, it was very educational. Using Slate Desktop in the wild offered important insights into the performance of the software. The developers were able to translate each specific error into a coding issue and then into a solution. A simple but annoying bug resulted in a great solution for the support of MemoQ XFLIFF files while another error offered insights into how Trados Studio works and how it can be supported.
In the past weeks the support has been impressive. Issues were not only handled within a day but even solved within the same time. For instance, Slate Desktop conflicted with the file system shield of my virus scanner, but the team issued a certificate that made it possible to circumvent the conflicts. Problems during the engine building phase were corrected in new release candidates that were released almost every third day.
This shows that the team wants to introduce a great solution that works without hassle and that they go the extra mile to offer as satisfactory an experience as possible. That is promising for the future.
Slate Desktop review: interface
Slate Desktop is being developed in a Linux environment. As a result, the software currently has a simple interface which requires some initial knowledge to be used. This interface is temporary as the team wants to introduce a working tool first while offering a better user experience; the latter currently has a lower priority but this will be re-thought in the future. It will therefore be re-thought in the future.
The interface is plain with only a navigation menu, a list of built-in translation engines and a button to build a new engine.
Slate Desktop review: building an engine
Creating a translation engine is pretty simple. The button ‘Build an engine’ opens a new screen in which some identifiers for the new engine can be set: the name of the engine, the language pair, the client and a specialization. After all required fields are filled, users can select the translation memory exports that should be used to train the engine. When everything is set, users can start building the engine.
Slate Desktop currently only supports building engines from .tab, .tmx and .xlf files. Mainly the .tmx file support is important as that is the main file type for the exchange of translation memories. However, it requires exporting translation memories each time a new engine is to be built. It would therefore be great if support for native translation memory file types like .sdltm could be supported.
On the other hand, people can add several .tmx files to one engine. So if you are creating several different translation memories within one specialization, you can simply select them and Slate Desktop will use them together to create one single engine.
The process for building an engine can take some time, and after hitting the ‘Build engine’ button users see a warning that building the new translation engine is an extensive process that can take hours. The first engine I built was based on a master TM with 140,000 segments. To my surprise it did not even take three hours to generate the engine. Using the same .tmx file on a laptop with fewer resources took a few hours more, but not the ‘overnight’ as the warning cautioned.
Building the engine is a highly technical process. One of the members of the team tried to explain it simply, but I’m not sure whether I understood it in full… During the building process Slate Desktop extracts all word phrases from the sentences and calculates every possible combination. The result is a massive database table that is used to calculate the best possible option for a single sentence. The whole process consists of 18 steps, and the window shows clearly what is happening and how the software is progressing.
Using Slate Desktop on multiple PCs
A full licence for Slate Desktop supports installation on two different devices. I was therefore able to build my first engine on a laptop when Slate Desktop did not respond on my computer anymore. However, copying the engine from the laptop to the PC was not quite as simple. It involved some advanced steps, and copying and pasting some folders does not work. Tom Hoar, the managing director of Slate Desktop, wrote a solution here but I would love a better (automatic) solution in the future.
Slate Desktop review: supported file formats
After having built an engine it is time for the ‘real work’: using Slate Desktop for translations. In the past weeks I’ve succeeded a few times with that, and my best experience dates from last Friday (more about that below). Slate Desktop currently supports only a few file formats, but the team made huge steps in supporting native CAT file types. Half of the January users could only use Slate Desktop for .tab, .tmx, .txt and .xlf files. Thankfully, after trial and error the team was able to add support for MemoQ XLIFF files too. In the meantime I heard about a working plugin for OmegaT (which I do not use) and I tested a non-validated plugin for Trados Studio 2015.
In order to use Slate Desktop files sometimes had to be converted from SDLXLIFF or MXLIFF to XLF files. That was time-consuming and prone to errors, but in some cases it happened to work. For converting files to XLF files you can use Okapi Rainbow. Given the speed with which new plugins and solutions are introduced I think it should not take long before most major file formats are supported.
Slate Desktop connector for Trados Studio
Last Friday the development team introduced a first test for the Trados Studio connector. This connector is still in its beta stage but it offers promising insights into the future of Slate Desktop’s integration into Trados Studio.
The connector comes as a plugin that offers users a chance to select Slate Desktop as their translation engine in projects, identical to the selection of other third party translation providers. Once selected, a popup screen is opened where users can select one of their previously generated translation engines. Slate Desktop then generates a translation suggestion for each segment. This currently consumes considerable time as pre-translating is not yet supported. The results are nevertheless high in quality so I expect this connector will offer a huge advantage once it is fully developed.
Slate Desktop review: the first results
After a few weeks of testing the results on the then supported file types, and after testing the Slate Desktop connector for Trados Studio in three different projects, it is time to take stock. How does Slate Desktop do its job?
I think the technology behind Slate Desktop does a good job. Extracting, analyzing and re-ordering the content of a translation memory, and building a translation engine from it is done quickly. In the first weeks Slate Desktop did not support many file types. It was therefore time-consuming – and also prone to errors – to work with workarounds to create file types that were readily accepted by Slate Desktop. Luckily, the support for other (native CAT) file types was extended quickly, so there are many more file types to work with now.
A bit more problematic are the language pairs that Slate Desktop can accept. Basically you can generate translation engines in almost any language by simply writing down the codes for the language that you want to use. Both formal (en_US) and informal notations (en) are supported. However, Slate Desktop reads the language code in the header of files and interprets them strictly. An en_US translation engine therefore can not be used for a file with language=”en”. This can be simply overruled by opening the file in Notepad or another simple text editor and changing the language code. However, it would be great if that interpretation could be somewhat less strict.
Using both the standalone software and the plugin for Trados Studio yields great results. I used my master engine based on a master translation memory with segments from technical, simple legal, general and many other translations. A major benefit of that lack of specialization is that the results in almost all fields tested are reasonably good. A major caveat is that specific terms for highly specific projects are not available, so the results require somewhat more editing. In general, the results are comparable to what I know from projects with specialized and trained corpora with billions of words: sentence are in many cases fluent, with the right word order and they require only basic editing. The quality, however, differs slightly from project to project.
Currently, Slate Desktop does not love tags in projects: segments with tags result in crooked sentences with much English text – although this is not much different from what other commercial translation engines often do. Translating a string file with apostrophes before and after each segment was pretty poor: Slate Desktop was unable to find the right way to propose a good translation. Translation results therefore were mostly in English, illegible, and with the apostrophes in the wrong place.
The results were nevertheless impressive, and so was the support and the pace at which new solutions were introduced every time. I had a great overall experience!
Conclusion
I am an early backer of Slate Desktop. I’ve invested in this piece of software because I love the technology and because I want on board this increasingly important trend. At the same time I demand some value for money and I want to have something that works.
From that perspective I should be glad and grateful – and I am. With Slate Desktop I finally have my own translation engine software and it is impressive. I now can create my own engines on the fly but, more importantly, I have software that creates impressive results. At this stage it is difficult to speak about return on investment in terms of faster or better translations. The quality is good, the support for major file types and CAT tools is underway and the speed at which files are processed is improving. But above all, Slate Desktop gives a whole new dimension to the way I translate. Words I’ve used long ago or in different contexts are popping up in my screen in nearly perfect sentences – and they fit my style. To see that is wonderful and makes you might certainly want to give Slate Desktop a go!
Gert Van Assche
Great review, Pieter! Thank you.
I\’m sure there is a market for Slate: As you said, too many translators cannot use generic commercial translation engines because they are not allowed to. Slate offers an alternative for translators who have a large translation memory (like your master TM). This is one of the reasons why it is wise for translators to specialize: all the training data will be in the same domain, and as long as you translate documents that belong to that domain, the MT system will help you.
Do you happen to know if extra data is added to your engine to train the language model? Or did you do this yourself? Usually there must be much more monolingual data (target language) to select the best translation from all the alternatives created by the translation model (that is trained by your TM).
I think Slate definitely deserves to be tested by many translators. Tom and his team have put a lot of thought and a lot of work in this. Their support, also on the previous version of Slate, is the best we can dream of. An example for many others.
Until CAT tools embed an MT engine, this is the best a translator can get without sending his data to a cloud.
Pieter Beens
Thank you Gert!
“Slate offers an alternative for translators who have a large translation memory”
It does, but that’s not a requirement. Due to the lack of specialization it could even be better to have smaller TMs in some cases. I know the team of Slate tests with a TM with only 4,000 segments. I think that won’t offer the best results possible, but it still works.
“Do you happen to know if extra data is added to your engine to train the language model?”
I am not sure and asked the team. Currently about 30 languages are supported with all come with some processes during the installation. Perhaps logic/code is enough or they put monolingual data in somewhere. Not sure though.
“Until CAT tools embed an MT engine, this is the best a translator can get without sending his data to a cloud.”
For sure, but I wonder if they would ever chose this path. SDL and MemoQ support CAT tools but these are in the cloud only. I expect IF they come with a similar solution, they would introduce a competitive desktop product, but usually using the cloud is cheaper and more beneficial.
Tom Hoar
Gert, Pieter is right that we use 4,000 segments for testing, but please don’t mistake that as our endorsement for your quality results 🙂 However, it is also true that Slate Desktop customers realize benefits without a need for “mega/huge” TMs. Many (legacy DoMT users), in fact, have significantly improved their productivity by reducing the size of their TMs.
When reducing their 1+ million segment TMs to smaller, focused 100K to 300K TMs, the resulting industry-specific, constrained-domain…. dare I say “personalized” engines out-perform the mega engines within that field of specialization.
The Slate Desktop UI does not currently expose any ability to update an engine, or focus on customizing a specific component, such as the language model. This will happen, but we (and our customers) need to walk before we run.
One final note, Slate Desktop is not an an update to Slate. we are renaming the original to “Slate Toolkit” to clarify this confusion. Slate Toolkit is a developers tool to create applications. Slate Desktop is one possible application that we created ourselves. As you are aware Gert :), there are others creating their own applications.
Pieter, thank you very much for your posting. I expect there will be more to come. Congratulations for being the first. You’ve worked hard to learn and use the system.
Also Gert, thank you for your input and kind words. It’s rare that in 2016, this modern world experiences a true version 1.0 product. We’re working towards version 2 and eventually… version 15 and beyond.
Mohamed
Hi Pieter,
A great review indeed. I am now testing Slate and it did work with a small TM.
By the way, the link to Tom’ workaround for copying the engine from the laptop to the PC is missing. Would you please post it?
Pieter Beens
Thank you Mohamed.
I’ve added it now.
For your convenience: https://pttools.freshdesk.com/support/discussions/topics/6000032890
Please share your review once ready 🙂
Pingback:52 semanas – Negociar « Multitude
Pingback:Neural networks and the future of translation - Vertaalt.nu