concurrent, asynchronous search for the availability of knowledge
TRANSCRIPT
![Page 1: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/1.jpg)
This article was downloaded by: [Stony Brook University]On: 28 October 2014, At: 19:40Publisher: Taylor & FrancisInforma Ltd Registered in England and Wales Registered Number: 1072954 Registeredoffice: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK
Applied Artificial Intelligence: AnInternational JournalPublication details, including instructions for authors andsubscription information:http://www.tandfonline.com/loi/uaai20
Concurrent, asynchronous search forthe availability of knowledgeAntonio S. FabianoPublished online: 26 Nov 2010.
To cite this article: Antonio S. Fabiano (1996) Concurrent, asynchronous search for the availabilityof knowledge, Applied Artificial Intelligence: An International Journal, 10:2, 145-162, DOI:10.1080/088395196118632
To link to this article: http://dx.doi.org/10.1080/088395196118632
PLEASE SCROLL DOWN FOR ARTICLE
Taylor & Francis makes every effort to ensure the accuracy of all the information (the“Content”) contained in the publications on our platform. However, Taylor & Francis,our agents, and our licensors make no representations or warranties whatsoever as tothe accuracy, completeness, or suitability for any purpose of the Content. Any opinionsand views expressed in this publication are the opinions and views of the authors,and are not the views of or endorsed by Taylor & Francis. The accuracy of the Contentshould not be relied upon and should be independently verified with primary sourcesof information. Taylor and Francis shall not be liable for any losses, actions, claims,proceedings, demands, costs, expenses, damages, and other liabilities whatsoeveror howsoever caused arising directly or indirectly in connection with, in relation to orarising out of the use of the Content.
This article may be used for research, teaching, and private study purposes. Anysubstantial or systematic reproduction, redistribution, reselling, loan, sub-licensing,systematic supply, or distribution in any form to anyone is expressly forbidden. Terms &Conditions of access and use can be found at http://www.tandfonline.com/page/terms-and-conditions
![Page 2: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/2.jpg)
CONCURRENT, ASYNCHRONOUSSEARCH FOR THE AVAILABILITYOF KNOWLEDGE
ANTONIO S. FABIANOCISE S.p.A., Segrate, Italy
STEFANO A. CERRIDipartimento di Scienze dell’Informazione, Universitàdi Milano, Milano, Italy
We describe how a common conceptual model of the application domain can be used to sup-
port a cooperative and concurrent search among loosely coupled knowledge sources distrib-
uted over a network with unknown topology. The introduction of a conceptual level, shared
among all the knowledge sources in the net, allows us to obtain independence from the logical
data organization of each node, not only from the physical, as is the case in distributed
database management systems (DDBMS). The navigation process is based on the conceptual
model and has been designed and developed by means of a set of cooperative agents, with
specific knowledge and abilities, that reason about the local data and exchange information to
ensure both the communication through the net and the information processing at each net
node. In order to ensure the comprehension of the architecture, we include a worked-out exam-
ple in the domain of pharmacology, where such a model and its associated domain-specific
language have been realized.
The management of large amounts of information, spread over a network, is
normally realized by the so-called distributed database management systems
(DDBMSs) (Ceri & Pelegatti, 1985). Conceptually, a DDBMS uses the same logical
structures of a local DBMS, and the only difference lies in the physical referents for
the distributed information items.
In these applications, binary relations can be established between the user
queries and the information stored by the system, and a number of strategies based
on the closed world assumption (Reiter, 1978; Kaplan, 1983; Levesque & Brachman,
1984) can be implemented to improve the information retrieval process. These kinds
of systems are based on two main constraints:
1. A common logical data model (Ceri & Pelegatti, 1985), suitable to represent
all the available information, must be available.
2. The common logical data model has to be explicitly or implicitly known by
all the users in order to properly access and interpret the stored information.
Applied Artificial Intelligence, 10:145± 161, 1996Copyright � 1996 Taylor & Francis0883-9514/96 $12.00 + .00 145
A shorter version of this article has been published from the 6th IEEE international conference on Tools with
Artificial Intelligence (Fabiano & Cerri, 1995).
Address correspondence to Antonio S. Fabiano, CISE S.p.A., Via Reggio E milia, 39-20090 Segrate (MI),
Italy. E-mail: [email protected].
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 3: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/3.jpg)
In the last few years, considerable and effective efforts have been made to improve
the accessibility to the information through the networks (Mosaic, 1995; Gopher,
1995; Netscape, 1995). Further, the users of information grow rapidly, even if they
have different needs, views, and backgrounds. However, the availability of larger
and larger amounts of heterogeneous information is rather ineffective for them, as
neither assumption 1 nor 2 is valid. Therefore a different approach has to be followed
in order to provide flexible access to the information distributed over the network
(Cerri et al., 1987; Fabiano, 1988; Bonati et al., 1989).
Traditional or even advanced access systems (such as DBMSs or sets of
DBMSs) do not consider this problem a priority. For instance, consider a semanti-
cally complex domain such as pharmacology. Information can be stored irrespective
of potential applications or user needs: as a consequence, a user interested in a
particular drug, prescribed to patients suffering from a given pathology, will prob-
ably not be interested in information about the chemical composition of the drug.
In general, when the user and the stored information are not oriented to the
fulfillment of the same ª informative task,º it is not possible to establish a productive
exchange of information. It is the purpose of this article to show that this increasingly
important problem can be solved by defining a common conceptual domain model
suitable to describe the information available in distributed knowledge sources. The
model is an instance description in a language that is designed as a common
convention supposed to be known by all the agents that cooperate to ensure the
correct interpretation of the query and a productive search of information among
different knowledge sources. The conceptual model allows a deep interpretation of
the user request by the system and the activation of a knowledge-based asynchronous
search for the availability of knowledge, called navigation, before any access is
eventually performed. Each node will be able to reason on the domain model to
identify useful information related to the user query, even when these do not exactly
match the original request. It is interesting to remark that a very limited language/
model is able to support the search in a significant way. At the moment, we are aware
of only one attempt of an architecture that addresses the issues as we do, by means
of a completely distributed architecture of autonomous agents that look for the
availability of knowledge in the net. That attempt is the Carnot project (Huhns et
al., 1992). Carnot bases the ª navigationº and ª accessº on a large knowledge base
ª ontologyº called CYC. It is claimed that their distributed communicating agents
(DCA) tool ª makes it straightforward to construct systems of such agents.º With
similar goals in mind, we have started from the opposite approach. Our ª common
domain modelº is ad hoc and ª simple.º We know that the construction of such a
domain model required an effort that is not minimal but reasonably complex (a few
person-months) but that the consequencesÐ in terms of improvements of the infor-
mation quality and quantityÐ have been significant. Now the question arises if a
ª top-downº approach (such as CYC, the ª encyclopedic KR systemº ) is to be preferred
to a ª bottom-upº one such as ours (limited customized domain knowledge) with respect
146 A. S. Fabiano and S. A. Cerri
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 4: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/4.jpg)
to the resources to be invested (computational and human) in order to reach a
common improvement of the quality of the resulting information retrieval.
In the following, we will explain how the basic concepts of knowledge source,
navigation, and cooperative behavior rely on the definition of a conceptual domain
model. Then a description of a subset of the common conceptual model of the
biom edical domain, used during the INFONAUT experim ent, will be given.
(INFONAUT is the prototype of a navigator implemented in the biomedical do-
main.) Finally, it will be shown how the navigation process through a net with
unknown topology can be realized by means of distributed and concurrent agents
with semantically limited knowledge.
This approach permits us to achieve (1) a cooperative search among distributed
knowledge, (2) independence from each local logical data organization and from
any particular DBMS query language, and (3) flexible management of the different
knowledge sources that can be transparently added or removed from the net. Aspects
such as abstraction and generalization of the architecture to other domains are not
explicitly described here but can be perceived rather easily from the examples.
BASIC C ONC EPTS
Knowledge Source
By knowledge source, we intend any ª body of informationº able to:
· Exhibit domain-related deductive capabilities: each knowledge source must be
able to reason over the conceptual representation of the domain, suggesting for
example, to the user the possibility to retrieve information that, even if not exactly
matching the original request, could be useful and interesting. This sort of
behavior realizes a cooperative behavior, since the knowledge source interprets
the conceptual model (implicitly) held by the user trying to match it with the
instance of the conceptual model describing the informative content of the node
and (explicitly) represented in the knowledge source.
· Classify the available information with respect to the common conceptual domain
model. Any domain-related information needs to be represented as an instance
of the conceptual model. If this is not possible, the conceptual model needs to be
extended.
· Qualitatively describe the ª point of viewº and ª qualityº of the available
information with respect to a domain-dependent defined representation.
· Manage the communication with the other knowledge sources on the net.
· Retrieve the stored information.
In the above definition, no restrictions about the nature or content of each
knowledge source are given. Databases, sequential files, end even human experts
Concurrent, Asynchronous Search 147
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 5: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/5.jpg)
can be considered as knowledge sources as soon as they exhibit the outlined abilities.
In the INFONAUT experiment, three different types of knowledge sources, namely,
relational databases, sequential files, and a human expert, have been described with
respect to the same conceptual domain model.
Navigation
The navigation process is the most important phase of the whole search process.
It is performed before the actual access to the data and uses the domain conceptual
model (instantiated for each knowledge source) to determine what information,
relevant and related to the original user query, is available on the net. This process
is carried out in a loosely coupled regime, without any knowledge about the
topological description of the net, and it is completely transparent to the user that
does not need to have any knowledge about the logical data structure and the
geographical distribution of the information being searched. The use of a semantic
domain description for implementing a common access strategy to information
organized in different logical structure has been tested in different application fields,
as for example, reported in Fabiano et al. (1991).
Using the conceptual dom ain model, each natural language user request is
translated into an internal expression that is then forwarded through the network
to the other nodes. (We will not describe in this context how the translation from
natural language expressions into the internal language is done.) The analysis of
the user query is performed by recursively exchanging partial inform ation
(Durfee et al., 1987; Durfee, 1988; Hayes-Roth et al., 1988) among the agents
(Hewitt, 1977) distributed on the net that try to match the user request against
the description of the knowledge available at each knowledge source expressed
through a specific instance of the comm on domain conceptual model. In order
to propagate the user request and the related knowledge available at each net site,
a spreading activation technique has to be used, since each node is just aware of
the nodes that are directly connected. At the end of the navigation phase, the user
receives a description of the available inform ation related to his original query
and can therefore complete the search process (represented in Figure 1) by
issuing a specific access request to the knowledge source that holds the most
ª promisingº information.
The navigation process realizes four main objectives.
1. Describing to the user the information, related to his query, available on the net.
2. Informing the user of the cost associated to any particular available information.
3. Informing each node of the information available in the neighborhood nodes.
4. Identifying the nodes holding complementary information, with respect to
the user query, and that therefore could cooperate to cope with the informative user
needs.
148 A. S. Fabiano and S. A. Cerri
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 6: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/6.jpg)
The navigation process differs from the usual database search process because
of three main characteristics: it is based on a conceptual representation of each
knowledge source informative content; it is carried out by independent and distrib-
uted agents, each with different competence, exploiting a cooperative behavior; and
it does not look for information other than metalevel information.
The explicit definition of a conceptual domain representation permits us to
interpret the users’ queries at a conceptual level. Since concepts and not data are the
target of a given query, this can be more general (Bonati, et al., 1989), reflecting
different points of view. This allows us to address the query to heterogeneous
knowledge sources (e.g., databases as well as human experts) and to identify partial
or alternative sets of data matching the conceptual users’ needs while ignoring
specific knowledge source query languages and logical data organizations. Of
course, the user will have to use a query language, but this can be defined at a higher
level than usual database query languages, since the referent of its statements will
be concepts of the domain rather than data structures.
The distribution of the search process among distributed agents, each responsi-
ble for a specific element of the conceptual model, avoids the need to maintain
complex global data structures, used by traditional DDBMS, to track the correspon-
dence between the logical data organization and the physical data location. This in
turn, allows flexible management of any knowledge source that can be added or
removed from the net without the need to modify any data structure on the net.
Figure 1. The complete search process.
Concurrent, Asynchronous Search 149
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 7: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/7.jpg)
Cooperative Behavior
In addition to the cooperative behavior realized through the reasoning capabil-
ities of each knowledge source (see above), the navigation process allows a different
type of cooperation to take place. Even if it is not explicitly coded, it automatically
arises from the interaction of the distributed agents, with specific domain knowledge
and communication capabilities, distributed over the net and performing the infor-
mation search following a spreading activation strategy.
The cooperative behavior among different knowledge sources takes place at three
different levels: information exchange, communication, and data interpretation.
Information exchange level: The cooperation at this level allows the use of information
coming from different knowledge sources to satisfy a particular user request that could
not be satisfied by exclusively accessing a single knowledge source.
In order to clarify this concept, we will briefly present an example taken from
the biomedical domain and approached by INFONAUT.
Let KS1 and KS2 be two different knowledge sources distributed somewhere
on a geographical network with unknown topology. KS1 is a database containing
the results of an epidemiological study on drug use for diabetes patients, while KS2
is the Italian national drugs database storing information about all drugs currently
available in Italy. Suppose that the user asks for the most used active principle for
the treatment of diabetes. KS1 can supply the commercial name of the most used
drug in diabetes treatment, but does not know the related active principle. On the
other hand, KS2 knows all the active principles present in each drug but has no
information about their main use.
The cooperation at the information exchange level allows KS2 to use the
information coming from KS1 (i.e., the commercial name of the drugs most used in
diabetes treatment) to satisfy the user request. This kind of cooperative behavior
allows the user to access in a transparent way the information stored in different
knowledge sources, leaving to the navigator the task to find out if, how, and where
this information can be retrieved.
Communication level: Each knowledge source, whenever possible, propagates to other
sources that the users request. In this way, each knowledge source plays a double role;
it can be viewed as a ª slaveº while it is trying to satisfy the informative request issued
by another agent, or as a ª masterº while it is analyzing answers coming from other
nodes. {In the slave context, both users and knowledge sources can be considered to
be agents.} The implementation of each knowledge source by means of a set of
independent and concurrent agents permits us to play both roles at the same time.
Data interpretation level: At the end of the navigation process, the user could be
prompted with many possible answers. Some could be alternative or partial answers
150 A. S. Fabiano and S. A. Cerri
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 8: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/8.jpg)
to the original query, coming from different knowledge sources. In order to support
the user in the evaluation of the ª conceptual qualityº of the search results, each
knowledge source will provide additional information, describing the conceptual
framework (point of view and quality) of each piece of proposed information.
CONC EPTUAL DOMAIN MODEL
The conceptual domain model can be considered a conceptual dictionary used
as a common ground for communication between the user and the knowledge
sources. It is the only structure shared by all the nodes in the net, and it should be
as congruent as possible to the one implicitly held by the users, since it is the result
of a knowledge acquisition process.
The conceptual domain model is the only structure on which the navigation
process is based. It is used to interpret the user requests, to represent the informative
content of each knowledge source, and to reason about the domain. The use of a
common conceptual model of the domain allows us to (1) match the user requests
against the available knowledge in each knowledge source (storing different types
of information), (2) propose alternative and useful information whenever no exact
match exists, and (3) share partial results, from different knowledge sources, to fulfill
the original user request.
The formalism used to describe the domain model takes inspiration from Chen’ s
Entity-Relationship model (Chen, 1976) and from the theory of case grammars
(Winograd, 1983). All domain knowledge is represented by means of events,
entities, states, and the relationships among them.
For sake of simplicity, in Figure 2, only a subset of the conceptual domain model
used by INFONAUT is represented. It is relative to the biomedical domain chosen,
and only a single event (drug prescription) and a single state (suffer) are represented.
This representation formalism is not restricted to a particular domain. Providing a
different conceptual model, INFONAUT could realize the navigation process
among knowledge sources in other domains. The conceptual model is made of two
different levels: the taxonomic level and the deep-case level.
The taxonomic level describes the entities, represented by rectangles, charac-
terizing the domain and is used for three main purposes:
1. The classification of the available information at any knowledge source.
Each entity (e.g., drug, patient, pathology) is described by a set of attributes in a
framelike fashion, where the hierarchical structure allows each subclass to inherit
the features defined at the upper levels. Each knowledge source describes the
available information by setting specific values to the attributes of the conceptual
model.
2. The identification of query conceptual context. The user identifies the
context of his query, i.e., the subset of the domain entities he is talking about, by
Concurrent, Asynchronous Search 151
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 9: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/9.jpg)
assigning specific values to the entities’ attributes nam ed in his query. The
possibility of the user to refer smaller and smaller subentities of the domain is
strictly connected to the level of detail of the domain classification. The decision
about the level of discrim ination that should be allowed in the semantic model
is critical and has to be taken by analyzing the application domain. The main
problem is to identify a representation level capable of being selective and
descriptive at the sam e time.
3. The identification of the particular subset of entities the user is interested in.
The identification of entities constituting the object of a particular user request can
be supported by analyzing the referred entity attributes that are not bound to any
specific value (e.g., naming the drug active-principle attribute without binding it to
any value). Nevertheless, the identification of the object of any particular query has
to be supported by a deep-case analysis.
The deep-case level has a different and complementary purpose with respect to
the taxonomic representation level. It represents the relations binding the events and
the states (ovals and circles, respectively, in Figure 2) to the domain entities and it
specifies the different role that each entity plays in a given event or state. {From the
functional point of view (e.g., how they are used) there is no difference between
events and states. This distinction has been introduced to simplify the natural
language parsing process.} Each event or state is connected to a set of entities by a
number of labeled arcs that represent the corresponding role. There are three main
purposes of the deep-case representation level:
Figure 2. A subset of the conceptual domain model.
152 A. S. Fabiano and S. A. Cerri
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 10: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/10.jpg)
1. Support the user natural language±query interpretation, allowing for a
semantic check of his request.
2. Correctly match the user request against any knowledge source description.
Useful information must be related to the same entities and must play the same roles
in the named events or states.
3. Exhibit an intelligent and cooperative behavior. Alternative entities, playing
the same deep-case role, can be proposed whenever an exact match is possible.
Generally, more than a single entity can be playing the same role for the same event
or state. For example, the event ª prescriptionº could connect different entities, like
drug, thermal treatment, acupuncture, etc. Suppose, for example, that the user asks
for the drugs prescribed for diabetes treatment and that a given knowledge source
has information about the thermal treatment for the same disease. In this case, a
cooperative behavior, based on the deep-case representation level, takes place, and
the information about thermal treatment for diabetes is proposed in addition to the
pharmacological treatment. In a different domain, the system could be able to also
propose a night train schedule (say, for a trip from Milano to Wien) based on a request
for the plane schedule.
The two representation levels are used to parse the user query and to generate
a corresponding internal representation. The user query, ª What alchaloids are
prescribed for hypertension?º is translated in the internal language statement:
(PRESC RIPTION (pathology patho-name hypertension)
(drug thera-group alchaloids)
(drug comm-name X))
The expression (drug comm-name X) identifies the information the user is looking
for (i.e., the object of the query), while (pathology patho-name hypertension) and
(drug thera-group alchaloids) identifies a subset of the domain entities constraining
the object of the query. The PRESCRIPTION event identifies the conceptual context
of the query by adding a further constraint to the object of the query.
By looking at the conceptual domain model, each knowledge source checks not
only for the information referred by the user, but also for other information satisfying
the same conceptual context, i.e., playing the same conceptual role. The importance
of this concept will become clearer by looking at each knowledge source structure
and by understanding how each query is interpreted and which kind of answers the
system can provide to the user based on the available information.
NODE STRUC TURE
The functionality described in the previous sections is implemented by means
of a set of concurrent agents implemented in ABCL/1 (Shibayama & Yonezawa,
Concurrent, Asynchronous Search 153
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 11: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/11.jpg)
1986). Each agent can asynchronously exchange messages with other agents and
can therefore perform different activities in parallel.
In Figure 3 a node managing two different knowledge sources is represented.
In each node there are five different types of agents: the node master, the access
master, the semantic experts, the lexical experts, and the structural experts. A set of
semantic, lexical, and structural experts is defined for each different knowledge
source. The access master has the task to coordinate the lexical and the structural
experts for actually accessing the data stored in a particular knowledge source. The
access phase is activated by the user after the evaluation of the navigation phase (as
in Davis & Smith, 1983) even if no negotiation occurs. The lexical experts have
knowledge to establish the relation between the concepts referenced in the user query
and the identifiers used, for example, by the local DBMS, to store the corresponding
data. The structural experts have the knowledge necessary to understand where (in
which data structure) the requested data have been stored. The final result of the
interaction between lexical and structural experts is, for example, in INFONAUT,
the SQL query to the INGRES (Stonebraker et al., 1976) database. We will not give
further details on the access process in this article.
Figure 3. The structure of a node.
154 A. S. Fabiano and S. A. Cerri
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 12: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/12.jpg)
Node Master
The node master is the functional front-end to the rest of the network. Its main
task is to coordinate different activities arising from the interaction with other agents
on the net, as well as from inside the node itself. In particular, it has to
· manage the communication with the other nodes of the network;
· perform a ª macroanalysisº on the received query and activate the semantic
experts;
· collect and evaluate the asynchronous answers com ing from the semantic
experts;
· route the access requests to destination through the shorter path;
· replan the access requests whenever the best access path is not available.
In order to perform these activities, the node master uses four different types of
knowledge: (1) a qualitative description of the knowledge source content (KS-id),
(2) the list of the domain entities referred in the knowledge source, (3) the conceptual
domain model representation, and (4) knowledge about the neighboring nodes
(addresses and cost of each connection).
The qualitative description of each knowledge source can be used by the user
to better evaluate the search results. The content of the KS-id depends on the domain
and on the type of knowledge source it is referred to. For example, in the biomedical
domain, we can identify declarative, epidemiological, and bibliographical knowl-
edge sources. A good qualitative description of an epidemiological knowledge
source includes the nation where the study was conducted, the size of the (human)
sample, the acceptability conditions, and the dates of the start and the duration of
the study. (Some of the knowledge sources used during the development of IN-
FONAUT are epidemiological. This means that results of epidemiological studies
and clinical trials are stored in these knowledge sources.) These descriptors are, of
course, not suitable for a bibliographical knowledge source, where a list of the main
covered subjects is more effective.
Semantic Experts
The semantic experts are the agents that analyze the user query. They are
hierarchically connected following the same structure of the conceptual domain
model. Each semantic expert has declarative knowledge about a single entity (or
subentity) of the domain or deep-case knowledge of the represented event or state.
This knowledge is represented by setting the entity attributes to particular values or
keywords according to the semantic domain model and represents the informative
content of the associated knowledge source. For example, the following attribute
assignment (relative to the semantic expert of the entity DRUG):
Concurrent, Asynchronous Search 155
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 13: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/13.jpg)
comm-name = NIL, thera-group = anaesthetics, active-princ = ALL
indicates that the knowledge source has information relative to the active principles
of the anaesthetics. All the semantic experts responsible for an event or a state keep
track of all the other experts available in the knowledge source, connected through
a deep-case relation. Given this organization, alternative information could be
devised by looking at the fulfillment of the conceptual relation only. For example,
the ª prescriptionº agent will be directly connected to all the semantic experts playing
the role of object, cause, etc.
PROC ESSING THE INFORMATION REQUESTS
Each user request is propagated to all the nodes of the network because of the
spreading activation technique adopted during the navigation. At each node, the
request is analyzed by the node master and by the semantic experts during three
different phases: the macroanalysis done by the node master, the microanalysis done
by the semantic experts, and the final evaluation of results of the microanalysis done
by the node master.
Macroanalysis
The macroanalysis is a simple but important process because it allows us to
select which knowledge sources, among the ones described in the node, poten-
tially hold useful information with respect to the user query being analyzed. (A
knowledge source is said to be potentially able to supply useful information when
it is not possible to assert that it has no useful information.) The macroanalysis
avoids the activation of the search process on knowledge sources that for sure
do not have useful information. The node master uses the deep-case knowledge
to analyze the user request and decides whether to activate the microanalysis
process for a certain knowledge source. Consider, for exam ple the following
request:
(PRESC RIPTION (pathology patho-name diabetes)
(drug comm-name X)
(patient has-patho-name asthma))
{Q: What are the drugs administered to asthmatic patients for the treatment of
diabetes ?}
Looking at the entities referred in the user query and matching them against (1) the
description of the local knowledge sources and (2) the semantic domain model (for
the deep-case analysis), the node master will decide to avoid the activation of the
microanalysis process for a particular knowledge source whenever:
156 A. S. Fabiano and S. A. Cerri
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 14: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/14.jpg)
The knowledge source has no information about the entity requested in the query
(drug in this case) and no other entities playing the same role (object of the
prescription in this case) in the same event are available.
The reason for not having a stronger filter at this level lies in the cooperative
behavior exploited by the sem antic experts. Even if the knowledge source is not
exactly matching to the user request, the semantic experts can often propose
useful inform ation to the user. W hen the master node decides that a certain
knowledge source could be able to give a contribution, the user query is concur-
rently sent to all the semantic experts at the top level of the domain taxonomy.
While the semantic experts execute the microanalysis, the master node can
continue to execute other tasks.
Microanalysis
The internal expression of the user query is received by all the experts at the top
level of the domain taxonomy defined in the semantic domain model. If necessary,
a delegation process is activated by some experts to resolve a request (or part of a
request) involving knowledge about subentities.
Each semantic expert extracts from the query the expressions of its com -
petence, called atomic expressions, and by looking at the local knowledge
description, modifies each by prefixing special keywords describing the level
of possible fulfillm ent for the given entity specification. The m odified atom ic
expressions will then be re turned to the node m aster for the final evaluation.
The possible m odification keywords x-not-m atch, x-match, x-alternative-
match are prefixed to the atomic expressions re lative to the object of the query
and specify how the requested inform ation can be m atched by the particular
knowledge source. The keywords match, not-m atch, can-m atch, alternative-
selection, valid-selection are prefixed to the atom ic expressions constra ining
the object of the query and specify how the constraints can be satisfied by the
particular know ledge source.
In order to explain the microanalysis process, a short example will be given,
relative to the drug semantic expert. Suppose the following query is received:
(PRESC RIPTION
(drug comm-name X)
(drug thera-group anaesthetics sub-thera-group general)
(pathology patho-name diabetes))
{Q: What general anaesthetics are administered for the treatment of diabetes?}
After the extraction of the two atomic expressions of its competence, (drug comm-
name X) and (drug thera-group anaesthetics sub-thera-group general), the semantic
Concurrent, Asynchronous Search 157
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 15: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/15.jpg)
expert will analyze in sequence each expression. In this case, the second expression
requires a deeper analysis from the anaesthetics semantic expert (this case is
considered below).
Given the following description of the drug semantic expert knowledge,
Commercial-name = ALL; Active-Principle = ALL; Thera-group = Anaesthetics
the result produced by the semantic expert would be
((x-match (drug comm-name X)
(match (drug thera-group anaesthetics)))
The drug expert answers that it could give information about the commercial names
of anaesthetics. In case the knowledge source does not have any information about
the commercial drug names, the drug expert would produce the following answer:
((x-alternative-match (drug act-princ X)
(match (drug thera-group anaesthetics)))
Since the information requested is not represented, the semantic expert, by reasoning
on the available local knowledge, is able to propose a meaningful alternative to the
original request. In this specific case, the drug expert knows that the active principle
is considered as a ª good alternativeº to the commercial name. The validity of this
sentence actually depends on the class of users we are dealing with. In fact, this kind
of semantic equivalence is valid for a medical doctor but probably not for a computer
scientist. For these reasons, we strongly support the use of a domain-dependent
conceptual model.
Another cooperative behavior of the semantic experts is exploited by spon-
taneously specifying the subset of the entity stored in the given knowledge
source, even when this is not explicitly required by the user. Suppose that the
user asks simply for the drugs prescribed for diabetes treatment. In this case the
drug expert associated to the sam e knowledge source of the previous example
would answer
((x-alternative-match (drug act-princ X)
(x-alternative-selection (drug thera-group anaesthetics)))
In this case, not only is alternative information proposed to the original request, but
also the specification of the particular selection valid in the knowledge source.
Consider now the case where the anaesthetics semantic expert exists and,
activated by the drug expert, produces the following result:
(match (anaesthetics sub-thera-group general))
This answer will be received by the drug expert and combined with its results to
produce the following answer:
158 A. S. Fabiano and S. A. Cerri
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 16: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/16.jpg)
((x-match (drug comm-name X)
(match (drug thera-group anesthetics sub-thera-group general)))
These examples show how, even when an exact m atch is not possible, the
semantic experts are able to propose alternative answers. In any case, the most
possible detailed description of the subset of the entity described in the knowl-
edge source is given in order to better specify the inform ative content of the
knowledge source.
Evaluation of the Microanalysis
The node master evaluates the microanalysis outcome when all the semantic
experts’ answers have been received. When the knowledge source has information
matching or at least related to the user query, the master node sends to the user the
semantic experts’ answers, adding a qualitative description of the knowledge source.
Suppose that the following answer
(PRESC RIPTION (drug comm-name X)
(drug thera-group -stimulants)
(pathology patho-name depression)
(patient has-patho-name asthma))
{Q: Which -stimulants are administered to asthmatic patients for the treatment of
depression?}
produces the answer
((match (PRESC RIPTION )
(x-match (drug comm-name X)
(match (pathology patho-name depression)
(can-match (patient has-patho-name asthma))))
This answer could be interpreted as
The given knowledge source has information about the commercial name of drugs
prescribed for the treatment of depression to patients that could have asthma.
In this case the knowledge source does not have a precise selection on the patient
entity (the has-patho-name does not have a specific value); therefore it is not sure
that the information stored in the knowledge source will exactly match the user needs
( -stimulants). Even if not exactly matching the user needs, this kind of answer is
preferable to a NULL answer. In fact, the user becomes aware of the existence of a
knowledge source storing information related to his needs and, on the basis of the
qualitative description of the knowledge source, could decide to actually access the
described information.
Concurrent, Asynchronous Search 159
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 17: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/17.jpg)
CONC LUSIONS
A new approach to information retrieval has been proposed. First, a distinction
is made in the search between the first phase, called navigation, where the purpose
is to verify if and where knowledge is available to satisfy the conceptual aspects of
the query, and the second phase, called access, where the information is retrieved,
if necessary by using information stored in different sources. By introducing a
common conceptual representation of the application domain, it is possible to
implement a cooperative and concurrent search among loosely coupled knowledge
sources, distributed over a topologically unknown network. The navigation process
is performed by distributed agents, with limited domain knowledge, that try to match
the user needs against each knowledge source description. Whenever an exact match
is not possible, partial and alternative answers, augmented with a qualitative descrip-
tion of the knowledge source, are proposed to the user that will decide whether to
access the knowledge source.
At the moment we are thinking about concrete possibilities of extensions,
abstraction, and generalization of the architecture by defining a limited, domain-
independent language and its associated techniques for the definition of domain-
dependent conceptual models.
REFERENC ES
Bonati, M., S. A. Cerri, A. S. Fabiano, C. Falcone, and R. Tagliavini. 1989. A concurrent navigational system
among distributed knowledge sources, In Proc. 2nd European Conf. on Artificial Intelligence in Medicine
(AIME ©89). London, UK.
Ceri, S., and G. Pelegatti. 1985. Distributed databases: Principles & systems. New York: McGraw-Hill.
Cerri, S. A., P. Landini, and M. Leoncini. 1987. Cooperative agents for knowledge-based information systems.
Applied Artificial Intelligence 1:1±24.
Chen, P. P. S., 1976. The entity-relationship model: Toward a unified view of data. ACM-TODS 1(1):9±36.
Davis, R., and G. Smith. 1983. Negotiation as a metaphor for distributed problem solving. Artificial Intelligence
20:63±109.
Durfee, E. H. 1988. Cooperation through communication in a distributed problem solving network. In Distributed
Artificial Intelligence, vol. II. Pittman Publishing.
Durfee, E. H., V. R. Lesser, and D. D. Corkill. 1987. Coherent cooperation among communication problem solvers.
IEEE Transactions on Computers C36:1275±1291.
Fabiano, A. S., 1988. Ricerca concorrente fra sorgenti di conoscenza. Tesi di Laurea, Univ. Statale di Milano.
Fabiano, A. S., C. Bettini, and S. Chin. 1991. A model based assistant for quantum chemistry programs. In Proc.
7th IEEE Int. Conf. on Artificial Intelligence Applications (CAIA ©91). Miami Beach, Florida.
Fabiano, A. S., and S. A. Cerri. 1995. Conceptual search among distributed knowledge sources. In Proc. 6th IEEE
Int. Conf. on Tools with Artificial Intelligence (TAI ©95). New Orleans, Louisiana.
Gopher. 1995. [email protected]. Information about Gopher.
Hayes-Roth, F. A., L. Erman, S. Fouse, J. Larke, and J. Davidson. 1988. ABE: A cooperative operating system and
development environment. In AI tools and techniques, ed. M. Richer. Ablex.
Hewitt, C. E. 1977. Viewing control structures as a pattern of passing messages. Artificial Intelligence 8(3):323±
364.
Huhns, M., N. Jacobs, T. Ksiezyk, W. M. Shen, M. Singh, and P. Cannata. 1992. Enterprise information modeling
and model integration in carnot. In Enterprise integration modeling: Proceedings of the First International
Conference. Cambridge, Mass.: MIT Press.
160 A. S. Fabiano and S. A. Cerri
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 18: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/18.jpg)
Kaplan, S. J. 1983. Cooperative responses from a portable natural language database query system. Artificial
Intelligence 19.
Levesque, H. J., and J. Brachman. 1984. What makes a knowledge base knowledgeable? A view of database from
the knowledge level. In Expert database systems, ed. L. Kershberg. Kiawah Island.
Mosaic. 1995. Http://www.ncsa.uiuc.edu/SDS/Software/Mosaic/Docs/faq-general.html. NCSA Mosaic FAQ: General
Information.
Netscape. 1995. http://home.mcom.com/home/faq.html. Information about Gopher.
Reiter, R. 1978. On closed world data base. In Logic and databases, eds. H. Gallair and J. Minker. New York:
Plenum.
Shibayama, E., and A. Yonezawa. 1986. Distributed computing in ABCL/1. In Object oriented concurrent
programming. Cambridge, Mass.: MIT Press.
Stonebraker, M., et al. 1976. The design and implementation of Ingres. ACM-TODS II N.3.
Winograd, T. 1983. Language as a cognitive process. Reading, Mass.: Addison-Wesley.
Concurrent, Asynchronous Search 161
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4
![Page 19: Concurrent, asynchronous search for the availability of knowledge](https://reader031.vdocument.in/reader031/viewer/2022022203/5750a5281a28abcf0cafd692/html5/thumbnails/19.jpg)
Dow
nloa
ded
by [
Ston
y B
rook
Uni
vers
ity]
at 1
9:40
28
Oct
ober
201
4