Difference between revisions of "User:Wei2912"

From Apertium
Jump to navigation Jump to search
(Rewrite section)
Line 27: Line 27:
 
In this example we're converting the following PDF file: http://home.uchicago.edu/straughn/sakhadic.pdf
 
In this example we're converting the following PDF file: http://home.uchicago.edu/straughn/sakhadic.pdf
   
  +
We copy the text directly from the PDF file, as PDF to text converters are currently unable to convert the text properly (thanks to the PDF format).
The following preprocessing is done (using sed and humans):
 
   
  +
Here's a small sample:
1. The PDF is converted to text (using http://www.unixuser.org/~euske/python/pdfminer/index.html which has a `pdf2txt.py` utility)
 
2. Blank lines, bullet points and page numbers are removed.
 
3. Sections such as introduction, bibliography, etc. are removed.
 
4. Remove the unneeded equal signs.
 
 
The process may vary for other dictionaries.
 
 
Once this is done, we obtain a dictionary file that looks like this:
 
   
 
<pre>
 
<pre>
аа
+
аа exc. Oh! See!
 
ааҕыс= v. to reckon with
exc.
 
  +
аайы a. each, every; күн аайы every day
Oh! See!
 
  +
аак cf аах n. document, paper; аах= v. to read
аа
 
 
аал n. ship, barge, float, buoy
ҕ
 
ыс
 
v.
 
to reckon with
 
аайы
 
a.
 
eac
 
h, every;
 
к
 
ү
 
н
 
аайы
 
every day
 
аак
 
cf
 
аах
 
n.
 
document, paper;
 
аах
 
v.
 
to read
 
аал
 
n.
 
ship, barge, float, buoy
 
аал
 
v.
 
to rub
 
аалыс
 
v.
 
to socialize, mingle with
 
аан
 
n.
 
door, entrance;
 
ааннаа
 
v.
 
to provide with a door;
 
олбуор
 
аана
 
n.
 
gate
 
аар
 
-
 
маар
 
a.
 
stupid
 
 
</pre>
 
</pre>
   
  +
As we can see, words on the same line are seperated by "; ". Hence, we can replace "; " with "\n" so as to get a list of words seperated by newlines.
The problem with conversion from PDF to text usually lies in the fact that loads of words have newlines in the middle of them. This is due to a limitation of the PDF converter.
 
 
Fortunately for us, we can see that the format is somewhat regular:
 
 
<pre>
 
partofword
 
partofword
 
...
 
partofword
 
abbreviation ==> ends with a fullstop
 
definition
 
definition
 
...
 
definition
 
</pre>
 
   
  +
A diff reveals the following image: [[File:Sakhadic_pg3.png]]
The problem is to find out when the definition ends and a new word begins.
 

Revision as of 07:57, 2 December 2014

My name is Wei En and I'm currently a GCI student. My blog is at http://wei2912.github.io.

I decided to help out at Apertium because I find the work here quite interesting and I believe Apertium will benefit many.

The following are projects related to Apertium.

Wiktionary Crawler

https://github.com/wei2912/WiktionaryCrawler is a crawler for Wiktionary which aims to extract data from pages. It was created for a GCI task which you can read about at Task ideas for Google Code-in/Scrape inflection information from Wiktionary.

The crawler crawls a starting category (usually Category:XXX language)for subcategories, then crawls these subcategories for pages. It then passes the page to language-specific parsers which turn it into the Speling format.

The current languages supported are Chinese (zh), Thai (th) and Lao (lo). You are welcome to contribute to this project.

Spaceless Segmentation

Spaceless Segmentation has been merged into Apertium under https://svn.code.sf.net/p/apertium/svn/branches/tokenisation. It serves to tokenize languages without any whitespace. More information can be found under Task ideas for Google Code-in/Tokenisation for spaceless orthographies.

The tokeniser looks for possible tokenisations in the corpus text and selects the tokenisation which tokens appears the most in corpus.

A report comparing the above method, LRLM and RLLM (longest left to right matching and longest right to left matching respectively) is available at https://www.dropbox.com/sh/57wtof3gbcbsl7c/AABI-Mcw2E-c942BXxsMbEAja

Conversion of PDF dictionary to lttoolbox format

NOTE: This document is a draft.

In this example we're converting the following PDF file: http://home.uchicago.edu/straughn/sakhadic.pdf

We copy the text directly from the PDF file, as PDF to text converters are currently unable to convert the text properly (thanks to the PDF format).

Here's a small sample:

аа exc. Oh! See!
ааҕыс= v. to reckon with
аайы a. each, every; күн аайы every day
аак cf аах n. document, paper; аах= v. to read
аал n. ship, barge, float, buoy

As we can see, words on the same line are seperated by "; ". Hence, we can replace "; " with "\n" so as to get a list of words seperated by newlines.

A diff reveals the following image: Sakhadic pg3.png