Detecting Gene Symbols and Names in Biological Texts:
A First Step toward Pertinent Information Extraction

Denys Proux 1

proux@xrce.xerox.com

Francois Rechenmann 2Francois.Rechenmann@inria.fr

Violaine Pillet

Laurent Julliard 1

julliard@xrce.xerox.com

Bernard Jacq 43violaine@crrm.univ-mrs.fr

jacq@lgpd.univ-mrs.fr

1

Xerox Research Centre Europe, 6 chemin de Maupertuis, 38240 Meylan, France
INRIA Rh^one-Alpes, Institut National de Recherche en Informatique et en Automatique, 655 avenue de l'Europe, 38330 Montbonnot Saint Martin, France
3 CRRM, Centre de Recherche R
etrospective de Marseille, Faculte des Sciences et Techniques de St-Jer^ome, Universite Aix-Marseille, Marseille, France
4 LGPD, Laboratoire de Genetique et Physiologie du Developpement, Parc Scienti quede Luminy, CNRS case 907, 13288 Marseille cedex 9, France

2

Abstract
Gathering data on molecular interactions to be fed into a specialized database has motivatedthe development of a computer system to help extracting pertinent information from texts, relying
on advanced linguistic tools, completed with object-oriented knowledge modeling capabilities. Asa rst step toward this challenging objective, a program for the identi cation of gene symbols andnames inside sentences has been devised. The main diculty is that these names and symbols
do not appear to follow construction rules. The program is thus made up of a series of sieves ofdi erent natures, lexical, morphological and semantic, to distinguish among the words of a sentence
those which can only be potential gene symbols or names. Its performance has been evaluated, in
terms of coverage and precision ratios, on a corpus of texts concerning D. melanogaster for which
the list of names of known genes is available for checking.

1 Introduction
A large part of the data requested by emerging research activities in genomics are not stored in classicaldatabases and have therefore to be searched for directly in the scienti c literature. A problem arises
when using this primary source of knowledge : papers written to present speci c results may contain
information on subjects which are secondary, or even marginal, compared to the main topic, butwhich may be extremely useful for researchers operating on these new genomics areas. This problem,
added to the increasing volume of scienti c publications, asks for the development of computer assisted
methods for extracting data from texts.
Several research projects are working in that direction. For instance, Ohta et al. [9] describe the
IFBP (Information Finding from Biological Papers) system and its application for the constructionof the Transcription Factor DataBase (TFDB). M. Andrade and A. Valencia [1] extract biologicallysigni cant words related to protein functions directly from MEDLINE abstracts. The sentences inwhich these signi cant words occur might be retained as pertinent textual annotations for the proteins.
In these two examples, relative frequencies of word occurrences are the basis for information retrieval
and further information extraction. In another eld of biology, systematics, A. Taylor [12] parses
natural language taxonomic descriptions to support specimen identi cation. This parsing approach ispossible because of the existence of a distinctive sublanguage used in these taxonomic descriptions.
The need for data on molecular interactions to be fed in specialized databases such as FlyNets
and GIF-DB for Drosophila melanogaster [8] or GeneExpress [6] provides another strong motivation72

for information extraction from texts. In the context of a research project which involves biology andcomputer science laboratories, we are developing such a computer system using a linguistic approachbased on a grammatical and semantical analysis of sentences. The ultimate goal of the project is tofeed an object-oriented knowledge base on molecular interactions [3] with data on several organisms,
to organize these data into networks of interactions which can be visualized, edited, analyzed andeventually simulated over time. As a rst step in this direction, it is essential to correctly identify
gene names in texts. This is the purpose of the present study which has been performed on a text
corpus restricted to the y D. melanogaster.

