Computational Linguistics - Discuss the computational criteria for a 'good' Natural Language Process

Authors Avatar

Computational Linguistics - Discuss the computational criteria for a 'good' Natural Language Process

Natural Language Processing is about developing computational methods for modelling natural language. Its ultimate aim can perhaps be seen as getting computers to understand human language, although at present this goal still remains a distant one. The persuit of this elusive goal has, however, led to a number of NLP systems geared towards specific areas of application rather than natural language understanding in the pure sense. The methods employed in each case are to a certain degree tailored to the requirements of a system. We must however remember that they are all dealing with natural language in some form, which makes it possible to identify a core set of components and techniques.

        NLP principally involves analysis and generation. Analysis can be viewed as mapping natural language onto a formal representation, which is more useful for the task in hand. Machine translation was perhaps the first application of NLP envisaged and its advance has been aided significantly by developments in computer science. Natural Language front ends for databases and expert systems constitute further applications and are intended to make systems more acceptable to the user. The majority of present applications deal with written language.

        The definition of a good NLP system rides ultimately on the criteria by which it is judged. In the case of this essay, the criteria are computational; for example, the system must be efficient in terms of speed and memory, modular and easy to maintain. As with every computer system it can also be judged by the extent to which it carries out the task for which it is designed. It is also useful to bear in mind other factors such as the psychological plausability of the system, that is, to what extent the system models the way humans understand and generate language. Humans do afterall represent the best NLP system to date and if we just solve the problem any old how the system may lack the desirable properties of being versatile and extendable.

        The first step which must be made when writing any computer program or designing a system is to analyse the task it is intended to carry out or support and thus establish the precise function of the system. This analysis serves as the basis on which subsequent decisions concerning the most suitable programming language, structural organisation, modes of representation and search, etc. are founded.

        What are the characteristics that a programming language must have to be appropriate for NLP? NLP can be viewed in terms of manipulating symbols (e.g. morphemes, words and constituents) and structured objects (e.g. trees and graphs). The numeric programming methods prevalent when NLP first began were incompatible with this more abstract view, although Lady Lovelace had already envisaged the possibility of computers being symbol manipulation devices in 1842:

Join now!

        The operating mechanism...might act upon other things besides numbers, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine (Lovelace 1961)

        The more recent translation of these notions into practise enabled high-level programming languages to be developed, which are oriented towards the needs of different categories of tasks and free the programmer to deal with the problem in the most appropriate manner, rather than having to adapt it to the way the ...

This is a preview of the whole essay