Netview file format

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.


Node definition

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.

Listing 1. Node definition

node
name: abdominal-bruit
state-labels: absent,present-right-upper-quadrant
type: gnor
short-name: abdbru
semantic-labels: finding

Required Keywords

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.

Table 1.Node definition required keywords.

name
Name of node, no spaces. No size limitation.
state-labels
Labels separated by commas, no spaces.
type
Type of node {gnor, prob}. Currently the prob label is used for priors only.


Arc definitions

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).

Listing 2. Add-arcs definition

add-arcs abdominal-distention
ascites
pregnancy


Probability specification

The netview format currently supports two types of probability specification: Noisy and prior.

Noisy-gates

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.

Listing 3. Noisy-gate definition

set-gnor-dist abdominal-distention ascites
absent 0.9999 0.0001
mild 0.97500 0.02500
moderate 0.50000 0.50000
severe 0.01500 0.98500

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).

Leaks

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

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.


Warnings


CPCS