2 The reference corpus
Previous works have been performed by the CRRM to establish a methodology for selecting sentences
dealing with genetic interactions from texts [10]. The texts have been extracted from FlyBase, themolecular and genetic database devoted to Drosophila [5]. More speci cally, the \Phenotypic Information" data eld was used. This eld contains short abstracts of biological papers in connection
with speci c genes of Drosophila.
A dictionary of Drosophila gene symbols has also been built by collecting information from the\Gene Symbol" eld. Using this dictionary, we have ltered the corpus and only retained sentences
containing at least two gene symbols. Such sentences are indeed believed to have a higher probability
to deal with interactions between two partners. The two following sentences are examples extracted
from the corpus:\The salm gene acts independently of abd-A."\Recessive mutations of the Hab group of abd-A alleles havebeen isolated as revertants of a dominant gain-of-function
abd-A mutation."
As a result of this ltering process, a corpus a 1200 sentences has been obtained. It is important
to notice that this corpus contains only gene symbols, so the early version of the system described inthis paper targets gene names designated by a single lexical entity. The term \gene name" will be
used hereafter to refer both to gene symbols and gene names based on a single lexeme. A new versionof the system is planned to handle multiple word expressions which designate a single entity.

3 Problem speci city
The use of dictionaries of gene names for identi cation of key semantical entities is a straightforward,
but unfortunately limited, solution. When such dictionaries exist, as for example in Flybase for
Drosophila, they are not always up to date, as new genes are being discovered and quoted in theliterature. Moreover, the authors too often do not respect the recommended gene nomenclature, sothat in scienti c papers di erent names might reference a same gene.
In this context, the development of a method which identi es gene names in sentences without
relying on pre-de ned gene name dictionaries appears highly pertinent.
Fukuda et al. [4] describe a method to identify protein names in texts. Their method mainly
relies on the assumption that protein names can be identi ed according to lexical considerations, suchas the presence of upper cases and of special characters. Our analysis of the list of gene names for
Drosophila shows unfortunately that such an assumption does not seem to hold for genes.
These names can indeed be partitioned into three categories : names including special characters, such as upper cases, hyphen, digit, slash, or brackets, e.g.
Hrp54 , Lam-B1 , Laernmt , Lmacnbb , M(2)201 , ...

73

 names using lower case letters only and belonging to the (English) natural language, e.g. vamp,ogre, zip, zen, ...

 names using lower case letters only, but not belonging to the language, e.g. ynd, zhr, wp, unr,sth, ...

The last two categories gather more than 50% of the 550 gene names appearing in the previously
described corpus of 1200 sentences. The existence of gene names which belong to the language is aproblem when parsing a sentence. Using a classical dictionary for the lexical lookup, these words (suchas \vamp" or \zip") will be recognized as ordinary words since they appear in the dictionary. So they
will not be identi ed as proper nouns, but rather according to their classical grammatical category as
it appears in the dictionary. A large part of them will be recognized as nouns which do not disrupt thegrammatical structure of the sentence. For instance, in the sentence \boss activates protein synthesisin [...]", \boss" will not be identi ed as a proper noun, but as a noun. This occurrence does not disrupt
the sentence grammatical correctness, but obviously modi es the overall meaning of the sentence.
Fortunately, gene names belonging to the language represent only a very small percentage of allexisting gene names (at least for Drosophila). The exact percentage depends on the coverage of thedictionary used in the lexical lookup process. Our tests using the Xerox lexical lookup for English
show that 5.6% of gene names of our reference corpus belong to the language : 4.3% are recognized
as a noun and 1.3% are recognized as something else (adjective, verb, ...).

In scope

Out of scope

heat
blood
cell
double
arm
lab
per
...

vamp
eve
disco
boss
gypsy
ocr
zip
ogre
...

In Con ict (verb, article, ...)
a
her
by
for
if
is
red
can
...

