next up previous contents
Next: C. Support for Gcc Up: Aspell .29.1 alpha A Previous: A. Changelog   Contents

Subsections

B. To Do

Words in bold indicate how you should refer to the item when discussing it with me or others.

B.1 Things that will be done real soon

These items should get done within a release or two.

B.2 Things that need to be done

Things items will eventually be implemented as I know they are important however I am not sure when they will get done.

B.3 Things that I would like to get done

These items will eventually be implemented. I hope to have them all done before I move aspell to beta testing. They are in the approximate order of when they will get done.

B.4 Things that will be done eventually

I plan on doing these things eventually. It is just a matter of getting around to it.

B.5 Good ideas that are worth implementing

These items all sound like good ideas however I am not sure when I will get to implementing then if ever. If you are looking for a way to contribute picking up on one of these ideas would be a great way to start. They are presented in no particular order.

The following good ideas where found in the ispell WISHES file so I thought I would pass them on.

B.6 Things that are not likely to get implemented

Theses ideas are not likely to get implemented any time soon.

B.7 Notes and Status of various items


B.7.1 Affix Compression

Due to the current way my spell checker works implementing affix compression would be next to impossible. Nevertheless, I do realize that for some languages affix compression is very important.

So to solve this dilemma I plan on having two different modes of my spell checker: One with affix compression that does not use soundslike pairs (much like ispell) and one without affix compression that does use soundslike.

I plan to extract the affix manipulation code from Ispell with the help of an Ispell author. The tricky part would be getting this to getting this all to work properly at tun time bases on the dictionary used.

B.7.2 Extremely Large Dictionaries

This problem extends back to the fact of the way words are index is Aspell. This problem will get resolved when I implanted the affix compression mode as only one index would be used.

B.7.3 General region skipping

I want to implement this give other people an idea of how it should be done and because I am really sick of having to spell check through url and email address.

B.7.4 Word skipping by context

This was posted on the Aspell mailing list on January 1, 1999:

I had an idea on a great general way to determine if a word should be skipped. Determine the words to skip based on the symbols that (almost) always surround the word.

For example when asked to check the following C++ code:

cout « "My age is: " « num « endl;  
cout « "Next year I will be " « num + 1 « endl; 
cout, num, and endl will all be skipped. "cout" will be skipped because it is always preceded by a «. "num" will be skipped because it is always preceded by a «. And "endl" will be skipped because it is always between a « and a ;.

Given the following html code.

<table width=50% cellspacing=0 cellpadding=1>  
<tr><td>One<td>Two<td>Three  
<tr><td>1<td>2<td>3  
</table> 
 
<table cellspacing=0 cellpadding=1>  
</table>
table, width cellspacing, cellpadding, tr, td will all be skipped because they are always inclosed in "<>". Now of course table and width would be marked as correct anyway however there is no harm in skipping them.

So I was wondering if anyone on this list has any experience in writing this sort of context recognition code or could give me some pointers in the right direction.

This sort of word skipping will be very powerful if done right. I imagine that it could replace specific spell checker modes for Tex, Nroff, SGML etc because it will automatically be able to figure out where it should skip words. It could also probably do a very good job on programming languages code.

If you are interested in helping be out with this or just have general comments about the idea please let me know.

B.7.5 Hidden Markov Model

Knud Haugaard Sørensen suggested this one. From his email on the Aspell mailing list:

consider this examples.

a fone number. -> a phone number.
a fone dress. -> a fine dress.

the example illustrates that the right correction might depend on the context of the word. So I suggest that you take a look on HMM to solve this problem.

This might also provide a good base to include grammar correction in aspell.

see this link http://www.cse.ogi.edu/CSLU/HLTsurvey/ch1node7.html
I think it is a great idea. However unfortunately it will probably be very complicated to implement. Perhaps in the far future...


next up previous contents
Next: C. Support for Gcc Up: Aspell .29.1 alpha A Previous: A. Changelog   Contents
Kevin Atkinson 2000-02-18