4

I am writing a program that will take input from users in non-English languages (German, French, Spanish, Italian, and Portuguese) and will need to determine whether the input is grammatically correct. The majority of the coding will be done in Python, so I would like suggested tools to have a Python interface if possible.

I've found the Python NLTK which contains a grammar module. Their data includes English and Spanish grammars, but I am still in need of the other languages. Any help is greatly appreciated. Also, grammars for other languages are welcome, but the listed ones are the ones I will definitely need.

1
  • 1
    As far as I know, the NLTK grammars are Context-Free Grammars for parsing / generation rather than a module which checks grammar against some standard set of usage guidelines.
    – dmh
    Commented May 31, 2013 at 21:15

2 Answers 2

2

A long time ago, LanguageTool used to be usable with just OpenOffice. These days, they have a stand-alone version too. In contrast to NLTK, LanguageTool is made (and extended) with Java. I suppose you could use Jython.

AbiWord also has a grammar checking tool that is built using Link Grammar. This was made with C.

Both tools support many languages.

1
  • Thanks for the help! LanguageTool seems to be exactly what I need. They've got an embedded server that I can set up and just send requests to since my code will be running as part of a web page.
    – Alison Kao
    Commented Jun 3, 2013 at 21:26
2

You may want to have a look at OpenNLP http://opennlp.apache.org/. It's in JAVA but it does have a parsing component. It is supposed to be available across languages but you may have to train it. Frankly, I haven't used it for anything myself so would be interested in hearing whether it is useful for an application like yours.

1
  • I took a quick look at OpenNLP, and while it seems pretty cool, I just need a simple way to check the grammar. Thank you for the help though.
    – Alison Kao
    Commented Jun 3, 2013 at 21:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.