Malcolm Pradhan
Last updated: Sep 3, 1995
The netview file format is a simple, tagged belief network file format that is designed
to be easy to read from a variety of languages, and also human-readable. It is loosely based around the IDEAL network definition format, so it has some inconsistencies.
The current version of the format only handles causal independent probability tables
as this is the only variety of network that is used in the IDSR experiments.
Netview files are easy to read and maintain, but MacInfer
and Ergo require Ergo
file format. Netview2Ergo will expand netview format files into Ergo files for inference.
The solitary word "node" on a line marks the beginning of a node definition (see Listing 1). Following this mark is a list of keyword-value pairs, delimited by a colon and space. Values cannot span multiple lines. One or more blank lines signals the end of a node definition.
Programs reading netview files will ignore the keywords they do not understand. Programs
writing netview files should store the keywords they do not use and write them out
so no information is lost.
The Table 1 shows the minimal set of required tags for a node listing. Labels not included in
the table, e.g. semantic-labels, are optional.
The arc definition begins with the term "add-arcs" followed by a space and the name of the child node. Each non-blank line following the "add-arcs" line is the name of a parent node (see Listing 2).
The netview format currently supports two types of probability specification: Noisy
and prior.
A noisy gate distribution begins with the keyword set-gnor-dist followed by the child node, and then the parent node, delimited by a space (see Listing 3). Each following non-blank line begins with the conditioning state of the parent, followed by n probability values, where n is the number of states of the child node. In the example shown in Listing 3 ascites is a parent of abdominal-distention. The states for ascites are {absent, mild, moderate, severe}, and abdominal-distention has two states.
Note that there is a tab delimiting the conditioning state from the probability values,
which are separated by a space. Programs reading netview format files should regard the
parent state label as optional, that is, there need not be a tab on the line.
If a node has more than two states then the noisy gate distribution will be a noisy max rather than the binary noisy or. Details on the noisy max and code to demonstrating how to expand it is available online or postscript version (soon).
It is assumed that the noisy-gates contain leak probabilities. Also, the noisy max formulation expects this. Leak probabilities can be defined as the probability of a child node being true (non-false) if all it's parents are absent (false). This definition extends for the noisy max.
In netview format files the leak is stored implicitly in the probability tables. This is suboptimal, as it leads to redundancy and it is less than clear, but it provided the easiest way to convert between netview format and IDEAL input.
In Listing 3 the line beginning with absent is the case when the parent of the child is absent (false), and the leak is therefore the probability that the child is non-absent, which is Listing 3 is 0.0001. This value will be the same in each table for a given child. In other words, the value of 0.0001 will be the same in each table where abdominal-distention is the child.
Prior probability definitions begin with the tag set-dist, followed by a space, then the name of the node being set. The next line contains a space delimited line containing
the probability values for each state of the node.