Morphological Structure Discovery

Language: Hindi

Tool: Undivide++

Section #0: Groundthruth and problems(Convenor)

  1. The groundtruth: GroundTruth-morph.txt
  2. The Problems: problem-morph.txt

Section #1: Creating the file for Undivide++

  1. First we created a large corpus by clubbing the given corpora, HC corpora and the hindi corpus from CFLIT, IIT Bombay. Here is the python code for combining the CFLIT files, here.
  2. The we selected all the terms from the corpus that were a part of the hindi corpus. We simultaneously calculated and then printed the frequency of all the hindi words as undivide++ needs it. The python code for which is here.
  3. We also encountered a hardware limitations as the memory was not sufficient to run the entire corpus. We edited the number of words with different values till we reached a limit, the code is here.

Next I ran the obtained frequency through Undivide++. I selected the words and their sandhi viched corresponding given list(list 02) using python code(here). Then I compared each sandhi viched to the correct sandhi viched of each word list02.The number of words found in corpora from list02 were 248 and they are here.

The initial precision was ~16%.


Section #2: Removing Infrequent words

Infrequent word were removed manually or by settings in the parameters. Setting LOW_FREQUENCY_DROPOUTS and LOW_FREQUENCY_DROPOUTS_LEARNING to 3 accomplished this, but only marginal change in efficiency was observed, keeping other parameters constant. Also setting these to 3 avoided a core dump that occured otherwise due to inadequate hardware(memory).


Section #3: Working with parameters in Undivide++

I used all major steps in the computation, for eg: ./a.out example.hin 1 1 1 1 1

After some experimentation, the best results were obatined with the following parameters:

The major parameters affecting the output were:
  1. PROMOTE_LONG_SEGMENTATION set to 0
  2. SUFFIX_CUTOFF_THRESHOLD
  3. PREFIX_CUTOFF_THRESHOLD
  4. WRFR_SUFFIX_THRESHOLD

Section #4: Results and Errors

    The Results were:
  1. Total Words from the given list, found in the corpus: 248
  2. Total Words Correctly segmented: 121
  3. Precision: 61.1%
  4. Recall: 84.2%
  5. F-Score: 72.11%

Section #5: Links In Assignment