4 ms·
It is a human language translator in general, English to French, for example.
by wonjun 15y ago
It is a human language translator in general, English to French, for example.
- CyberFonic 15y agoThat is a massive project. Have you looked at Google Translate? Hundreds of computer scientists have worked on it for decades and it still is not very good. But if you are motivated .... My personal preference would be to use Python (it's available on Windows, Mac and Linux). There is a very nice natural language toolkit available for Python which will help you with parsing the input language. During the early stages you want to experiment with algorithms more than being worried about speed, optimization can come later.
- radicalbyte 15y agoA large proportion of the academic Natural Language Processing / Computational Linguistics community use Python, so it really is the natural choice for a project in those fields. As for how long it will take? You can have something capable of translating a couple of hundred words up and running in hours. To do it properly (at a quality approaching that of even a bad human translator) will take a lifetime.
- danieldk 15y agoThat's a very huge project. It's best to start with one of the commonly-used toolkits for machine translation, such as Moses and Giza++: http://www.statmt.org/moses/ http://www.statmt.org/moses/ http://code.google.com/p/giza-pp/ http://code.google.com/p/giza-pp/ When using a statistical method, you also need training data. One good source is the EuroParl corpus, which is based on translations of texts of the European parliament: http://www.statmt.org/europarl/ http://www.statmt.org/europarl/ The programming language is not really important. Use whatever makes it the easiest to use one of the existing toolkits. Note that this is a very active field of research in natural language processing, and open domain machine translation is hard to do correctly. Also, the more data, the merrier. Syntax-based systems also require a parser in the pipeline (and good-quality syntactic annotations for the training data). Since (please do not feel offended) your question seems a bit naïve, let me advise you to do two things if possible: 1. follow a course in machine learning, 2. follow a course in natural language processing, covering at least parsing and MT.