- 10 -Chapter 3^
The cirt system:^•JL'users' view

Overview

As far as the user is concerned, the system is a simple searchingsystem based on sets of terms (no Boolean logic), allowing relevance
feedback and manual query expansion. It will log on automatically; itwill retrieve and display documents in rank order, displaying a limited
set of fields on the screen but preserving all details for a print file.
The search logic is simple term weighting, with document ranking by
total weight of matching terms. Initial weights are based on collection
frequency; after some relevant documents have been found, the weights
are revised using the relevance information. All weights are internal
to the system, but may be inspected by the user. Several other aspectsof the system which are normally internal to the system may be inspected
and/or changed by a more sophisticated user; for example, the system
normally looks for the top 15 ranked documents, but this parameter may
be reset. Some facilities available on the host are useable throughcirt: e.g. term truncation and field specification. Also the user may
talk directly to the host.
The system is limited to requests with a maximum of eight terms.
Subject to this limit, terms may be added during a search, but may only
be deleted if a search has not already been made.
The system is at present geared to searching Medline on Data-Star.
The dependence on Medline is not strong; the system has been run successfully on other databases. The dependence on Data-Star is, however,quite strong, and the programs would require substantial development
before they could be run on any other host.
The user drives the system by means of a simple command language.
The next few sections constitute a users' manual, and include details of
the command language and its usage.
The weighting scheme used isdefined in section 3.7, and some experiences with the use of cirt arebriefly discussed in section 3.8.
A\?/

Data structures.

The program maintains two main data structures, the current queryand the results of the searches done so far, as well as lists of documents which you have seen and those which you have classed as relevant.
The current query is a list of query terras together with their frequencies and weights. As each new term is entered it is sent to DataStar to determine its frequency. Then a weight is calculated from thefrequency and any relevance information available and it is entered in
the list. As far as possible the query list is kept in decreasing weightorder but once a term has been used in a search it is not possible to- 11 move it. Hence new terms added after a search has been done will beinserted after the searched terms, but the unsearched terms will still
be kept in decreasing weight order.
The searches done are stored in the form of a tree which is updated
and added to each time a new search is done. Each node of the tree
represents a combination of terms for which a search has been done. It
is not necessary to know about the search tree in order to do searches
but it is printed on the terminal as the search is done. This gives someidea about how the search is going.
3.3.

The Output Filecirt produces an output file into which are copied documents andsummaries of searches. If you leave the program normally (using the Quitcommand) you will be asked for a name for this file but if the programcrashesanyoutput
file
produced
sofar will be found in/tmp/cirt.<user> where <user> is your login username followed by a random 3 digit number.
2.m!t•Command Syntax
All commands are in the form
command argl arg2 ....

where the command should be one of the ones listed below and the valid
arguments depend on the command. Most commands and some arguments can beabbreviated by leaving out letters which are given in lower case, eg if
a command is specified as NewWeights it can be abbreviated as 'nw' or'neww' or 'nweights' or entered in full as 'newweights' but it cannot beabbreviated to 'n' or 'ne'.
In common with many UNIX programs, ]ines which
submitted to UNIX as commands.

!

areIn this section is a summary of how to do search using cirt.
individual commands are described in more detail in section 6.

The

2.*^.#startwith

Doing a_ search_3_.jLJ_.

Invoking cirt

cirt is invoked by typing cirt. It should respond withwhich is->and means it is ready for a command.
^.••L'—"

Calling up Data-Star

The command

itsprompt

- 12 -

Call dstar[e]will connect you to Data-Star and leave you to log in in the usual way.
After logging in you should press CONTROL-P to return to command mode sothat you can enter a query. Alternatively you can use the command
LOGIN dstar[e]which will call up Data-Star and then log you in using the userid, password and data base name taken from the file .loginn in your HOME catalogue. If it manages to log you in then the LOGIN command will return you
to command mode. If for some reason it can't log you in it will leave
you talking to Data-Star so that you can complete the job yourself. If'dstare' is used rather than 'dstar' the Euronet address of Data-Starwill be used. If you can't get through on one then try the other.
_3^.^.

Building a_ query

