Showing posts with label Technical Report. Show all posts
Showing posts with label Technical Report. Show all posts

Sunday 23 July 2023

On `Death by PowerPoint'

Preparing the Slides
  • think about your slides last
  • create a consistent look and feel
  • avoid slides with lots of text
  • use simple photos that enhance meaning
  • use storytelling
  • have a focused message that you want your audience to retain; 1 slide = 1 message
  • know your audience
Presenting the Slides
  • glance technology: take a pause between slides; let the audience take a look at the slides and then listen to the speaker for details
  • create a connection with the audience
Corporate vs. Academic Presentation
  • learn from TED talks how to present to a wide audience
  • "I noticed that in academia we tend to emphasize methodology for about 10 slides, and in the industry, they only have one slide of the method and 10 slides of results and implication of results aka. discussion."
  • leave detailed background explanations to follow-up questions
  • pictures are generally better than words

Present Research Project to Corporate Audience

Tuesday 5 April 2022

Automatic Speech Recognition (Part I)

Conversational AI: Automatic Speech Recognition) --> Natural Language Understanding --> Information Retrieval --> Natural Language Generation --> Text-to-Speech

P(W|O)  = argmax_W P(O|W).P(W)
The acoustic model estimates the observation likelihood P(O|W).
The language model estimates the prior probability P(W).

Applications: YouTube closed captioning; Cortana/Siri/Alexa front end; dictation systems

Resources: phonemes, pronunciation dictionary, speech data (labelled for phonemes and words), word vocabulary
https://openslr.org/index.html

Challenges:

  • speech recording: quality and acoustic range of the mic; 
  • background noise;
  • speaker: speed, age and accent of pronunciation; volume of speech (distance between speaker and mic)
  • language-specific constraints: inflections, no writing system;
  • code mixing; multilingual setting; 
  • speed of ASR (esp. in time-critical applications); 
  • task complexity: identify speaker; account for speech-noise; listen continuously or push-to-talk;
  • train ASR for new languages: create resources such as pronouncing dictionary, learn HMM and n-gram probabilities

Components: Acoustic Model (sampling, Fourier transform from time-domain to frequency-domain, pronunciation dictionary, HMM to map phonemes to word), Language Model (n-gram probabilities, smoothing, back-off, linear interpolation)

time-domain: time vs. frequency (pitch) plot
frequency-domain: extract component frequencies with the corresponding amplitudes

Evaluation: Word Error Rate (WER) is a measure of the word-level edit distance in terms of insertions, deletions and substitutions between the reference and the model output.

Vocabulary: humans learn ~30K words by middle age; in case of an open-vocabulary setting, consider all unknown words as the special token <UNK>

HMM: observations (phonemes), states (words), decode the HMM (estimate the best state sequence), train the HMM, evaluate the HMM (estimate the best observation sequence)

International Phonetic Alphabet: list of phones; English has 26 letters to convey the 44 syllable sounds;

CMU Pronunciation Dictionary (CMUdict): mapping between words and phones for North American English; 134000 entries; challenges (names, inflections, numbers)

ASR: CMU Sphinx (2015), Espresso (2019), NeMo, Whisper
TTS: WaveNet (2016), Tacotron (2017)

frequency (pitch)
amplitude (loudness)
waveform;
digitization (sampling, quantization); spectrum computed using Fourier transform; spectrogram; spectral features as vectors (LPC, PLP); phone likelihood estimation (using neural networks);

How to train an HMM?
How to remove background noise?
How to build ASR for different dialects of English?
Do we need a resource that is labelled for phonemes?
How to map speech to phonemes?
Why not build end-to-end ASR systems?

On Construction of the ASR-oriented Indian English Pronunciation Dictionary

https://docs.nvidia.com/deeplearning/nemo/user-guide/docs/en/main/asr/asr_language_modeling.html

Monday 7 March 2022

Principles of Computing

 

Theorems or Adages

  • No Free Lunch theorem - there is always a trade-off; originally proposed in the context of search and optimization
  • Black swan theory - theory on seemingly unexpected grand events
  • Hofstadter’s law - "It always takes longer than expected, even if you take into consideration the Hofstadter’s law."
  • Murphy’s law - "Anything that can go wrong will go wrong."
  • Infinite monkey theorem
  • The Chinese Room Argument - [discussed under Linguistics]
  • Pigeonhole principle
  • Moravec’s paradox - While hard tasks such as playing Go, logical reasoning, algebra are easy for AI systems, easy tasks such as moving an object, using common-sense are hard for AI systems.
  • AI effect refers to the tendency for onlookers to dismiss (artificial) intelligence for sheer brute force, number crunching or plain computation. This effect is also observable in magic when the trick gets revealed to the audience.
  • Church-Turing Thesis - Can a Turing machine compute everything that is computable? What is an algorithm? The Church-Turing thesis states that the Turing Machine model is at least as powerful as any computer that can be built in practice. The Church-Turing thesis states that known programming languages are capable of describing everything that could be described as an algorithm. In other words, it says the conventional definition of "algorithm" as that which can be done by executing programs-as-we-know-them is the right definition.
  • Turing-completeness - In computability theory, a system of data-manipulation rules (such as a computer's instruction set, a programming language, or a cellular automaton) is said to be Turing-complete or computationally universal if it can be used to simulate any single-tape Turing machine. So, if somebody says "my new thing is Turing-complete" that means in principle (although often not in practice) it could be used to solve any computation problem. A basic calculator or a scientific calculator is not Turing-complete. Programming languages are similar to those machines (although virtual). They take programs and run them. Most programming languages, conventional and unconventional, such as C, Java, Lisp, Haskell and Prolog, are Turing-complete. The typesetting language LaTeX is also Turing-complete. However, markup languages such as XML and HTML are non-Turing-complete languages. Formal languages such as regular languages and context-free languages are Turing complete. On the other hand, logics such as propositional logic and predicate logic are not Turing complete.
  • AI-complete - The hardest problems in AI (such as vision, natural language understanding, and planning) are AI-complete. In other words, solving an AI-complete problem is equivalent to making computers as intelligent as people.
  • Strong AI vs. Weak AI - Strong AI is general AI (a.k.a. AGI) that can perform any intellectual task that a human being can. Weak AI (a.k.a. narrow AI) is AI that can perform specific intellectual tasks (e.g. IBM Watson).
  • Friendly AI - FAI is general AI that would have a positive impact, rather than a negative effect, on humanity. The closely-related areas are machine ethics and AI takeover.
  • Colossal Disaster - IBM Watson is merely a massive engineering (and marketing) effort comprised of heavy parallelism, huge knowledge base and clusters. The technologies that power Watson include (1) information retrieval and information extraction, (2) computational linguistics (statistical paraphrasing, semantic role labelling), (3) machine learning and (4) knowledge representation and reasoning (temporal reasoning, geospatial reasoning). Watson is expert at playing Jeopardy!. So maybe it is an expert system. But is it an AI system? Roger Schank doesn’t think so because it is yet to display intelligence. If it were an AI system then it should be able to answer the following kinds of questions: (1) between Jim and Betty, who is the better person to lead our new social initiative while creating a more transparent culture, (2) can you create an operational strategy to achieve these revenue objectives, (3) how would you rate the CEO’s speech on employee morale?, (4) how do you think this marketing campaign will impact our customers and prospective customers, or (6) was Jim’s joke funny? These questions pertain to request for opinion, strategy and complex phenomena such as morale, jokes, feeling and emotions.
  • Recommender systems - The technosphere is filled with recommender systems such as Google search, Facebook feed, Twitter feed, YouTube video recommendation and Amazon product recommendation.
Computer Languages
  • General Purpose Programming Language: C (procedural programming, ancient); Java (no pointers, garbage collector, enterprise language, statically typed, Hibernate database application framework, Struts and Spring web application frameworks); Scala (object-oriented + functional programming, statically typed); C++ (object-oriented programming)
  • Scripting Language: Python (dynamically typed, Django web application framework); awk (structured text search and replace)
  • Functional Language: Haskell (functional programming, statically typed)
  • Logical Language: Prolog (logic programming)
  • Query Language: SQL (query rdbms database); XPath (query xml database)
  • Shell Programming Language: bash (run commands from script)
  • Data Language: HTML (exchange data, common in www); XML (exchange data)
  • Modelling Language: RDFS (less expressive modelling); OWL (more expressive modelling)

Friday 4 February 2022

Modern DS Software Development

Team Structure

  • Developers
    • Planning: Agile (SCRUM, Kanban)
    • Coding: version control system (svn, git), integrated development environments (Eclipse, PyCharm)
    • Building: makefile, Maven (pom.xml)
    • Testing: Selenium, HP QTP
  • DevOps: Jenkins
  • Operations
    • Deploy: Docker
    • Operate
    • Monitor: Nagios

Web Development

  • browser: Firefox, Chrome, Safari
  • PL: what to do (Java, JavaScript, Python, Ruby, PHP)
  • HTML: what to show
  • CSS: how to show
  • database: how data is stored (MySQL, Oracle, MongoDB)
  • data format: how data is exchanged (JSON, XML)
  • framework: platform or content-management system (Struts/Java, Meteor/JavaScript, Django/Python, Rails/Ruby, WordPress/PHP, Drupal/PHP)
  • front-end: browser, HTML, CSS, PL
  • back-end: server, database
  • client: user of a web application
  • server: where application is stored
  • protocol: how machines communicate (HTTP)
  • cloud computing services
    • compute power, database storage, DBMS, AI services;
    • SaaS (Google Apps); PaaS (Amazon retail, Flipkart retail); IaaS (Google Drive, Amazon Web Services, Microsoft Azure);Network-as-a-Service or NaaS (Asianet ISP); Data-as-a-Service or DaaS

ELK Stack: ElasticSearch (full-text search engine, run ML); Logstash; Kibana (data analysis and visualization)

Databases

  • Relational (SQL) databases
    • have to have a schema
    • poor horizontal scaling (possibly due to tight coupling between tables)
    • e.g. SQL Server, MySQL
  • NoSQL
    • enables better horizontal scaling (adding new servers, partitions)
    • no need to have a schema (good for constantly evolving data)
    • flexible
    • key-value storage (JSON)
    • e.g. MongoDB, Cassandra
Docker
  • facilitate faster application delivery and deployment; ensure portability by separating application from infrastructure; enables a microservice-based architecture
  • wrap OS, dependencies, configuration, directories and files (and not data) into a single lightweight application
  • follows a client-server architecture; relies on Linux virtualization, cgroups, namespaces
  • use Dockerfile to build a Docker image
    • FROM (choose base image), MAINTAINER (for documentation purpose), RUN (execute commands during image building), CMD (execute commands by the running image), ADD (files to image), ENV (define environment variables), VOLUME, WORKDIR (change working directory), USER
  • save images on (public/private) registry, e.g. Docker Hub
  • run images as a Docker container
  • use volumes for persistent data
  • Docker commands
    > docker pull, push
    > docker create, run, start, kill, rm, stop, commit
    > docker images, rmi, ps, logs

Kubernetes

  • container orchestration platform
  • automatically deploy, manage and scale containerized applications
  • k8s cluster services
  • application configuration (app1.yaml file)

Friday 31 December 2021

Review: OOP Concepts

OOP Concepts: Encapsulation, Inheritance (reuse properties and behaviours), Polymorphism (method overloading and method overriding), Abstraction (abstract classes and interfaces)

 - parameter (function declaration) vs. argument (function call)
 - method vs. function

 - access specifier: private (only within class), default (within the package), protected (within same package and for subclasses), public
 - abstract (just idea; define in subclass) vs. interface (all methods are abstract)
 - extends (wrt class) vs. implements (wrt interface)
 - final (cannot override)
 - static
 - super vs. this
 - static binding (method overloading) vs. dynamic binding (method overriding)

 - single-level inheritance vs. multi-level inheritance
 - multiple inheritance vs. hierarchical inheritance
 - hybrid inheritance

 - getter vs. setter
 - high cohesion vs. loose coupling

Tuesday 1 June 2021

Artificial Intelligence: A Guide for Thinking Humans, Melanie Mitchell

Prologue; Part I:  BACKGROUND

The goal of AI is, supposedly, to solve intelligence and use it to solve everything else.

The main hypothesis behind the creation of AI is that any aspect of learning or intelligence can be simulated by a machine. Brain is composed of cells, neurons, and matter that obey laws of physics.

Two problems associated with the development of AI are: (1) people are rushing blindly and deliriously to create AI without giving a thought on its implications, and (2) the trivialization of humanity (emotions, society, music, art, games, movies, literature).

Technological singularity is the point at which machine intelligence surpasses human intelligence, which leads to an intelligence explosion. This happens because an intelligent being is capable of creating an even more-intelligent being. Ray Kurzweil is a proponent of technological singularity and forecasts that singularity is imminent in a few decades. Ray Kurzweil attributes his prediction to exponential growth, Moore's law, neuroscience, virtual reality. He also predicts that a computer will pass the Turing Test by 2029. The two main arguments of his sceptics are: (1) intelligence does not reside solely in the brain; that all the senses associated with the human body are necessary for intelligence to operate (social intelligence, emotional intelligence), and (2) software has not shown any exponential progress.

PART II: COMPUTER VISION

ImageNet (~WordNet) is a dataset of images built with the help of annotators recruited using Amazon Mechanical Turk. AlexNet solved the task of object identification in ImageNet using convolutional neural-networks (ConvNet) and GPUs.

Some technical challenges to AI are (1) the long tail, (2) easy to fool (adversarial examples), (3) bias, (4) supervised learning is not how humans learn; unsupervised learning is the dark matter of AI, (5) data-hungry systems "big data", need a lot of labelled data, (6) inability to interpret the results "show your work", (7) spurious correlation "clever Hans", (8) rely on human understanding of the task in model design, hyperparameter tuning.

We already use AI systems in our day-to-day lives: recommender systems (Amazon, YouTube), web search engines (Google Search, Microsoft Bing), translators (Google Translate, DeepL), personal digital assistants (Alexa, Cortana, Siri). However there are some issues of dispute and concern. How to enforce ethics in AI? How to regulate development and deployment of AI especially in domains such as mass surveillance, face recognition, and arms race? Do we need to teach morality to machines "moral machines"?

Part III: LEARNING TO PLAY

Reinforcement Learning (RL)

Reinforcement learning is a type of machine learning in which the agent learns by itself through reinforcement (rewards) from the environment. Humans learn to ride the bicycle through a similar process. 

The primary approach in RL is to learn the Q-table through multiple episodes (one episode corresponds to a complete game of Breakthrough) and multiple iterations (one iteration corresponds to a single action such as one move). An evaluation function evaluates the current states and predicts the next move by exploiting and exploring the set of values for each possible action. These value of an action indicates the agent's estimate of the reward at the end of the episode if that action is chosen at a given state.

For domains with simple state description, computing the Q-table is easier.  The objective then is to compute values of each action at every possible state. However for complex domains such as self-driving cars which can have inputs from thousands of sensors, neural networks can be used to process the input and generate the state description. These neural networks can then group similar states together through its state representation.

Game Engines

Traditionally, game engines such as IBM Deep Blue (vs. Garry Kasparov, 1997) relied on game trees and pruning algorithms such as minimax. However generating the game tree in real-time for games such as Go proved to be difficult even with sophisticated computing power.

With the advent of deep learning, it has been shown that it is possible to learn the Q-table through the use of neural networks. These Deep Q-Networks (DQN) employed a technique called temporal difference learning, which is based on the hypothesis that the evaluation function becomes more accurate as the games proceeds. 

DeepMind developed AI game engines that relied on deep Q-learning on Atari games and Go (AlphaGo vs Lee Sedol, 2016) Specifically, AlphaGo employed a combination of techniques: convolutional neural networks, deep Q-learning, Monte Carlo tree search and powerful hardware.

Simulation to Reality

However it is difficult to transfer the knowledge gained by the agent to other domains (due to lack of understanding or capabilities of abstraction or transfer learning) or into the real-world (due to ambiguity, noise, unpredictability). These models are also vulnerable to adversarial examples.

While board games or Atari games are easy to solve by current AI systems, these domains are not so challenging. The simple game of dumb charades will be much more harder because the game requires visual, linguistic and social understanding.

Moreover, though it is claimed that the RL agents are capable of learning by themselves without any specialized domain knowledge, the agent receive some amount of guidance through the choice of model architecture and hyperparameters.

PART IV: NATURAL LANGUAGE PROCESSING (NLP)

AI has been very successful in speech recognition.

The use of language is a major hallmark of human intelligence. Reading and writing are specific to humans. Humans all over the world talk. The main component of the Turing Test is language.

The recent advances in NLP can be attributed to  word embeddings (which are based on distributional semantics), recurrent neural networks and pre-trained language model (GPT-2, BERT).

Machine translation is an active research area. Though machines perform well, the evaluation method (BLUE score) is flawed. They make mistakes. They are vulnerable to adversarial examples or in the presence of noise (e.g. grammatical errors, SMS text). They do not work well on low-resource languages (e.g. Indian languages).

Question answering is another active research area. IBM Watson beat the world champion in the quiz show Jeopardy! Though digital personal assistants such as Siri, Cortana, Alexa perform question-answering, typically they perform mere answer retrieval. 

PART V: MEANING AND UNDERSTANDING 

The primary traits of human intelligence are the following: 

  • intuitive physics (e.g. world is composed of objects, objects have weight), intuitive biology (e.g. that there are animate and inanimate objects), intuitive psychology (social intelligence), 
  • knowledge of abstract and concrete concepts (metaphor), abstraction (ability to generalize between concepts) and analogy making (identify common essence between two concepts), 
  • cause and effect (e.g. if we push an object, the objects moves unless it is heavy or pulled by somebody else), predict possible futures,  simulate counterfactual events (e.g. tsunami in Heidelberg), ability to reason (use knowledge), 
  • self-awareness (consciousness)

Bongard problems are designed to test the abstraction and analogy-making skills of AI. Copycat was an approach that tested these skills in a microworld --- the letter-string domain.

Cyc is an ongoing project to teach machines common-sense.

Humans have the power of metacognition, in addition of cognition. We can think about, and reason on, what we think and what others think.

Q1: How soon are self-driving cars going to a reality? Ans: We're still far, far away from developing fully  autonomous vehicles.

Q2: Will AI replace all jobs? Ans: AI will likely create a new set of jobs. AI will replace low--pay, boring, degrading, dangerous jobs.

Q3: Should we be scared of AI? Ans: Humans need not be scared of super-intelligence; at least for the next couple of decades. However we should be worried about the reckless rush to deploy AI in all spheres of life without understanding intelligence, and capabilities and vulnerabilities of AI.

Q4: Can machines be creative? Ans: Most AI systems need a human in the loop. Seemingly creative systems such as AI relied on Cope's knowledge about music, algorithm design, and selection of music. More importantly, EMI was not capable enough to judge or appreciate its own music. EMI did not "understand" music, time signatures, rhythm, tune and many other concepts related to music and composition.

What makes us proud is not only the ability to produce music, but also the ability to appreciate it, the ability to comprehend what it communicates.

Tuesday 26 November 2019

Software Licensing

Monday 15 April 2019

മലയാളഭാഷാ വ്യാകരണം || Malayalam Grammar Basics

Malayalam is a Dravidian language, spoken predominantly by about 38M inhabitants of Kerala in India, and the Malayalee diaspora around the world. The word order is subject-object-verb. Malayalam has  heavily been influenced by other languages such as Sanskrit (ref. Manipravalam) and Tamil. Malayalam is classified as an agglutinative (synthetic) language due to the predominant use of inflections to indicate grammatical relationships. Malayalam has its own script and the modern alphabet consists of more than 50 characters. The script evolved from Vattezhuthu (an ancient Tamil script) and Grantha script (used to write Sanskrit). Malayalam and Tigalari (of Tulu) are sister scripts.

The major linguistic elements in Malayalam are the following:

സന്ധി - സന്ധി defines the joining of letters . There are many ways to perform സന്ധി in Malayalam: (1) അദേശസന്ധി (മരം+കൾ=മരങ്ങൾ), (2) ലോപസന്ധി  (വനം+മേഖല =വനമേഖല), (3)ആഗമസന്ധി (ദയ+ഉള്ള=ദയ+യ്+ഉള്ള), (4) ദ്വിത്വസന്ധി (അര+പട്ട=അരപ്പട്ട), ... 

സമാസം - സമാസം deals with the joining of words. ഉദാ: തീ തുപ്പുന്ന വണ്ടി = തീവണ്ടി, അച്ഛൻ + അമ്മ = അച്ഛനമ്മമാർ. An example for word composition in English is: attendant during flight = flight attendant 

അലങ്കാരം - അലങ്കാരം deals with figures of speech ഉദാ: ഉപമ, ശ്ലേഷം. It is of two types: (1) ശബ്ദാലങ്കാരം, (2) അർത്ഥാലങ്കാരം 

വൃത്തം - വൃത്തം  deals with prosody. 

Nouns - Nouns are inflected for case and number. Nouns are not inflected for gender in Malayalam. The cases in  Malayalam are as follows:
  1. Nominative (രാമൻ) - Nominative case always denote the subject of the sentence.
  2. Accusative (രാമനെ)  - Accusative noun denotes the object of the sentence. In sentences where there is a nominative, accusative and dative noun, the nominative will be the subject, the accusative the direct object and the dative, the indirect object.
  3. Sociative (രാമനോട്) - Sociative case is grammatically similar to accusative case, but semantically different. The  sociative nouns do not function in the role of experiencer but only as recipients.
  4. Dative (രാമന്, മേരിക്ക്) - In sentences where there is no nominative noun, the dative functions as the subject. In sentences involving both nominative and dative nouns, the latter functions as the indirect object.
  5. Instrumental (രാമനാൽ, വടികൊണ്ട്, വടിയിട്ട്)
  6. Genitive (മേരിയുടെ, രാമന്റെ)
  7. Locative (മുറിയിലേക്ക്, മുറിയിൽ, തണലത്തു, വെള്ളത്തിലൂടെ) - Locative case provides temporal and spatial meanings.
  8. Vocative (രാമാ, രാധേ)

Subject
Object
Nominative (e.g. രാമൻ_NOM) + -
Dative (സീതയെ_DAT) + +
Accusative (e.g. പുസ്തകം_ACC) - +
Sociative (e.g. രാമനോട്) - +
Examples: (1) Alice loves Bob. രാമൻ_NOM സീതയെ_DAT ഇഷ്ടപ്പെടുന്നു. (2) Alice gave the book to Bob. രാജു_NOM രാധയ്ക്ക്_DAT ആ പുസ്തകം_ACC കൊടുത്തു. 

Verbs - Morphology of verbs in Malayalam is complex due to the rich agglutination. Verbs are inflected for tense, aspect, mood and voice. There is no inflection for gender, person or number.
Past ചെയ്തു (simple)
ചെയ്തുകൊണ്ടിരുന്നു (continuous)
ചെയ്യാറുണ്ടായിരുന്നു, ചെയ്തിരുന്നു (habitual) ചെയ്തിരുന്നു, ചെയ്തുകഴിഞ്ഞിരുന്നു (pluperfect)
resent ചെയുന്നു (simple)
ചെയ്തുകൊണ്ടിരിക്കുന്നു (continuous)
ചെയ്യാറുണ്ട് (habitual)
ചെയ്തിരിക്കുന്നു, ചെയ്തിട്ടുണ്ട്  (perfect)
Future ചെയ്യും (simple)
ചെയ്തുകൊണ്ടിരിക്കും (continuous)
ചെയ്തിരിക്കും, ചെയ്തുകാണും (perfect)
Mood
(1) Indicative - ചെയുന്നു, ചെയ്തു, ... (2) Imperative - ചെയ്യണം, ചെയ്യ്, ...   (3) Interrogative - ചെയ്തോ, ചെയ്യാമോ, ചെയ്യുമോ, ... (4) Subjunctive - ചെയ്യുമായിരുന്നു, ചെയ്തേനെ, ചെയ്തിരുന്നെങ്കിൽ, … (5) Promissive - ചെയ്യും, ചെയ്തിരിക്കും (6) Possibility - ചെയ്യുമായിരിക്കും  
(7) Ability - ചെയ്യാം
(8) Obligation - ചെയ്യണം
Voice
(1) Active - ചെയ്തു
(2) Passive - ചെയ്യപ്പെട്ടു
(1) കേവലരൂപം - ചെയ്യുന്നു
(2) പ്രയോജകരൂപം - ചെയ്യിക്കുന്നു


മലയാളം അക്ഷരമാല
സ്വരം, അനുസ്വാരം, വിസർഗം
വ്യഞ്ജനം, മധ്യമം
ചില്ല്
അനുനാസിക (ങ്ങ, ഞ, ന, ണ, മ) 
 
Further Reading
  1. Malayalam-English Dictionary, Hermann Gundert, 1872
  2. മലയാളഭാഷാവ്യാകരണം, Hermann Gundert, 1851
  3. കേരളപാണിനീയം, AR Raja Raja Varma, 1896
  4. The Essentials of Malayalam Grammar, L Garthwaite, 1903
  5. ശബ്ദശോധിനി, AR Raja Raja Varma, 1918 (2nd ed. of കേരളപാണിനീയം)
  6. Asher, R.E and Kumari, T.C. (1997) Malayalam, Routledge, London and New York.
  7. A Grammar of Malayalam, PhD Thesis, RSS Nair, 2012
  8. Malayalam Proverbs, Pilo Paul, 1902