NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

mentor for user friendly and intelligent shell project

I  have idea about making intelligent and user friendly shell.I will be
very thankful if your organisation  can mentor  my project during GSOC.
Idea is:
For a novice user remembering all commands is not possible ,Converting
simple written English into shell
commands can help an un experienced users to use and learn shell
commands .Secondly,Terminal uses exact command matching model .Some user might
forget exact command ,in such cases approximate matching capability of
shell can suggest commands to user,from which user can select
appropriate command .
English text can be processed using lexical,semantic , syntatic
knowledge  and real world information of the language (NLP) and hence
commands can be generated .Applying these concepts in shell can help
novice user to get commands coresponding to written english text.
For example:
  1.  Suppose someone want to connect to internet using dial up .
He/She has to first configure wvdial.conf where he/she has to write
modem type, user name ,password  and then execute wvdial command to
start connection .For an inexperienced user, it will be good if system
can support him/her for performing these tasks by either guiding or
executing commands for user. By making a new command for this purpose
say “help me” command can help user.
@root# help me “connect to net".
it automatically  finds that  wvdial.conf has to be configured and
prompt user to configure it and then give a message telling "wvdial"
should be used to connect to net or shell automatically execute the

For correcting commands, Listance model a variation of Longest Common
Subsequence Model  can be used. In this model two words are considered
to be same if there Listance is not more then a predefined number k.
Suppose that length of two words A and B is m and n respectively, then
the listance between them is defined as max(m,n)-Least Common
SubSequence(A,B).By storing a collection of SubSequences  extracted
from actual  command in a table and performing the similar
transformation when user type incorrect command to get approximate
command will result into more user friendly shell.

1.Example if k is 1 and command is ifconfig then
(fconfig ,iconfig ,ifonfig ,ifcnfig ,ifconif ,ifconfg,ifconfi) will be
stored in Sub Sequence Command Table for ifconfig command by deleting
one character from ifconfig.
If user types ipconfig as there is no command like this  available  so
correcting algorithm wiil be called which will generates the sub
sequenences  (pocnfig,iconfig,ipcnfig,ipcofig,ipconfg,ipconfi) .
iconfig is there in both set of sequences so ifconfig is suggested as
approximate command to user.

VIT University

Home | Main Index | Thread Index | Old Index