Figure 1: Examples of gene names belonging to the English language. In the reference corpus, thepercentages of these names belonging to the \In scope", \Out of scope" and \In Con ict" categories
are 32%, 32% and 36% respectively. \Out of scope" words have a primary meaning outside thebiological domain.
Furthermore, within the category of potential gene names identi ed as nouns, some of them could
be quite reliably recognized as gene names because they are related to topics outside the domain ofmolecular genetics. For example, words such as \vamp", zen", or \ogre", when appearing in Medline
abstracts, are likely to denote genes instead of their original meaning. These words correspond roughly
to one third of the gene names belonging to the language (\Out of scope" category in Fig. 1). Applying
such a rule further reduces the percentage of ambiguous gene names to 4%.

4 Linguistic tools
Our system relies on linguistic tools developed at XRCE Grenoble and based on the Finite State
Technology. The backbone of the system is built around a speci c device called a \tagger" [11], a74

non-deterministic nite-state automaton which works in three steps : tokenization, lexical lookup, anddisambiguation.
The tokenizer [2] splits the sentence into logical lexical entities, the \tokens". A token can be asimple word, but also a multiword entity, such as \rather than" or \such as". The lexical lookup uses
an ordered stack of nal state transducers to process the morphological analysis. If a token does notmatch with any of the classical word transducers, a last transducer is then applied (the \guesser") toprovide at least one grammatical tag. In our system, each time this \last chance" transducer is called,
it sends to the system a signal to identify the corresponding token with a special \guessed" ag. The
disambiguator is a program based on Hidden Markov Models [7]. Its purpose is to select the \right"
category for a token according to the categories of the disambiguated words that surround it.
An algorithm which the sole purpose would be to detect gene names in texts may have not required the use of a tagger. But as we intend to gather more complex information, we have to achieve
grammatical analysis of sentences to identify relations between semantic groups of words. This analysis requires that a part-of-speech tagger previously tags all the lexical entities with an appropriate
grammatical category.
A very rst test is to make the tagger parse the collection of the 550 unique gene names extracted
from the Flybase corpus of 1200 sentences. Fig. 2 displays the grammatical tags which have been
attached to these names.

Tags

GuessedCARDINAL
NOUN
Other :PROPER NOUNABBREVIATION
Words of the language 6= NOUN

Proportions
86.6 %
1.8 %
6.2 %
5.4 %
3.4 %
0.7 %
1.3 %

Figure 2: Tags and ag given to gene names by the tagger. The ag \guessed" does not represent agrammatical category, but a noti cation that a token has not been recognized by a classical transducer
in the lexical lookup.
Several useful conclusions may be drawn from this test. First, gene names are basically distributed
among the following categories : words with a \guessed" ag, proper nouns, abbreviations and nouns.
The rst category is by far the largest, con rming that very few gene names are words of the English
language. Then, numbers in a sentence are ambiguous because they do generally correspond to
numbers, but might in very few cases also appear to be gene names. To avoid the capture of wrong
names, numbers are therefore never retained as possible candidates. Finally, it is dicult to set apartgene names belonging to the language and identi ed as nouns from the natural language.

5 Method overview
The method uses a cascade of speci c processes which are sequentially executed (Fig. 3). Two levels
can be distinguished.
The rst level performs the lexical analysis. It is organized around the tagger previously described.
A series of recovery rules are applied on the output of the tagger to remove wrong candidates (e.g.
\guessed" words which are not gene names) and to bring back some \not guessed" words into thecandidate list. The second level applies a series of contextual rules to validate or invalidate candidates.
75

Figure 3: Cascade of nite-state transducers involved in the gene name detection system.
5.1

First level : lexical analysis

The rst step is a pure pre-formatting process. Its aim is to facilitate the task of the tokenizer bymodifying about fteen speci c expressions such as \23{30[o]C" which is re-written in \20 to 30 Celsius
degrees". The objective is to clarify some domain speci c notations to avoid bad tokenization andidenti cation by the tagger.
In the second step, the text is sent through the cascade of transducers of the tagger as previously
described in section \Linguistic tools".
{> 3
The goal of the third step is to recover errors generated by the tagger using a domain-speci c
dictionary. In order to built a more generic system and improve its reusability, this dictionary has
not been integrated into the tagger and can be easily substituted when required. For our tests, this
dictionary contained about 200 general expressions from biology. Typical words recovered after theusage of the domain-speci c dictionary are for instance species names, units, or common proteinnames. Gene names belonging to the language, but out of the biological domain (see section 3),
are also detected at this step. A small and very restricted dictionary referencing only gene names
belonging to the language but out of the biological domain are used for this purpose. As seen in
section 3 this approach enables the system to recover nearly one third of these names.
The last step of this rst level uses algorithmic rules together with sux and pre x recognition
techniques to recover the remaining tagging errors. These rules are applied in a strict order : 1)
algorithmic rules, 2) sux recognition, 3) pre x recognition.
Algorithmic detection rules recognize complex expressions involving a formalized sequence of characters like nucleotide sequences (e.g. \TCAATTAAAT") or peptide notations (e.g. \VGIDLGTTYSC"). These expressions are retagged as proper nouns, abbreviations or cardinal numbers so that76

Input sentence : \Scr is required to activate fkh expression."
At the end of Level 1 : (lexical analysis)\#guessed#scr^scr+PROP is^be+VBPRES required^require+VPAP
to^to+TO activate^activate+VINF #guessed#fkh^fkh+ADJPOS
expression^expression+NOUN SG .^.+SENT"At the end of level 2 : (contextual analysis)\#CANDIDATE#scr^scr+PROP is^be+VBPRES required^require+VPAP
to^to+TO activate^activate+VINF #GENE#fkh^fkh+PROP
expression^expression+NOUN SG .^.+SENT"
Figure 4: Output of the system at the end of level 1 and level 2.
subsequent grammatical pattern matching will work correctly.
Sux recognition rules are applied before pre x recognition, because a sux carries more grammatical information than a pre x. Speci c endings are checked among unknown words to remove
non-gene names. Among the sux categories which are checked we can distinguish verbs (suxes
such as \-ed" or \-ing", e.g. \phosphotransfered" ), adverbs (ending with \- ly", ...), nouns (ending
with \-ation", ...), proteins (ending with \-ase" or \-one") and so on. Currently the sux list contains
nearly 100 entries.
The last series of rules of the rst level tries to recover errors using pre xes. Typical examples ofwords recovered by such rules are chemical compounds (e.g. \phosphoribosylaminoimidazole", \ethylp-toluenesulphonate", ...) and biological terms (e.g. \orthologue"). Currently the pre x list contains
nearly 200 entries. As part of the system tuning process, the user can customize the parser by adding
a speci c dictionary of pre xes or suxes invalidating gene name candidates. If the user includes asmall dictionary, more words are passed on to later stages as gene candidates. If the dictionary islarge, fewer unknown words are considered.
5.2

Second level : contextual analysis

This level makes use of a collection of validating or invalidating lexical-syntactic patterns provided by
the user for the current application and applied only on candidates. Candidate words which are next tosome speci c expressions can be de nitively accepted or rejected. For example, in the sentence \Antpand esp genes activate [...]", the \Antp" and \esp" unknown words are located in the near context
of the word \gene" and are therefore validated as gene names. Patterns aiming at the detection of
bibliographic references to remove author names from the list form another example (e.g. \[Proux97]").
The last step is purely syntactic and involves a \cleaner" to reformat the resulting text to comply
with the requirements of further semantic and grammatical analyses.
Fig. 4 describes the modi cations which take place in a speci c sentence during the parsing. The
output sentence contains the original words, but two kinds of information have been added. The
rst one is the root form of each token (e.g. is ! be), and the second one is the corresponding
grammatical tag (e.g. VBPRES stands for the verb \to be" in the present tense and NOUN SG
stands for a singular noun. The ^ and + symbols are separators. One noticeable thing is the presenceat the end of level 1 of the \guessed" ag (#guessed#fkh^fkh+ADJPOS) to identify words handled
by the guesser module. This \guessed" word will be con rmed as a valid candidate after level 2(#CANDIDATE#fkh^fkh+PROP).

77

6 Results and discussion
The reference corpus is composed of the 1200 sentences extracted from Flybase and for which all the
550 occurring distinct gene names are known. This corpus has been divided into two sets. A rst setof 450 sentences has been used to tune the system which has then been experimented on a second
set of 750 sentences. The performance achieved on this set can be measured through the recall andprecision ratios :RecallPrecision= 94.4 %= 91.4 % (81 % at the end of the lexical analysis level)

The recall ratio is computed as the number of pertinent items captured by the system over the
total number of pertinent items in the corpus. The precision ratio is computed as the number of
pertinent items captured by the system over the total number of items captured by the system.
Most of the false positive are words which are speci c to biology but are not found in the dictionaries
used by the system, such as \ommatidial", \placode" or \sensillum". Some of them are alpha-numericstrings, for instance chromosomal locations, such as \102Efc" or \91B". Other are due to typing errors,such as \compnents" or \phentype". Country names and foreign words also appear in the list.
Gene names not detected by the system are basically dispatched among the following categories:
 numerical expressions (e.g. 1.6.99.7, 0.3M, ...)
 names belonging to the language and with a primary meaning that can belong to the biologicaldomain (e.g. per, red, ...)

 biological vocabulary (autoantiserum, ...)
 proper nouns (e.g. B. Mori, Duchenne, ...)
 other (7q21q22, 1::LYS2, ...)The recognition of these expressions can be improved by acting at several levels. First, new detection rules can be added for speci c expressions such as chemical compounds, numerical expressions or
chromosome locations. Then, domain speci c vocabulary together with pre x and sux dictionaries
can be expanded. Another important way of improvement relies on a better analysis of the semantic
context, to remove more eciently wrong candidates, as it is planned in the next step.
As for gene names belonging to the language and inside the \In Con ict"category (see section 3),
we plan to use a detection of incorrect grammatical structure in sentence parsing to modify the corresponding tag of these words. Several combinations of tags (proper noun versus classical grammaticalcategory) will be tried until the sentence is recognized with a correct grammatical structure.

7 Conclusion and perspectives
A new algorithm based on a cascade of transducers to automatically extract gene names from biologicaltexts has been designed and experimented in the context of a research project aiming at gatheringand analyzing data on genetic interactions. It is built around nite-state lexical tools, a probabilistic
HMM part-of-speech tagger and a collection of nite-state error recovery modules. The analysis issequentially performed at the lexical and contextual levels.
The system has been designed for the purpose of detecting gene names in Drosophila, a modelorganism for which a vast amount of data on genetic and molecular interactions can be found in theliterature. Tests performed by our system on a selected Flybase corpus have reached a 94% level inrecall and a 91% level in precision. It has to be noted that our test study has been performed on78sentences extracted from FlyBase, the Drosophila database, in which all gene names are describedusing their symbol. Such a situation, in which all gene names have been veri ed and standardized bydatabase annotators may represent an ideal case and it is likely that new problems will arise whenusing a corpus of journal abstracts or texts. On the one hand, the fact that full gene names are likely
to be found in texts (with or without their corresponding symbol) is expected to improve the recall
since there are less chances that a full gene name matches a name of the scienti c or normal language
than a symbol does. On the other hand, a small percentage of gene names are compound words andcorrect identi cation of this group of terms as only one gene name will require new tools presently
under development. Another problem is that our corpus did not make it possible to test adequately
the question of erroneous gene tagging, since all the sentences contained two gene symbols (this was
so because this corpus has then been used for interaction prediction). We are presently tackling thisproblem by using a corpus of Medline abstracts in which neither gene names nor symbols are present.
As part of a larger evaluation of new potential problems when using literature abstracts, preliminary experiments have also been run on a corpus of 25,000 abstracts extracted from Medline. The
precision ratio achieved on this corpus has been estimated by sampling. As expected, it is quite lower(70%) than on the Flybase corpus. Several reasons can however explain this performance and provide
hints for improvement.
The rst one is the problem of compound names already discussed above. Second, the list ofidenti ed gene names has been compared to the list of Drosophila gene names only. Although theseabstracts have been selected on the basis of the \drosophila" MeSH term, many of them refer in fact
to research performed on other species than Drosophila and therefore do contain gene names speci cto these species. Clearly, these names have been erroneously considered as false positive (they are
actual gene names, but not Drosophila ones), thus lowering the precision ratio. Another reason is that,since the scope of this Medline corpus is larger than the FlyBase one, the error recovery and patternrecognition modules are not yet scaled to such a vocabulary and speci c expressions rich environment.
To improve the performance of the system on large corpora, new rules for the identi cation of
speci c expressions are to be implemented and the coverage of the speci c user dictionaries is to
be expanded. The planned connection with a semantic analyzer will enable a nest validation ofcandidates. The eciency of such a system would of course be much greater if a formal nomenclature
was strictly applied for gene naming.
The last point to recall is that this system is a tool to help identifying gene names in a sentence.
It is not designed to be used as a stand-alone application, but to be part of a larger knowledge-based
system aiming at the extraction of data on genetic and molecular interactions from texts.

Acknowledgements
A copy of the text corpus used for the present work is available on request. This work has been
supported in part by a grant from CNRS (Centre National de la Recherche Scienti que) in the context
of its \Genome" research program, and by ANRT (Association Nationale de la Recherche Scienti que)through a CIFRE grant for Denys Proux.
We are grateful to Luc Quoniam and Ambroise Ingold from the CRRM for helpful discussions andfor providing the dictionary of FlyBase gene names and for formatting the Medline corpus.

References[1] Andrade, M. and Valencia, A., Automatic extraction of keywords from scienti c text: application
to the knowledge domain of protein families, Bioinformatics, 14(7):600-607, 1998.

79

[2] Chanod, J. P., Gilman, and Tapanainen, P., A Non-deterministic Tokenizer for Finite-State Parsing, Proceedings of the 12th European Conference on Arti cial Intelligence (ECAI-96), Workshop
on Extended Finite-State Models of Language, Budapest, Hungary, August 12{16, 1996.
[3] Euzenat, J., Chemla, C., and Jacq, B., A knowledge base for D. melanogaster gene interactions
involved in pattern formation, Proceedings of the 5th International Conference on Intelligent
Systems for Molecular Biology (ISMB97), Halkidiki, Greece, 108{119, June 21{25, 1997.
[4] Fukuda, K., Tamura, A., Tsunoda, T., and Takagi, T., Toward Information Extraction:
Identifying Protein Names from Biological Papers, Proceedings of the Paci c Symposium on
Biocomputing (PSB98), Hawaii, January 4-9, 707{718, 1998. (available at : http://wwwsmi.stanford.edu/projects/helix/psb98/)[5] Gelbart , W.M., Crosby, M., Matthews, B., Rindone, W.P., Chillemi, J., Russo Twombly, S., Emmert, D., Ashburner, M., Drysdale, R.A., Whit eld, E., Millburn, G.H., De Grey, A., Kaufman,T., Matthews, K., Gilbert, D., Strelets, V., and Tolstoshev, C., FlyBase: a Drosophila database.
The FlyBase consortium, Nucleic Acids Research, 25(1):63{66, January 1, 1997.
[6] Kolchanov, N.A. et al., GeneExpress : A Computer System for Description, Analysis, and Recognition of Regulatory Sequences in Eucaryotic Genome, Proceedings of the Sixth International Conference on Intelligent Systems for Molecular Biology (ISMB98), AAAI Press, 95{104, Montreal,
Canada, 1998.
[7] Kupiec, J., Robust Part-of-speech Tagging Using a Hidden Markov Model, Journal of Computer
Speech and Language, 6(3):225{242, 1992.
[8] Mohr, E., Horn,F., Janody, F., Sanchez, C., Pillet, V., Bellon, B., Roder L., and Jacq, B., FlyNets and GIF-DB, two Internet databases for molecular interactions in Drosophila melanogaster,
Nucleic Acids Research, 26(1):89{93, 1998.
[9] Ohta, Y., Yamamoto, Y., Okazaki, T., Uchiyama, I., and Takagi, T., Automatic Constructingof Knowledge Base from Biological Papers, Proceedings of the Fifth International Conference onIntelligent Systems for Molecular Biology (ISMB97), AAAI Press, 218{225, Halkidiki, Greece,
June 1997.
[10] Pillet, V., Roudani, B., Quoniam, L., and Jacq, B., Extraction automatique et representationgraphique de donnees biologiques : les interactions genetiques et moleculaires. Application aun organisme modele et au genome humain, Colloque sur la Veille Strategique Scienti que etTechnologique (VSST98), October 19{23, 1998.
[11] Schiller, A., Multilingual Part-of-Speech Tagging and Noun Phrase Mark-up, Proceedings of the
15th European Conference on Grammar and Lexicon of Romance Languages (ECGLRL96), University of Munich, Germany, September 1996.
[12] Taylor, A., Extracting Knowledge from Biological Descriptions, In Toward Very Large Knowledge
Bases { Knowledge Building and Knowledge Sharing 1995, N.J.I. Mars, Ed., IOS Press, 114{120,1995.

80