Linguistics, Psycholinguistics and Semantics

Language, in other words the storehouse of all human Knowledge is represented by words and meanings. Language by itself has an Ontological structure, Epistemological underpinnings and Grammar. Across languages, even though words /usages differ, the concept of meanings remain the same in respective communications. Yet the "Meanings" are understood by human beings based on Contextual, Relative, Tonal and Gestural basis. The dictionary meanings or 'as it is' meanings are taken rarely into consideration, thus human language is ambigious in one sense and flexible in other.

Computers on the other hand are hard-coded to go by the dictionary meanings. Thus teaching (programming) Computers to understand natural language (human language) has been the biggest challange haunting Scientists ever since the idea of Artificial Intelligence (AI) came into existance. In addition this has lead to the obvious question of "What is intelligence" from a Computation perspective. Defining intelligence precisely being impossible, this field of study has taken many shapes such as Computational Linguistics, Natural Language Processing and "
Machine Learning" etc. Artificial Intelligence instead of being used as a blanket term, is now being used increasingly as "Analytics" in many critical applications.

Sanskrit being the oldest is also the most Scientific and Structured language. Sanskrit has many hidden Algorithms built into it as part of its vast scientific treatises, for analysing "Meanings" or "Word sense" from many perspectives since time immemorial. "It is perhaps our job to discover and convert the scientific methods inherent in Sanskrit into usable Computational models and Tools for Natural Language Processing rather than reinventing the wheel" - as some Scientists put it. This blog's purpose is to expose some of the hidden intricate tools and methodolgies used in Sanskrit for centuries to derive precise meanings of human language, to a larger audiance particularly Computational Linguists for futher study, analysis and deployment in Natural Language Processing.

In addition, Sanskrit even though being flexible as a human language, is the least ambigious as the structure of the language is precisely difined from a semantical and syntactical point of view. From a Psycholinguistic perspective this blog could also give us a glimpse of the advanced linguistic capabilities of our forefathers as well their highly disciplined approach towards the structure and usage.

Thursday, February 7, 2013

Why Sanskrit? in Computational Linguistics - Part 1

This is a concise introduction to "How Sanskrit is the most suitable language for Computing?" and now "In what way Sanskrit is suitable for Computational Linguistics?"

When I first heard a few years back that Sanskrit is the most ideally suited language for Computing - I was curious to know How ? - I couldn't get any straight forward answer.  Later I found out on my own, with a bit of research in the Web and discussions with Linguistic scholars.

Two linguists namely Dr. Leonard Bloomfield and Dr. Zellig Harris who were living in early 20th Century were responsible for coming out with the theories of Structural Linguistics - main reason for the development of Computer programing languages. Widely used in the first and second generation of Programming languages

These two linguists - Leonard Bloomfield and Zellig Harris, I found that both of them went Germany during late 19th century /early 20th century and studied intensely both Vedic Grammar (Pratisakyam) and Paninian system - for 7 years !. in their post Doctoral research /studies. They both studied in details the works of Dr. Otto von Böhtlingk - a German Indologist and Sanskrit Scholar - specializing in Vyakarana

"From Wikipedia - pageöhtlingk was one of the most distinguished scholars of the nineteenth century, and his works are of pre-eminent value in the field of Indian and comparative philology. His first great work was an edition of the Sanskrit grammar of Panini, Aṣṭādhyāyī, with a German commentary, under the title Acht Bücher grammatischer Regeln (Bonn, 1839–1840)."

"From Wikipedia - page
The idea of describing the structure of language with rewriting rules can be traced back to at least the work of Pāṇini (before the 4th century BC), who used it in his description of Sanskrit word structure. American linguists such as Leonard Bloomfield and Zellig Harris took this idea a step further by attempting to formalize language and its study in terms of formal definitions and procedures (around 1920–60)

IAL (Intelligent Application Language) the first Computer Programming Language - from IAL born ALGOL-58 the first-generation popular programming language - John Backus a programmer in IBM labs developed the first notation  based on Sanskrit Grammar methods. Later when Peter Naur further developed the original ALGOL (58) into ALGOL-60 and created the Backus-Norm Form (BNF Notation) - it become a huge success and brought in major developments to the computer field.

From Wikipedia page -
"Further development of ALGOL led to ALGOL 60; in its report (1963), Peter Naur named Backus's notation Backus Normal Form, and simplified it to minimize the character set used. However, Donald Knuth argued that BNF should rather be read as Backus–Naur Form, as it is "not a normal form in any sense" unlike, for instance, Chomsky Normal Form. The name Pāṇini Backus form has also been suggested in view of the facts that the expansion Backus Normal Form may not be accurate, and that Pāṇini had independently discovered a similar notation centuries earlier"

Later date programming languages and linguistics got further development when Naom Chomsky introduced Generative Grammar. (Naom Chomsky is the student of Dr. Zellig Harris - Linguist and Sanskrit Vyakarana scholar) - Sanskrit language's speciality itself is its Generative Grammar & Morphology.

Thus it is very clear that Maharishi Panini not only helped to protect the Sanskrit grammar by writing his linguistic canon "Ashtadyayi". He also helped create Computer Programming languages. Panini - the first Computer Scientist.

Part 2 - How the rules of Ashtadyayi helped the Programming languages or how many of Panini's ideas are used "as it is" in programming languages.