The command to add terms to a query isADDterm terml term2 ...
Terms can be deleted with the command
DELete terml term2 ...
but terms which have been used in a search cannot be deleted.
Thecurrent query and a summary of the results of any searches can be listedusing the command
List
A "term" can be an ordinary natural language word which will then besearched as given.
Alternatively, It can be any acceptable Data-Star
search, such as M psycholog$6 M (meaning the right-truncated root "psycholog11 together with at most 6 more letters) or "jones-j.au." (meaning thename J.Jones in the author field). If the single Data-Star search contains blanks, it must be enclosed in double quotes - e.g.
ADDterm "labour or labor"
If right-truncation is used and more than 100 terms match,simply pass on the Data-Star error message generated.
^.^.4^.

cirtwillSearching

The command to execute a search is simply
SearchThe search is done using a backtracking algorithm and a summary of theresults of the search is displayed as the search proceeds. For eachindividual search sent to Data-Star the number of documents retrieved

- 13 -and their weight is displayed.
the command

This listing can be switched off using

SET -Verbose
but it is probably a good idea to leave it on as it gives a good idea of
how the search is going. A search can be abandoned by pressing CONTROL-C
and then can be finished by retyping the Search command.
cirt maintains an internal parameter called the search-size. When asearch is done cirt guarantees to retrieve the search-size documentswith highest weights. At present search-size defaults to 15 but it canbe changed by using the command
SET SearchSize=n

The search procedure is set up in such a way that it never needs toresend any search statement that it has already sent to the Host. Henceif you typeSearch
after just completing a search the program will simply display its
search-tree on the terminal. If on the other hand a new search is done
after executing some other commands then enough search statements will
be sent to bring the search-tree up to date.
A#j)_-_5.#

Printing documents on the terminal

The command to start printing documents on the terminal isPrint
The program will then display the retrieved documents on the terminal,
starting with the one with highest weight which hasn't yet been seen. At
present only the Author, Title and Abstract fields are displayed. At theend of each document cirt produces a ?? prompt in response to which you
can make the following replies (each followed by carriage return).
pPrint the document in the output file and then display the next
document. All the paragraphs of the document are printed, not justthe ones displayed at the terminal.

P

The same as 'p' but instead of displaying the next document
to command mode (-> prompt).

rPrint the next document and flag it as relevant to the query, thendisplay the next document. Documents known as relevant can be used
to recalculate the query term weights (see below).

RThe same as ' r ' but don't display the next document.

return- 14 CR

(That is just carriage-return) Display the next document but
print the current one or flag it as relevant.

don'tq(or Q) Return to command mode without printing the current document
or flagging it is relevant.

Once a document has been seen it won't be displayed again whether
or not it is printed or relevant. Normally only search-size documents
will be displayed but cirt won't actualy stop displaying documents until
it reaches one which has a weight which is strictly less than thesearch-size'th document.
•^•—•^L*

Relevance feedback

After doing a search and looking at some documents, a few of whichwere deemed relevant, you can recalculate the weights using the command
NewWeights

A-J-L#Z_*

Logging off from Data-Star

There is no command for leaving Data-Star.
should type the command:To

logouttidilyyouTalk
which will connect you through to the host. Then you can type..o [ cont ]If you type the 'cont' your present state will
next time you login.

berememberedforIn the next sections we describe each of theavailable with permissible arguments, options etc.

commands

currently

3.6.

theThe cirt Commands

ADDterm [ term [ term ... ]Add term(s) to the query, and calculate weight(s).
BReak (no arguments)
Sends an interrupt to the host.

Call [ host ]Attempts to call the host which should be the name of an X29 hostwhich appears in the x25 directory. If you intended to do a
retrieval search using the commands described below then hostshould be either dstar or dstare. If the call is successful you
will be left talking to the host so that you can login, choose a

- 15 -

database, look at news bulletins etc. To get to command mode you
should type CONTROL-P.
CLr (no arguments)
Clear down a network call. The call will be cleared and the cost,period of the call, and the number of 64 byte segments received andtransmitted will be displayed. This command should be used if, forsome reason, the network connection dies without clearing the call
automatically. It is not the usual way of logging out from DataStar (see Logging Off above).
DELete [ term [ term ... ]Delete term(s) from the query, provided you have not already done aSearch since adding them.
LIMit(not yet available)
Submit a limiting query. All your searches will then be limited
the documents retrieved in this query.

List(no arguments)
List the current query and a summary of the search tree.
ing is pretty well self explanatory.

LOgtoThe list-[ filename ]Start keeping a log of traffic between cirt and the host.
If thefilename is given then a file of that name is created for the log.
If no filename is given a filename of 'netlog' is assumed.
(Logging in 'netlog' is automatically initiated when cirt is firstcalled.) If the filename is 'off then any current log file isclosed and logging is stopped. The log Is stored in a binary form
but it can be listed by using the (UNIX not cirt) command
listlog [ filename ]Again the filename defaults to 'netlog' in the ciirrent directory.

LOGIN[ +r ] [ hn ] dstar[e]This command calls up Data-Star and then logs you in. Your login
name, password and data-base name are taken from the file '.loginn'
in your HOME directory. If the option -hi\ is given the message-ofthe-day will be printed. If the +r option is used, and a restart isavailable, you will be given one; otherwise the option will beignored. If for some reason the login fails but the call succeeds
you will be left talking to Data-Star so that you can finish thejob yourself.

- 16 -NewWeights(no arguments)

New query weights are calculated using relevance feedback information obtained during a previous Print command. The program musthave been told about some known relevant documents before you canuse this command.
Print(no arguments)
Start the printing of documents at the terminal. Only the Title,
Author and Abstract paragraphs are displayed on the terminal
although the whole document is fetched from Data-Star. At the endof each document the program will print ?? and wait for a reply.
The possible replies and their effects are listed in the followingtable.

R ssponses to tina Print ?? proinpt

ResponserRPP|<CR>
q or Q

document
sent tooutput file

document
flaggedas relevant

nextdocument
displayed |

yes
yes
yes
yes
no
no

yes
yes
no
no
no
no

yes
no1

yes
no

I

yes
no

All the paragraphs of a document are sent to the output file, notjust those displayed on the terminal. Those documents flagged as
relevant are remembered and used by the NewWeights command to calculate relevance feedback weights.
Quit(no arguments)
Leave the program and return to UNIX. Any call that is connected is
automatically cleared. Before cirt finally quits it will print
Output file name to which you can reply with any valid UNIX file name or justcarriage-return in which case the output file will be destroyed.

RESET(no arguments)
Clears all the internal data structures including the current queryand the search-tree. RESET should be used before starting a completely new query.

- 17 -Search(no arguments)

Use the current query to do a weighted search of the database. Thesearch Is done from the bottom up using a backtracking algorithm
and the search is displayed on the terminal as it continues.
SET [ SearchSize=n ] [ Universe=n ] [ (+|-)Verbose ] [ (+|-)Debug ]Used to set various internal parameters and switches. If no arguments are given the current values of the options are listed. SearchSize is the theoretical number of documents that the Search command will retrieve in its ranked list of best documents. It Is theminimum number of documents that can be viewed using Print before
another Search needs to be done. At present it defaults to 15.
Universe is the assumed total size of the database. It is used tocalculate the query-terra weights but its value is not very critical. The default value is 600,000 which is about right for medline.
+Verbose is the default option. The principal result of using theoption -Verbose is to switch of the printing of the search-tree
when doing a search. Setting the +Debug switch will result in thedisplaying of a lot of unintelligible material and is not recommended.
Talk(no arguments)
This command connects your terminal directly through to the Host
enabling you to look at the news files etc. It is also the only wayof logging off. Talk is called automatically after a successful
Call and after a Login which succeeds in calling the Host but fails
to login. To return to command mode you should press CONTROL-P.

^L7_. The weighting scheme
The basic formula for collection-frequency weights
1972) is:(SparckJones,w = log(N/n)
where N is the number of documents in the collection and n is the number
to which the particular term is assigned. The formula for relevanceweights (Robertson and Sparck Jones, 1976) is:Wi0g(r+0.5)(N-R-n+r+0.5)(R-r+0.5)(n-r+0.5)

where R is the number of known relevant documents and r is the number
relevant to which the term is assigned. The +0.5 in each component isincluded for estimation reasons.
These two weights are associated (Croft and Harper, 1979).
N isasssumed by the system to be fixed, and has been taken to be 600,000,
about the size of medline (it can be reset by the searcher).
However,
there is some reason to suggest that a smaller value should be used
(Harper, 1980).

- 18 -—•.§.•

Experiences

Although no formal experiments have been done with the system, itis appropriate to indicate some general impressions derived from informal testing.
As regards the technicalities, it is clear that the 8 term limit
could be a major restricting factor, which might however be mitigatedgiven other facilities. One obvious improvement would be to allow term
deletion after searching, so that new terms could be substituted for badones. A second would be to allow new terms (e.g. synonyms) to be added
in by ORing with existing terms.
Synonyms in fact raise quite general problems for such weighting
schemes.
If several synonyms (or near-synonyms) are included as
separate terms in the list, then their combined weights may swamp otherconcepts represented by fewer synonyms. It has been suggested by someearly trials that this may be a significant problem in achieving effective retrieval.
One way to alleviate this problem would be, as indicated above, ORing the synonyms as a single search term.
A second
alleviating facility would be that of marking as non-relevant wholegroups of documents that were retrieved by inappropriate combinations ofterms, without displaying them individually. This latter suggestion
would, however, have some theoretical drawbacks.