SplineAPI: A REST API for NLP Services
Modern applications often use Natural Language Processing (NLP) techniques and algorithms to provide sets of rich features. Researchers, who come up with these algorithms, often implement them for case studies, evaluation or as proof of concepts. These implementations are, in most cases, freely available for download and use.
Nevertheless, these implementations do not comprise final software packages, with extensive installation instructions and detailed usage guides. Most lack a proper installation mechanism and library dependency tracking. The programming interfaces are, usually, limited to their usage through command line, or with just a few programming languages support.
To overcome these shortcomings, this work aims to develop a new web platform to make available a set of common operations to third party applications that can be used to quickly access NLP based processes. Of course this platform still relies on the same tools mentioned before, as a base support to specific requests. Nevertheless, the end user will not need to install and learn their specific Application Programming Interfaces (API). For this to be possible, the architectural solution is to implement a RESTful API that hides all the tool details in a simple API that is common or, at least, coherent, across the different tools.
KeywordsNatural language processing REST API Web service DSL
This work has been partly supported by FCT - Fundação para a Ciência e Tecnologia within the Project Scope UID/CEC/00319/2013.
- 1.Cunningham, H., Maynard, D., Bontcheva, K.: Text Processing with GATE. Gateway Press, California (2011)Google Scholar
- 2.Fielding, R.T.: Representational State Transfer (REST). Ph.D. thesis, University of California, Irvine (2000). https://www.ics.uci.edu/fielding/pubs/dissertation/fielding_dissertation.pdf
- 4.Loper, E., Bird, S.: Nltk: the natural language toolkit. In: Proceedings of the ACL-02 Workshop on Effective Tools and Methodologies for Teaching Natural Language Processing and Computational Linguistics, ETMTNLP 2002, vol. 1, pp. 63–70. Association for Computational Linguistics (2002)Google Scholar
- 5.Mani, I., Maybury, M.T.: Advances in Automatic Text Summarization, vol. 293. MIT Press, Cambridge (1999)Google Scholar
- 6.Martin, J., Jurafsky, D.: Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 2nd edn. Prentice Hall, Upper Saddle River (2009)Google Scholar
- 7.Padró, L.: Analizadores multilingües en freeling. Linguamática 3(2), 13–20 (2011)Google Scholar
- 8.Pautasso, C., Zimmermann, O., Leymann, F.: Restful web services vs. big’web services: making the right architectural decision. In: Proceedings of the 17th International Conference on World Wide Web, pp. 805–814. ACM (2008)Google Scholar
- 9.Rychtyckyj, N.: Machine translation for manufacturing: a case study at ford motorcompany. In: Proceedings of the 18th Conference on Innovative Applications of Artificial Intelligence, IAAI 2006, vol. 2, pp. 1728–1735. AAAI Press (2006). http://dl.acm.org/citation.cfm?id=1597122.1597130
- 10.Sukrieh, A.: Dancer2: Manual - A gentle introduction to Dancer2 (2013). http://search.cpan.org/sukria/Dancer2-0.10/lib/Dancer2/Manual.pod