Difference between revisions of "Language/Multiple-languages/Culture/Text-Processing-Tools"

From Polyglot Club WIKI
Jump to navigation Jump to search
Line 12: Line 12:
In Arabic writing system, diacritics indicate the vowel, but they are often omitted for writing fluently. The process of restoring them is called diacritization.
In Arabic writing system, diacritics indicate the vowel, but they are often omitted for writing fluently. The process of restoring them is called diacritization.


Tools:
Arabic:
* Farasa https://github.com/MagedSaeed/farasapy
* Shakkelha Website https://github.com/AliOsm/shakkelha-website


Yoruba:
* Yorùbá text https://github.com/Niger-Volta-LTI/yoruba-text


== Word segmentation ==
== Word segmentation ==

Revision as of 14:32, 20 May 2021


In this lesson, several useful linguistic tools useful for common language learners are discussed.

Many of tools introduced are written in Python, which is an important language in machine learning. It's very easy to use: just create a blank “.py” file, write a line to import from the library, write a line to segment the text, write a line to save the result.

If you don't know Python, please try this:

Diacritization

In Arabic writing system, diacritics indicate the vowel, but they are often omitted for writing fluently. The process of restoring them is called diacritization.

Tools: Arabic:

Yoruba:

Word segmentation

In some languages, words are not separated by spaces, for example: Chinese, Japanese, Lao, Thai. In Vietnamese, spaces are used to divide syllables instead of words. This brings about difficulties for computer programs like VocabHunter, gritz and text-memorize, where words are detected only with spaces.

The solution is called “word segmentation”, which detects words and insert spaces in between. You may want to ask: The programs only recognise spaces as the word separators, how to deal with Vietnamese? The answer is using the non-breaking space.

The process sounds easy, but the programs have to deal with ambiguities and unknown words including proper names, the time and accuracy are both to be considered. It can be based on the dictionary or machine learning.


Here are free and open-source tools to do it:

Chinese:

Japanese:

Thai:

Vietnamese: