diff --git a/Help/helps/HowToBuild/Corporate/Anaphora/Bullet7.gif b/Help/helps/HowToBuild/Corporate/Anaphora/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Anaphora/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Anaphora/Bullet8.gif b/Help/helps/HowToBuild/Corporate/Anaphora/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Anaphora/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Anaphora/Image93.gif b/Help/helps/HowToBuild/Corporate/Anaphora/Image93.gif deleted file mode 100644 index 9bd13d0..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Anaphora/Image93.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Anaphora/Image94.gif b/Help/helps/HowToBuild/Corporate/Anaphora/Image94.gif deleted file mode 100644 index 1c1249e..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Anaphora/Image94.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Anaphora/Image96.gif b/Help/helps/HowToBuild/Corporate/Anaphora/Image96.gif deleted file mode 100644 index 37ca4a6..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Anaphora/Image96.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Anaphora/Image97.gif b/Help/helps/HowToBuild/Corporate/Anaphora/Image97.gif deleted file mode 100644 index ed50f0f..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Anaphora/Image97.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Anaphora/Image98.gif b/Help/helps/HowToBuild/Corporate/Anaphora/Image98.gif deleted file mode 100644 index a1b0528..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Anaphora/Image98.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/CompConj/Bullet7.gif b/Help/helps/HowToBuild/Corporate/CompConj/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Corporate/CompConj/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/CompConj/Bullet8.gif b/Help/helps/HowToBuild/Corporate/CompConj/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/CompConj/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/CompConj/Image100.gif b/Help/helps/HowToBuild/Corporate/CompConj/Image100.gif deleted file mode 100644 index 812275c..0000000 Binary files a/Help/helps/HowToBuild/Corporate/CompConj/Image100.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/CompConj/Image101.gif b/Help/helps/HowToBuild/Corporate/CompConj/Image101.gif deleted file mode 100644 index 7a89e90..0000000 Binary files a/Help/helps/HowToBuild/Corporate/CompConj/Image101.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/CompConj/Image99.gif b/Help/helps/HowToBuild/Corporate/CompConj/Image99.gif deleted file mode 100644 index 2fa706f..0000000 Binary files a/Help/helps/HowToBuild/Corporate/CompConj/Image99.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Companies/Bullet7.gif b/Help/helps/HowToBuild/Corporate/Companies/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Companies/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Companies/Bullet8.gif b/Help/helps/HowToBuild/Corporate/Companies/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Companies/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Companies/Image83.gif b/Help/helps/HowToBuild/Corporate/Companies/Image83.gif deleted file mode 100644 index afa475c..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Companies/Image83.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Companies/Image84.gif b/Help/helps/HowToBuild/Corporate/Companies/Image84.gif deleted file mode 100644 index 2ed7402..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Companies/Image84.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Companies/Image86.gif b/Help/helps/HowToBuild/Corporate/Companies/Image86.gif deleted file mode 100644 index 19bd7b5..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Companies/Image86.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Companies/Image88.gif b/Help/helps/HowToBuild/Corporate/Companies/Image88.gif deleted file mode 100644 index bb9474d..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Companies/Image88.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Companies/Image89.gif b/Help/helps/HowToBuild/Corporate/Companies/Image89.gif deleted file mode 100644 index ab94fac..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Companies/Image89.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Companies/Image90.gif b/Help/helps/HowToBuild/Corporate/Companies/Image90.gif deleted file mode 100644 index 5ab853f..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Companies/Image90.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Companies/Image92.gif b/Help/helps/HowToBuild/Corporate/Companies/Image92.gif deleted file mode 100644 index 57595eb..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Companies/Image92.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Bullet7.gif b/Help/helps/HowToBuild/Corporate/Events/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Bullet8.gif b/Help/helps/HowToBuild/Corporate/Events/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Image102.gif b/Help/helps/HowToBuild/Corporate/Events/Image102.gif deleted file mode 100644 index 76944ca..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Image102.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Image103.gif b/Help/helps/HowToBuild/Corporate/Events/Image103.gif deleted file mode 100644 index bafe95e..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Image103.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Image104.gif b/Help/helps/HowToBuild/Corporate/Events/Image104.gif deleted file mode 100644 index 4d2d33a..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Image104.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Image105.gif b/Help/helps/HowToBuild/Corporate/Events/Image105.gif deleted file mode 100644 index 17bcdfc..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Image105.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Image106.gif b/Help/helps/HowToBuild/Corporate/Events/Image106.gif deleted file mode 100644 index a1d0882..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Image106.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Image107.gif b/Help/helps/HowToBuild/Corporate/Events/Image107.gif deleted file mode 100644 index 2aa8880..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Image107.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Image110.gif b/Help/helps/HowToBuild/Corporate/Events/Image110.gif deleted file mode 100644 index b7df65e..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Image110.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Image111.gif b/Help/helps/HowToBuild/Corporate/Events/Image111.gif deleted file mode 100644 index 1954ddf..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Image111.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Image112.gif b/Help/helps/HowToBuild/Corporate/Events/Image112.gif deleted file mode 100644 index 6501301..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Image112.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Image113.gif b/Help/helps/HowToBuild/Corporate/Events/Image113.gif deleted file mode 100644 index fab3452..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Image113.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Image114.gif b/Help/helps/HowToBuild/Corporate/Events/Image114.gif deleted file mode 100644 index 55ef423..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Image114.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Events/Image119.gif b/Help/helps/HowToBuild/Corporate/Events/Image119.gif deleted file mode 100644 index 93993c3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Events/Image119.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Format/Bullet7.gif b/Help/helps/HowToBuild/Corporate/Format/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Format/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Format/Bullet8.gif b/Help/helps/HowToBuild/Corporate/Format/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Format/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Format/Image47.gif b/Help/helps/HowToBuild/Corporate/Format/Image47.gif deleted file mode 100644 index 7064710..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Format/Image47.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Format/Image48.gif b/Help/helps/HowToBuild/Corporate/Format/Image48.gif deleted file mode 100644 index 9a0cbad..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Format/Image48.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Format/Image50.gif b/Help/helps/HowToBuild/Corporate/Format/Image50.gif deleted file mode 100644 index 781ce46..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Format/Image50.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Format/Image51.gif b/Help/helps/HowToBuild/Corporate/Format/Image51.gif deleted file mode 100644 index a2eb661..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Format/Image51.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Format/Image52.gif b/Help/helps/HowToBuild/Corporate/Format/Image52.gif deleted file mode 100644 index 69c1814..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Format/Image52.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Format/Image53.gif b/Help/helps/HowToBuild/Corporate/Format/Image53.gif deleted file mode 100644 index f80537d..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Format/Image53.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/GramTab/Bullet7.gif b/Help/helps/HowToBuild/Corporate/GramTab/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Corporate/GramTab/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/GramTab/Bullet8.gif b/Help/helps/HowToBuild/Corporate/GramTab/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/GramTab/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/GramTab/Image54.gif b/Help/helps/HowToBuild/Corporate/GramTab/Image54.gif deleted file mode 100644 index 1289190..0000000 Binary files a/Help/helps/HowToBuild/Corporate/GramTab/Image54.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/GramTab/Image55.gif b/Help/helps/HowToBuild/Corporate/GramTab/Image55.gif deleted file mode 100644 index a20db0b..0000000 Binary files a/Help/helps/HowToBuild/Corporate/GramTab/Image55.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/GramTab/Image59.gif b/Help/helps/HowToBuild/Corporate/GramTab/Image59.gif deleted file mode 100644 index 355ff7c..0000000 Binary files a/Help/helps/HowToBuild/Corporate/GramTab/Image59.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/GramTab/Image61.gif b/Help/helps/HowToBuild/Corporate/GramTab/Image61.gif deleted file mode 100644 index 9fd691b..0000000 Binary files a/Help/helps/HowToBuild/Corporate/GramTab/Image61.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/GramTab/Image62.gif b/Help/helps/HowToBuild/Corporate/GramTab/Image62.gif deleted file mode 100644 index 5621bb5..0000000 Binary files a/Help/helps/HowToBuild/Corporate/GramTab/Image62.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/GramTab/Image63.gif b/Help/helps/HowToBuild/Corporate/GramTab/Image63.gif deleted file mode 100644 index 2f2841b..0000000 Binary files a/Help/helps/HowToBuild/Corporate/GramTab/Image63.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/GramTab/Image64.gif b/Help/helps/HowToBuild/Corporate/GramTab/Image64.gif deleted file mode 100644 index e318816..0000000 Binary files a/Help/helps/HowToBuild/Corporate/GramTab/Image64.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/GramTab/Image65.gif b/Help/helps/HowToBuild/Corporate/GramTab/Image65.gif deleted file mode 100644 index 2c708fe..0000000 Binary files a/Help/helps/HowToBuild/Corporate/GramTab/Image65.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/HandDict/Bullet7.gif b/Help/helps/HowToBuild/Corporate/HandDict/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Corporate/HandDict/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/HandDict/Bullet8.gif b/Help/helps/HowToBuild/Corporate/HandDict/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/HandDict/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/HandDict/Image37.gif b/Help/helps/HowToBuild/Corporate/HandDict/Image37.gif deleted file mode 100644 index cfe8606..0000000 Binary files a/Help/helps/HowToBuild/Corporate/HandDict/Image37.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/HandDict/Image66.gif b/Help/helps/HowToBuild/Corporate/HandDict/Image66.gif deleted file mode 100644 index cd2f540..0000000 Binary files a/Help/helps/HowToBuild/Corporate/HandDict/Image66.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/HandDict/Image71.gif b/Help/helps/HowToBuild/Corporate/HandDict/Image71.gif deleted file mode 100644 index 3d3bc81..0000000 Binary files a/Help/helps/HowToBuild/Corporate/HandDict/Image71.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/HandDict/Image73.gif b/Help/helps/HowToBuild/Corporate/HandDict/Image73.gif deleted file mode 100644 index 03e4a6e..0000000 Binary files a/Help/helps/HowToBuild/Corporate/HandDict/Image73.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/HandDict/Image74.gif b/Help/helps/HowToBuild/Corporate/HandDict/Image74.gif deleted file mode 100644 index 4d72823..0000000 Binary files a/Help/helps/HowToBuild/Corporate/HandDict/Image74.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/HandDict/Image77.gif b/Help/helps/HowToBuild/Corporate/HandDict/Image77.gif deleted file mode 100644 index 2e35ee8..0000000 Binary files a/Help/helps/HowToBuild/Corporate/HandDict/Image77.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/HandDict/Image78.gif b/Help/helps/HowToBuild/Corporate/HandDict/Image78.gif deleted file mode 100644 index edfe67d..0000000 Binary files a/Help/helps/HowToBuild/Corporate/HandDict/Image78.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/InitKB/Bullet7.gif b/Help/helps/HowToBuild/Corporate/InitKB/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Corporate/InitKB/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/InitKB/Bullet8.gif b/Help/helps/HowToBuild/Corporate/InitKB/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/InitKB/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/InitKB/Image38.gif b/Help/helps/HowToBuild/Corporate/InitKB/Image38.gif deleted file mode 100644 index 7feca3e..0000000 Binary files a/Help/helps/HowToBuild/Corporate/InitKB/Image38.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/InitKB/Image39.gif b/Help/helps/HowToBuild/Corporate/InitKB/Image39.gif deleted file mode 100644 index 681f8c9..0000000 Binary files a/Help/helps/HowToBuild/Corporate/InitKB/Image39.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/InitKB/Image40.gif b/Help/helps/HowToBuild/Corporate/InitKB/Image40.gif deleted file mode 100644 index 9d4bec9..0000000 Binary files a/Help/helps/HowToBuild/Corporate/InitKB/Image40.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Intro/Bullet7.gif b/Help/helps/HowToBuild/Corporate/Intro/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Intro/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Intro/Bullet8.gif b/Help/helps/HowToBuild/Corporate/Intro/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Intro/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Intro/Image30.gif b/Help/helps/HowToBuild/Corporate/Intro/Image30.gif deleted file mode 100644 index 3f3bd31..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Intro/Image30.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Intro/Image33.gif b/Help/helps/HowToBuild/Corporate/Intro/Image33.gif deleted file mode 100644 index c8dd327..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Intro/Image33.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Intro/Image36.gif b/Help/helps/HowToBuild/Corporate/Intro/Image36.gif deleted file mode 100644 index 3367b42..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Intro/Image36.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Intro/Image37.gif b/Help/helps/HowToBuild/Corporate/Intro/Image37.gif deleted file mode 100644 index cfe8606..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Intro/Image37.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Join/Bullet7.gif b/Help/helps/HowToBuild/Corporate/Join/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Join/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Join/Bullet8.gif b/Help/helps/HowToBuild/Corporate/Join/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Join/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Join/Image41.gif b/Help/helps/HowToBuild/Corporate/Join/Image41.gif deleted file mode 100644 index cebcab8..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Join/Image41.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Join/Image42.gif b/Help/helps/HowToBuild/Corporate/Join/Image42.gif deleted file mode 100644 index 370182f..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Join/Image42.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Join/Image45.gif b/Help/helps/HowToBuild/Corporate/Join/Image45.gif deleted file mode 100644 index 7c5c3e8..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Join/Image45.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Join/Image46.gif b/Help/helps/HowToBuild/Corporate/Join/Image46.gif deleted file mode 100644 index a5f5aa7..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Join/Image46.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/MetaEvents/Bullet7.gif b/Help/helps/HowToBuild/Corporate/MetaEvents/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Corporate/MetaEvents/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/MetaEvents/Bullet8.gif b/Help/helps/HowToBuild/Corporate/MetaEvents/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/MetaEvents/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/MetaEvents/Image120.gif b/Help/helps/HowToBuild/Corporate/MetaEvents/Image120.gif deleted file mode 100644 index a7cb061..0000000 Binary files a/Help/helps/HowToBuild/Corporate/MetaEvents/Image120.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/MetaEvents/Image121.gif b/Help/helps/HowToBuild/Corporate/MetaEvents/Image121.gif deleted file mode 100644 index 2a5b081..0000000 Binary files a/Help/helps/HowToBuild/Corporate/MetaEvents/Image121.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/MetaEvents/Image122.gif b/Help/helps/HowToBuild/Corporate/MetaEvents/Image122.gif deleted file mode 100644 index 9db1ac8..0000000 Binary files a/Help/helps/HowToBuild/Corporate/MetaEvents/Image122.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/MetaEvents/Image123.gif b/Help/helps/HowToBuild/Corporate/MetaEvents/Image123.gif deleted file mode 100644 index d0bf2d0..0000000 Binary files a/Help/helps/HowToBuild/Corporate/MetaEvents/Image123.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/MetaEvents/Image125.gif b/Help/helps/HowToBuild/Corporate/MetaEvents/Image125.gif deleted file mode 100644 index 04f33ce..0000000 Binary files a/Help/helps/HowToBuild/Corporate/MetaEvents/Image125.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/MetaEvents/Image128.gif b/Help/helps/HowToBuild/Corporate/MetaEvents/Image128.gif deleted file mode 100644 index 2aeaf3a..0000000 Binary files a/Help/helps/HowToBuild/Corporate/MetaEvents/Image128.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/MetaEvents/Image129.gif b/Help/helps/HowToBuild/Corporate/MetaEvents/Image129.gif deleted file mode 100644 index a8d7089..0000000 Binary files a/Help/helps/HowToBuild/Corporate/MetaEvents/Image129.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/MetaEvents/Image131.gif b/Help/helps/HowToBuild/Corporate/MetaEvents/Image131.gif deleted file mode 100644 index 7f3c5ab..0000000 Binary files a/Help/helps/HowToBuild/Corporate/MetaEvents/Image131.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/MetaEvents/Image133.gif b/Help/helps/HowToBuild/Corporate/MetaEvents/Image133.gif deleted file mode 100644 index cc7223d..0000000 Binary files a/Help/helps/HowToBuild/Corporate/MetaEvents/Image133.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/MetaEvents/Image134.gif b/Help/helps/HowToBuild/Corporate/MetaEvents/Image134.gif deleted file mode 100644 index e25eeb6..0000000 Binary files a/Help/helps/HowToBuild/Corporate/MetaEvents/Image134.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/MetaEvents/Image135.gif b/Help/helps/HowToBuild/Corporate/MetaEvents/Image135.gif deleted file mode 100644 index 48f63f9..0000000 Binary files a/Help/helps/HowToBuild/Corporate/MetaEvents/Image135.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Money/Bullet7.gif b/Help/helps/HowToBuild/Corporate/Money/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Money/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Money/Bullet8.gif b/Help/helps/HowToBuild/Corporate/Money/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Money/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Money/Image75.gif b/Help/helps/HowToBuild/Corporate/Money/Image75.gif deleted file mode 100644 index 0ed4afe..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Money/Image75.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Money/Image76.gif b/Help/helps/HowToBuild/Corporate/Money/Image76.gif deleted file mode 100644 index c7f6048..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Money/Image76.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Money/Image79.gif b/Help/helps/HowToBuild/Corporate/Money/Image79.gif deleted file mode 100644 index 010a8aa..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Money/Image79.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Money/Image80.gif b/Help/helps/HowToBuild/Corporate/Money/Image80.gif deleted file mode 100644 index 8fdcd1e..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Money/Image80.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Money/Image82.gif b/Help/helps/HowToBuild/Corporate/Money/Image82.gif deleted file mode 100644 index b431708..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Money/Image82.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Output/Bullet8.gif b/Help/helps/HowToBuild/Corporate/Output/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Output/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Output/Image116full.gif b/Help/helps/HowToBuild/Corporate/Output/Image116full.gif deleted file mode 100644 index 71f5fcb..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Output/Image116full.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Output/Image137.gif b/Help/helps/HowToBuild/Corporate/Output/Image137.gif deleted file mode 100644 index 6be5a34..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Output/Image137.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Corporate/Output/Image138.gif b/Help/helps/HowToBuild/Corporate/Output/Image138.gif deleted file mode 100644 index 13a4fef..0000000 Binary files a/Help/helps/HowToBuild/Corporate/Output/Image138.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/AnalyzerTab/Bullet7.gif b/Help/helps/HowToBuild/Tour15/AnalyzerTab/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/AnalyzerTab/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/AnalyzerTab/Bullet8.gif b/Help/helps/HowToBuild/Tour15/AnalyzerTab/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/AnalyzerTab/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/AnalyzerTab/Image166.gif b/Help/helps/HowToBuild/Tour15/AnalyzerTab/Image166.gif deleted file mode 100644 index 7af3942..0000000 Binary files a/Help/helps/HowToBuild/Tour15/AnalyzerTab/Image166.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/AnalyzerTab/Image170.gif b/Help/helps/HowToBuild/Tour15/AnalyzerTab/Image170.gif deleted file mode 100644 index b8a9e11..0000000 Binary files a/Help/helps/HowToBuild/Tour15/AnalyzerTab/Image170.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/AnalyzerTab/Image171.gif b/Help/helps/HowToBuild/Tour15/AnalyzerTab/Image171.gif deleted file mode 100644 index ef5748d..0000000 Binary files a/Help/helps/HowToBuild/Tour15/AnalyzerTab/Image171.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/AnalyzerTab/Image172.gif b/Help/helps/HowToBuild/Tour15/AnalyzerTab/Image172.gif deleted file mode 100644 index 0db1db1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/AnalyzerTab/Image172.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Debug/Bullet7.gif b/Help/helps/HowToBuild/Tour15/Debug/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Debug/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Debug/Bullet8.gif b/Help/helps/HowToBuild/Tour15/Debug/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Debug/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Debug/Image190.gif b/Help/helps/HowToBuild/Tour15/Debug/Image190.gif deleted file mode 100644 index 852da1c..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Debug/Image190.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Debug/Image191.gif b/Help/helps/HowToBuild/Tour15/Debug/Image191.gif deleted file mode 100644 index 0d0ad7a..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Debug/Image191.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Debug/Image192.gif b/Help/helps/HowToBuild/Tour15/Debug/Image192.gif deleted file mode 100644 index 35dd2a8..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Debug/Image192.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Debug/Image194.gif b/Help/helps/HowToBuild/Tour15/Debug/Image194.gif deleted file mode 100644 index 010e555..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Debug/Image194.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Find/Bullet8.gif b/Help/helps/HowToBuild/Tour15/Find/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Find/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Find/Image184.gif b/Help/helps/HowToBuild/Tour15/Find/Image184.gif deleted file mode 100644 index aff2ad1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Find/Image184.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Find/Image185.gif b/Help/helps/HowToBuild/Tour15/Find/Image185.gif deleted file mode 100644 index 3f2ff1e..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Find/Image185.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Find/Image186.gif b/Help/helps/HowToBuild/Tour15/Find/Image186.gif deleted file mode 100644 index 495da01..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Find/Image186.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/GramTab/Bullet7.gif b/Help/helps/HowToBuild/Tour15/GramTab/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/GramTab/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/GramTab/Bullet8.gif b/Help/helps/HowToBuild/Tour15/GramTab/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/GramTab/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/GramTab/Image175.gif b/Help/helps/HowToBuild/Tour15/GramTab/Image175.gif deleted file mode 100644 index e8fcee9..0000000 Binary files a/Help/helps/HowToBuild/Tour15/GramTab/Image175.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/GramTab/Image176.gif b/Help/helps/HowToBuild/Tour15/GramTab/Image176.gif deleted file mode 100644 index 02c80cf..0000000 Binary files a/Help/helps/HowToBuild/Tour15/GramTab/Image176.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/GramTab/Image177.gif b/Help/helps/HowToBuild/Tour15/GramTab/Image177.gif deleted file mode 100644 index 09ec4ea..0000000 Binary files a/Help/helps/HowToBuild/Tour15/GramTab/Image177.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/GramTab/Image178.gif b/Help/helps/HowToBuild/Tour15/GramTab/Image178.gif deleted file mode 100644 index a8a6019..0000000 Binary files a/Help/helps/HowToBuild/Tour15/GramTab/Image178.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Intro/Bullet7.gif b/Help/helps/HowToBuild/Tour15/Intro/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Intro/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Intro/Bullet8.gif b/Help/helps/HowToBuild/Tour15/Intro/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Intro/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Intro/Image187.gif b/Help/helps/HowToBuild/Tour15/Intro/Image187.gif deleted file mode 100644 index 8622b2e..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Intro/Image187.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Intro/Image188.gif b/Help/helps/HowToBuild/Tour15/Intro/Image188.gif deleted file mode 100644 index 91a0dfc..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Intro/Image188.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Intro/Image189.gif b/Help/helps/HowToBuild/Tour15/Intro/Image189.gif deleted file mode 100644 index 295dcbb..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Intro/Image189.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Intro/ScreenLayoutMed.gif b/Help/helps/HowToBuild/Tour15/Intro/ScreenLayoutMed.gif deleted file mode 100644 index ff9b84c..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Intro/ScreenLayoutMed.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Kb/Bullet7.gif b/Help/helps/HowToBuild/Tour15/Kb/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Kb/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Kb/Bullet8.gif b/Help/helps/HowToBuild/Tour15/Kb/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Kb/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Kb/Image182.gif b/Help/helps/HowToBuild/Tour15/Kb/Image182.gif deleted file mode 100644 index ea38272..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Kb/Image182.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Kb/Image183.gif b/Help/helps/HowToBuild/Tour15/Kb/Image183.gif deleted file mode 100644 index cf98d86..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Kb/Image183.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Load/Bullet7.gif b/Help/helps/HowToBuild/Tour15/Load/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Load/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Load/Bullet8.gif b/Help/helps/HowToBuild/Tour15/Load/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Load/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Load/Image139.gif b/Help/helps/HowToBuild/Tour15/Load/Image139.gif deleted file mode 100644 index 4f72785..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Load/Image139.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Load/Image144.gif b/Help/helps/HowToBuild/Tour15/Load/Image144.gif deleted file mode 100644 index d7f9d1d..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Load/Image144.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Load/Image145.gif b/Help/helps/HowToBuild/Tour15/Load/Image145.gif deleted file mode 100644 index dcbc3f1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Load/Image145.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Load/Image146.gif b/Help/helps/HowToBuild/Tour15/Load/Image146.gif deleted file mode 100644 index 54f56bc..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Load/Image146.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Load/Image147.gif b/Help/helps/HowToBuild/Tour15/Load/Image147.gif deleted file mode 100644 index 001e0cf..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Load/Image147.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Log/Bullet7.gif b/Help/helps/HowToBuild/Tour15/Log/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Log/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Log/Bullet8.gif b/Help/helps/HowToBuild/Tour15/Log/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Log/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Log/Image148.gif b/Help/helps/HowToBuild/Tour15/Log/Image148.gif deleted file mode 100644 index e808689..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Log/Image148.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Output/Bullet7.gif b/Help/helps/HowToBuild/Tour15/Output/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Output/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Output/Bullet8.gif b/Help/helps/HowToBuild/Tour15/Output/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Output/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Output/Image163.gif b/Help/helps/HowToBuild/Tour15/Output/Image163.gif deleted file mode 100644 index 8c23c81..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Output/Image163.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Output/Image164.gif b/Help/helps/HowToBuild/Tour15/Output/Image164.gif deleted file mode 100644 index 68a20d1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Output/Image164.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Output/Image165.gif b/Help/helps/HowToBuild/Tour15/Output/Image165.gif deleted file mode 100644 index fa5d88d..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Output/Image165.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/ParseTrees/Bullet7.gif b/Help/helps/HowToBuild/Tour15/ParseTrees/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/ParseTrees/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/ParseTrees/Bullet8.gif b/Help/helps/HowToBuild/Tour15/ParseTrees/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/ParseTrees/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/ParseTrees/Image180.gif b/Help/helps/HowToBuild/Tour15/ParseTrees/Image180.gif deleted file mode 100644 index 66229a5..0000000 Binary files a/Help/helps/HowToBuild/Tour15/ParseTrees/Image180.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/ParseTrees/Image195.gif b/Help/helps/HowToBuild/Tour15/ParseTrees/Image195.gif deleted file mode 100644 index b847183..0000000 Binary files a/Help/helps/HowToBuild/Tour15/ParseTrees/Image195.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/PassFiles/Bullet7.gif b/Help/helps/HowToBuild/Tour15/PassFiles/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/PassFiles/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/PassFiles/Bullet8.gif b/Help/helps/HowToBuild/Tour15/PassFiles/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/PassFiles/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/PassFiles/Image173.gif b/Help/helps/HowToBuild/Tour15/PassFiles/Image173.gif deleted file mode 100644 index c26397f..0000000 Binary files a/Help/helps/HowToBuild/Tour15/PassFiles/Image173.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/PassFiles/Image174.gif b/Help/helps/HowToBuild/Tour15/PassFiles/Image174.gif deleted file mode 100644 index 8065e1c..0000000 Binary files a/Help/helps/HowToBuild/Tour15/PassFiles/Image174.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Run/Bullet7.gif b/Help/helps/HowToBuild/Tour15/Run/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Run/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Run/Bullet8.gif b/Help/helps/HowToBuild/Tour15/Run/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Run/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Run/Image156.gif b/Help/helps/HowToBuild/Tour15/Run/Image156.gif deleted file mode 100644 index f02302c..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Run/Image156.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Run/Image157.gif b/Help/helps/HowToBuild/Tour15/Run/Image157.gif deleted file mode 100644 index 02a7349..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Run/Image157.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Run/Image158.gif b/Help/helps/HowToBuild/Tour15/Run/Image158.gif deleted file mode 100644 index e459ac8..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Run/Image158.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Run/Image160.gif b/Help/helps/HowToBuild/Tour15/Run/Image160.gif deleted file mode 100644 index 89ae060..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Run/Image160.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Run/Image161.gif b/Help/helps/HowToBuild/Tour15/Run/Image161.gif deleted file mode 100644 index 014dcd8..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Run/Image161.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Run/Image162.gif b/Help/helps/HowToBuild/Tour15/Run/Image162.gif deleted file mode 100644 index c36e5c5..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Run/Image162.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Screen/Bullet7.gif b/Help/helps/HowToBuild/Tour15/Screen/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Screen/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Screen/Bullet8.gif b/Help/helps/HowToBuild/Tour15/Screen/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Screen/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Screen/Image149.gif b/Help/helps/HowToBuild/Tour15/Screen/Image149.gif deleted file mode 100644 index e433593..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Screen/Image149.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Screen/Image150.gif b/Help/helps/HowToBuild/Tour15/Screen/Image150.gif deleted file mode 100644 index f38649e..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Screen/Image150.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Screen/Image151.gif b/Help/helps/HowToBuild/Tour15/Screen/Image151.gif deleted file mode 100644 index 4c6be0e..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Screen/Image151.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Screen/Image168.gif b/Help/helps/HowToBuild/Tour15/Screen/Image168.gif deleted file mode 100644 index 7cdd869..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Screen/Image168.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/Screen/ScreenLayoutMed.gif b/Help/helps/HowToBuild/Tour15/Screen/ScreenLayoutMed.gif deleted file mode 100644 index ff9b84c..0000000 Binary files a/Help/helps/HowToBuild/Tour15/Screen/ScreenLayoutMed.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/TextTab/Bullet7.gif b/Help/helps/HowToBuild/Tour15/TextTab/Bullet7.gif deleted file mode 100644 index 8b75bc1..0000000 Binary files a/Help/helps/HowToBuild/Tour15/TextTab/Bullet7.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/TextTab/Bullet8.gif b/Help/helps/HowToBuild/Tour15/TextTab/Bullet8.gif deleted file mode 100644 index fd17dc3..0000000 Binary files a/Help/helps/HowToBuild/Tour15/TextTab/Bullet8.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/TextTab/Image152.gif b/Help/helps/HowToBuild/Tour15/TextTab/Image152.gif deleted file mode 100644 index 40d3c52..0000000 Binary files a/Help/helps/HowToBuild/Tour15/TextTab/Image152.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/TextTab/Image153.gif b/Help/helps/HowToBuild/Tour15/TextTab/Image153.gif deleted file mode 100644 index 312d47e..0000000 Binary files a/Help/helps/HowToBuild/Tour15/TextTab/Image153.gif and /dev/null differ diff --git a/Help/helps/HowToBuild/Tour15/TextTab/Image155.gif b/Help/helps/HowToBuild/Tour15/TextTab/Image155.gif deleted file mode 100644 index 39c6030..0000000 Binary files a/Help/helps/HowToBuild/Tour15/TextTab/Image155.gif and /dev/null differ diff --git a/Help/markdown/Getting_Help/Tours_and_Tutorials.md b/Help/markdown/Getting_Help/Tours_and_Tutorials.md index fec2da6..a1802d8 100644 --- a/Help/markdown/Getting_Help/Tours_and_Tutorials.md +++ b/Help/markdown/Getting_Help/Tours_and_Tutorials.md @@ -4,9 +4,9 @@ We have provided several tours and tutorials to help you get started with VisualText. -## VisualText Tours +## The NLP++ Textbook -There are two tours:  the **VisualText Quick Tour** and the **Corporate Analyzer **tour.  The Quick Tour introduces you to the major components of VisualText. The Corporate Analyzer walks you through the analyzer-building process.  We suggest you take the [VisualText Quick Tour](../Introduction/VisualText_Quick_Tour.md), study the tutorials, and then continue with the [Corporate Analyzer](../Sample_Analyzers/Corporate_Analyzer.md) tour. +The [NLP++ Textbook](../NLP++_Textbook.md) is the best place to start. It teaches NLP++ by building working analyzers, including the analyzers featured on the NLPFix site. ## VisualText Tutorials diff --git a/Help/markdown/HowToBuild/Corporate/Anaphora/Anaphora.md b/Help/markdown/HowToBuild/Corporate/Anaphora/Anaphora.md deleted file mode 100644 index 24e2e0a..0000000 --- a/Help/markdown/HowToBuild/Corporate/Anaphora/Anaphora.md +++ /dev/null @@ -1,40 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Corporate/Anaphora/Bullet8.gif) Companies | CORPORATE ANALYZER** Anaphora** | Company Conj ![](../../../../helps/HowToBuild/Corporate/Anaphora/Bullet7.gif) | -| --- | --- | --- | - -**Ana Tab Window: Passes 22 & 23** - -This section describes the analyzer passes "anaphora" and "anaphoraCompany". - -![](../../../../helps/HowToBuild/Corporate/Anaphora/Image93.gif) - -**Anaphora Pass** - -Anaphora is a fancy linguistic word for words and phrases that refer to other words and phrases in a text. One common anaphora relates to pronouns such as "they" and "its". Other phrases include words that reference actions such as "the sale", "this last purchase", etc. Below are highlights from the "anaphora" pass: - -![](../../../../helps/HowToBuild/Corporate/Anaphora/Image94.gif) - -**AnaphoraCompany Pass** - -First, we simply match an _anaphora node. If we find a suitable company candidate in previous sentences (shown further below), then we change our _anaphora to be a _company and point to the company found previously in the text. - -![](../../../../helps/HowToBuild/Corporate/Anaphora/Image96.gif) - -For debugging purposes, we write the results to a dump file called "anaphora.txt". Here is the final output of this pass: - -![](../../../../helps/HowToBuild/Corporate/Anaphora/Image97.gif) - -**Searching Through Sentences** - -Once the rule finds an _anaphora node, we can now use our "parse" concept in the KB to search backward for the company being referred to. This finally shows the power behind our KB-based analyzer design. - -Let us remember where we are. We are matching this rule in the context of the @PATH, which is set to match in sentences and therefore we can directly access the sentence object we have created under the "parse" concept of the KB. In our @CHECK area, we will loop through the previous sentences in the KB, and through the objects we created under those sentences, in order to find the first object that matches the desired type of anaphora. - -For example, if the anaphora is "it", then we will look backward for the first "company" type. If the anaphora is an "action" type such as "this last purchase", then we will back up to find the first "action" type. Although this example is simplified, it can be designed to deal with much more complicated and subtle linguistic constructions. - -We loop through the sentences and through the objects within each sentence. We know by design that there will only be two types of objects: "company" and "action" so we search for a match accordingly. When we find a match, we set S("exit") to 1 and that exits our while loops. If we find no object, we call **fail**, a special function for the @CHECK area that aborts the rule match altogether. - -![](../../../../helps/HowToBuild/Corporate/Anaphora/Image98.gif) - -**Next Section:** [Company Conj ![](../../../../helps/HowToBuild/Corporate/Anaphora/Bullet7.gif)](../CompConj/CompConj.md) diff --git a/Help/markdown/HowToBuild/Corporate/CompConj/CompConj.md b/Help/markdown/HowToBuild/Corporate/CompConj/CompConj.md deleted file mode 100644 index afc8938..0000000 --- a/Help/markdown/HowToBuild/Corporate/CompConj/CompConj.md +++ /dev/null @@ -1,22 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Corporate/CompConj/Bullet8.gif)Anaphora | CORPORATE ANALYZER** Company Conjunction** | Events ![](../../../../helps/HowToBuild/Corporate/CompConj/Bullet7.gif) | -| --- | --- | --- | - -**Ana Tab Window: Pass 24** - -This section describes the analyzer pass "conjCompany". - -![](../../../../helps/HowToBuild/Corporate/CompConj/Image99.gif) - -**ConjCompany Pass** - -This pass is another example of conjunctions (see "Money" section) but this time we are dealing with companies. It is constructed in the same manner as the conjMoney pass: - -![](../../../../helps/HowToBuild/Corporate/CompConj/Image100.gif) - -The conjunction rule was built primarily to handle the following sentence. A more general treatment might use a recursive pass to gather conjunctions one at a time. - -![](../../../../helps/HowToBuild/Corporate/CompConj/Image101.gif) - -**Next Section:** [Events ![](../../../../helps/HowToBuild/Corporate/CompConj/Bullet7.gif)](../Events/Events.md) diff --git a/Help/markdown/HowToBuild/Corporate/Companies/Companies.md b/Help/markdown/HowToBuild/Corporate/Companies/Companies.md deleted file mode 100644 index 0f809d0..0000000 --- a/Help/markdown/HowToBuild/Corporate/Companies/Companies.md +++ /dev/null @@ -1,60 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Corporate/Companies/Bullet8.gif) Money | CORPORATE ANALYZER** Companies** | Anaphora ![](../../../../helps/HowToBuild/Corporate/Companies/Bullet7.gif) | -| --- | --- | --- | - -**Ana Tab Window: Passes 19 - 21** - -This section describes the analyzer passes "companies", "companyAttributes", and "companyDet". - -![](../../../../helps/HowToBuild/Corporate/Companies/Image83.gif) - -**Seeing Green** - -There are currently two colors that appear when highlighting rule matches in the input text: blue and green. Usually, the text will highlight in blue, representing newly built nodes. When a rule matches without building new nodes, the text corresponding to the rule match is highlighted in green. - -**Companies Pass** - -Below is the highlighting for the company pass in our corporate analyzer, pass 19: - -![](../../../../helps/HowToBuild/Corporate/Companies/Image84.gif) - -The rule in this pass finds company nodes, but does not alter the parse tree. Rather, it updates the KB "parse" area's tracking of company instances found in the text, within each sentence of the text. The "parse" area was introduced in the initKB pass. - -![](../../../../helps/HowToBuild/Corporate/Companies/Image88.gif) - -Also, the "sentences" pass creates a numbered sentence concept (e.g., "sentence1") for every sentence that it detects in the parse tree, as well as having the "_sentence" node in the parse tree refer to its corresponding name in the "parse" area. We can see this using our handy "View>Tree of Selected" and displaying any portion of the text as seen below. The sentence object is written as ("name" "sentence1") ("object" concept ""): - -![](../../../../helps/HowToBuild/Corporate/Companies/Image90.gif) - -With this in mind, we now want to create "company objects" and attach them to the sentence object in the "parse" area of the KB. Notice below the @PATH command. This directs the rule matcher to search for matches only in "_sentence" nodes. In addition, we can access the "_sentence" context node from a matched rule with the special NLP++ **X** function. X(varname) and X(varname, 3) refer to a variable in the last and third component of the @PATH, respectively. Below, we create a new company concept with the **makeconcept** function and attach it to the sentence "object". We also add the attributes "type" and "normal" to the new company concept: - -![](../../../../helps/HowToBuild/Corporate/Companies/Image89.gif) - -**Green Highlighting** - -Now that we understand this pass better, let us look at why the company rule displays its matches in green. - -In the above rule, note two things: the use of _xNIL and the absence of tree building functions in the @POST area. - -(1) _xNIL is not really a special nonliteral, but it is a convention that documents when a rule is intended NOT to create a new, or suggested, node. - -(2) In NLP++, an empty @POST region uses the **single** reduction by default. But as soon as any code is placed in a @POST region, that default is overridden. To get a rule to create a new node, an action such as **single** must be specified explicitly in that case. - -With a non-empty @POST area that lacks a reduce action, this rule fires, but does not change the structure of the parse tree. Because the rule fired without modifying the tree, the highlighting appears in green. - -**CompanyAttributes Pass** - -Remembering the money pass discussion involving noun phrases, we use the same technique to gather attributes in the text surrounding companies. Below are the rules that matched company attribute phrases such as "TAI (Text Analysis Int'l)", "Founded in 1998, TAI", "California company", etc. We leave it to you to investigate the companyAttributes pass: - -![](../../../../helps/HowToBuild/Corporate/Companies/Image86.gif) - -**CompanyDet Pass** - -The companyDet pass stands for company "determiner" pass. Determiner is a linguistic term for those function words we put in front of nouns and their adjectives, e.g., "the", "a", "this", "that". In keeping with our idea of grabbing the entire company phrase, we add this pass to simply attach the determiner to the company phrase we are building in our passes 19-21. - -One interesting function you may have noticed in the previous pass (pass 20) is **pncopyvars**. This function is a handy function that copies all the variables from a matched node to the newly created node. In this case, we can think of it as passing all the meaning or semantic information from the _company item in the rule below, to the new _company tree node being constructed by this rule. Also notice the presence of the **single** action. This builds the new node for the rule. We also include the partial parse tree for the phrase "the Los Angeles-based AMRP". The tree shows the semantic information passed up from the _company node below to the _company node above: - -![](../../../../helps/HowToBuild/Corporate/Companies/Image92.gif) - -**Next Section:** [Anaphora ![](../../../../helps/HowToBuild/Corporate/Companies/Bullet7.gif)](../Anaphora/Anaphora.md) diff --git a/Help/markdown/HowToBuild/Corporate/Events/Events.md b/Help/markdown/HowToBuild/Corporate/Events/Events.md deleted file mode 100644 index d6bc7e0..0000000 --- a/Help/markdown/HowToBuild/Corporate/Events/Events.md +++ /dev/null @@ -1,88 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Corporate/Events/Bullet8.gif) Company Conj | CORPORATE ANALYZER** Events** | Meta Events ![](../../../../helps/HowToBuild/Corporate/Events/Bullet7.gif) | -| --- | --- | --- | - -**Ana Tab Window: Pass 25** - -This section describes the analyzer pass "events". - -![](../../../../helps/HowToBuild/Corporate/Events/Image102.gif) - -**Important:** - -This is by far the most important section of our corporate analyzer tour. Here, everything we have done so far will come together. - -**Events** - -In language, it is usual to have some kind of action as the center of meaning within a sentence. John *kicked* the ball. The ball was *kicked* by John. Actions are associated with verbs. The corporate world deals with sales, mergers, acquisitions, and statements of fact about a company, e.g., "Founded in 1972". Below, we can see the events that our analyzer recognizes in pass 25: - -![](../../../../helps/HowToBuild/Corporate/Events/Image103.gif) - -**Event Rule 1** - -Our "events" pass 25 contains two rules. One is for a stock "event", the second for "buy" and "acquire" events. The second rule is : - -![](../../../../helps/HowToBuild/Corporate/Events/Image105.gif) - -There are several remarkable things going on here. First, if you look at the graphic above containing the highlighting, you will see that many events are highlighted, yet there are only two rules in this pass. The second rule is generic enough to match three quite distinct sentences. - -This follows from the way in which the analyzer is constructed up to the current pass. Remember that we gathered not only company names and money values, but also the attributes in the text surrounding these constructs. That is, we gathered complex noun phrases to distill the domain-critical objects from the text. Once we gather all the subphrases into one neat concept such as _company or _money, we can build abstract rules for events, as in the second rule above. The idea that "companies buy companies for money" is clearly expressed by rules at the event level of abstraction. - -In this way, an information extraction system can become a powerful tool for accurately and deeply extracting critical content from a text. - -**Generate Rule** - -The "Generate Rule" menu item is a super-accelerator for building rules by hand. You invoke it from the right-click popup menu of a text window. It automatically generates rules from text in much the same way that RUG generates rules. - -**NOTE:** Generate Rule only works if you have previously run the analyzer on the text with the "Generate Logs" toggle turned on: - -![](../../../../helps/HowToBuild/Corporate/Events/Image119.gif) - -Using our other handy function "View>Tree of Selected", we can take a look at the tree for pass 25 for sentence 5: - -![](../../../../helps/HowToBuild/Corporate/Events/Image110.gif) - -Examining the top-level nodes of the parse tree above, you will see your rule! I.e., "_company have _acquire _company for _money". This is what Generate Rule does for you automatically, as follows. - -Below, choose the same text and instead of viewing the tree, select "Generate Rule".  (Note that the period is not included in the selected text.)  Generate Rule goes to the events pass, opens it up, and places a new rule at the bottom of the file. You can see the new rule on the left, in the image below: - -![](../../../../helps/HowToBuild/Corporate/Events/Image106.gif) - -We can also use Generate Rule to generate another rule for a second sentence, with an interesting result in this case: - -![](../../../../helps/HowToBuild/Corporate/Events/Image107.gif) - -Note that the two generated rules differ only by the concept "_have", even though the sentences appear to be very different. Also, notice that we have left in the "real" rule above the generated rule to show you the final form. The final rule shows that "_have" is "optional" and that the verb or action for the event is a list that matches either _buy or _acquire concepts. In fact, this rule matches three sentences that on the surface appear to be very different, but linguistically, turn out to be very similar in structure. And the corporate analyzer has helped uncover the similarity! - -**Action Concept** - -When the event rules fire, we want to create an action object in the sentence under the "parse" concept. In the first part of our @POST area for the above rule, we add the object in the same way we added our object for company in a previous section. The following code in the @POST area creates the object in the KB "parse" area: - -![](../../../../helps/HowToBuild/Corporate/Events/Image112.gif) - -You can see the resulting KB structure below after the @POST action code has executed: - -![](../../../../helps/HowToBuild/Corporate/Events/Image111.gif) - -**Conjunctions** - -The second part of the @POST area for the second rule is where we recover our company and money conjunctions. Again, conjunctions are groupings of similar items in a list and are normally tedious to deal with in text analysis systems. Remembering that we gathered up _money and _company concepts into arrays, we can now easily loop through those arrays to create the concepts in our "parse" area of the Knowledge Base. Below, you can see the two "while" loops where we loop through the arrays for company and money. The functions **addstrval** and **addnumval** add multiple values to a concept's attribute. The first adds a string value and the second an integer value. - -![](../../../../helps/HowToBuild/Corporate/Events/Image113.gif) - -One important note here is the use of the special NLP++ function **N**. Notice that in the first conjunction area for companies, we are using N("conj count",4) and in the second, for money, we are using N("conj count",6). The reason for this is that the _company concept is the 4th matching element of the rule, and the _money concept is the 6th. We repeat the rule here for convenience: - -![](../../../../helps/HowToBuild/Corporate/Events/Image105.gif) - -**Stock Event** - -The stock event is found as the first rule in the "events" pass file and keys off the word "stock" and the verb "to be". It works just like the "buy" and "acquire" rule described above, but does not process conjunctions. It creates a "stock" event in the sentence. - -![](../../../../helps/HowToBuild/Corporate/Events/Image104.gif) - -This rule constructs a slightly different structure in the KB than the "buy" or "acquire" event. Whereas the second rule constructs an event concept under its sentence, the first rule constructs a "stock" concept under the associated company and adds related information as attributes under the "stock" concept: - -![](../../../../helps/HowToBuild/Corporate/Events/Image114.gif) - -**Next Section:** [Meta Events ![](../../../../helps/HowToBuild/Corporate/Events/Bullet7.gif)](../MetaEvents/MetaEvents.md) diff --git a/Help/markdown/HowToBuild/Corporate/Format/Format.md b/Help/markdown/HowToBuild/Corporate/Format/Format.md deleted file mode 100644 index 61ce446..0000000 --- a/Help/markdown/HowToBuild/Corporate/Format/Format.md +++ /dev/null @@ -1,38 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Corporate/Format/Bullet8.gif) Join | CORPORATE ANALYZER** Formatting** | Rule Generation ![](../../../../helps/HowToBuild/Corporate/Format/Bullet7.gif) | -| --- | --- | --- | - -**Ana Tab Window: Passes 5, 6, 7** - -This section describes the analyzer passes "sentences", "paragraphs", and "removeWhite". - -![](../../../../helps/HowToBuild/Corporate/Format/Image47.gif) - -**Formatting** - -It is often useful for an analyzer to track the formatting of the input text as part of characterizing it. Pass 5 groups words into sentences. It assumes that prior passes, e.g., pass 4 (join), have removed or hidden periods (and semicolons, question marks, etc.) that are not likely to be end-of-sentence markers in the current text. The resulting parse tree is shown below: - -![](../../../../helps/HowToBuild/Corporate/Format/Image50.gif) - -Pass 6 groups the sentences into paragraphs: - -![](../../../../helps/HowToBuild/Corporate/Format/Image48.gif) - -Another convenient step, which helps simplify rules in subsequent passes, is to excise white space from the parse tree. In this way, subsequent rules need not consider white space. Below is a display of a tree before and after spaces are removed. Before: - -![](../../../../helps/HowToBuild/Corporate/Format/Image51.gif) - -The parse tree below results from running Pass 7, called "removeWhite": - -![](../../../../helps/HowToBuild/Corporate/Format/Image52.gif) - -**Precision Processing** - -An advantage of grouping the text into sentences and paragraphs is that it makes for a more precise and efficient text analyzer. Subsequent passes can be instructed to process only within particular contexts, such as sentences or paragraphs. In this way, spurious matches in unintended areas of the parse tree are minimized. - -The @PATH selector, as shown in the pass file for pass 7 below, instructs the rule matcher to start at the root of the parse tree (named "_ROOT"), then find children named "_paragraph", then find their children named "_sentence". Only when such a "_sentence" node is found does the rule matcher attempt to match the rules of the current pass. - -![](../../../../helps/HowToBuild/Corporate/Format/Image53.gif) - -**Next Section:** [Rule Generation ![](../../../../helps/HowToBuild/Corporate/Format/Bullet7.gif)](../GramTab/GramTab.md) diff --git a/Help/markdown/HowToBuild/Corporate/GramTab/GramTab.md b/Help/markdown/HowToBuild/Corporate/GramTab/GramTab.md deleted file mode 100644 index 8779399..0000000 --- a/Help/markdown/HowToBuild/Corporate/GramTab/GramTab.md +++ /dev/null @@ -1,58 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Corporate/GramTab/Bullet8.gif) Formatting | CORPORATE ANALYZER** Rule Generation** | KB & Dictionary ![](../../../../helps/HowToBuild/Corporate/GramTab/Bullet7.gif) | -| --- | --- | --- | - -**Ana Tab Window: Passes 8 - 12** - -This section describes the analyzer passes "city", "company", and "state" in the "words" stub region. - -![](../../../../helps/HowToBuild/Corporate/GramTab/Image54.gif) - -**Sample Files** - -We have included a few automatically generated (or "RUG") passes in the corporate analyzer, for the purpose of "dictionary" lookup. We describe how we set up this capability in the corporate analyzer. - -First, we added a folder called "Samples" under which we have created three files: "cities.txt", "companies.txt", and "states.txt". Below is "companies.txt". Note that each text sample (company name in this case) appears on a separate line. Only multi-word phrases are added to the companies.txt file, for reasons that will become apparent later. - -![](../../../../helps/HowToBuild/Corporate/GramTab/Image55.gif) - -**Stubs** - -Next, we created a "stub", or placeholder in the analyzer sequence, for automatically generated passes. This allows us to control where in the sequence of passes these automatically generated passes will occur. Since we are using RUG for a dictionary-like function, the stub comes early on in the analyzer flow, right after formatting: - -![](../../../../helps/HowToBuild/Corporate/GramTab/Image65.gif) - -**Gram Tab** - -The Gram Tab is where we set up a hierarchy of text samples. We created a stub concept called "words" and under it, we created rule concepts for city, company, and state. The Gram Tab allows us to quickly add text samples to the rule concepts, e.g., by importing the sample files built above. You can also add samples to the hierarchy manually by highlighting a text region and selecting the rule concept in which to place it. - -![](../../../../helps/HowToBuild/Corporate/GramTab/Image61.gif) - -**Setting Auto-Generation Flags** - -Before using RUG to generate our rules for us, we may need to provide constraints and instructions that control the rule-construction process. In the case of literal constructs such as company names, we use the Gram Concept Properties window to specify that "literal" rules are to be generated. - -![](../../../../helps/HowToBuild/Corporate/GramTab/Image59.gif) - -**Invoking RUG** - -To automatically generate the passes, we now choose "All" under "Generate Rules" under the "Analyzer" menu: - -![](../../../../helps/HowToBuild/Corporate/GramTab/Image62.gif) - -**Automatically Generated Rules** - -Now we can double-click on the rules in the Gram Tab to see the corresponding passes that have been built. Note, in pass file 10, the warning about editing automatically generated files. Currently, any edits made to such a pass file will be overwritten the next time RUG is invoked. - -Second, notice the form of the rules. RUG creates rules that match the phrase and rewrites them to "_company". The rules also include a "@PRE" area that restricts the words to be capitalized or not. The form of the rules in this pass file is determined by the flags set in the "Properties" window above. - -![](../../../../helps/HowToBuild/Corporate/GramTab/Image63.gif) - -**Highlighting Matches** - -These pass files are like any other pass files in that you can highlight pass matches. In the Gram Tab, you can click on any rule icon and display the highlights as show below: - -![](../../../../helps/HowToBuild/Corporate/GramTab/Image64.gif) - -**Next Section:** [KB & Dictionary ![](../../../../helps/HowToBuild/Corporate/GramTab/Bullet7.gif)](../HandDict/HandDict.md) diff --git a/Help/markdown/HowToBuild/Corporate/HandDict/HandDict.md b/Help/markdown/HowToBuild/Corporate/HandDict/HandDict.md deleted file mode 100644 index c24063a..0000000 --- a/Help/markdown/HowToBuild/Corporate/HandDict/HandDict.md +++ /dev/null @@ -1,46 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Corporate/HandDict/Bullet8.gif) Rule Generation | CORPORATE ANALYZER** KB & Dictionary** | Money ![](../../../../helps/HowToBuild/Corporate/HandDict/Bullet7.gif) | -| --- | --- | --- | - -**Ana Tab Window: Passes 13 - 15** - -This section describes the analyzer passes "lookup", "vocabulary", and "phrases". - -![](../../../../helps/HowToBuild/Corporate/HandDict/Image66.gif) - -**Lookup Pass** - -In the last section, we saw how we can automatically generate a dictionary. In this section, we show how to use the Knowledge Base as a dictionary. The reason for doing this is that, unlike the current version of the RUG passes, we cannot attach additional information to the automatically generated rules. - -First, look at the @RULES area below. You will notice that we are looking for phrases of length one through four. We do this simply by writing 4 rules, attempting to match the longest phrase first: - -![](../../../../helps/HowToBuild/Corporate/HandDict/Image77.gif) - -Next, we examine the @CHECK area, which allows us to accept or reject a match based on criteria we specify. The objective of this pass is to look up the matched phrase in the "companies" area of our KB, which we assume was set up before we built our analyzer. To perform the lookup, we first fetch the text of the phrase using the **phrasetext** function, assigning the text to a variable called "phrase". We search for the phrase within the "companies" KB concept (defined in the **initKB** pass), using the **findhierconcept** function. If no such phrase was found in the KB, we reject the rule match with the special **fail** function that exits the current rule match. - -![](../../../../helps/HowToBuild/Corporate/HandDict/Image78.gif) - -In the @POST area, we "normalize" the phrase whose concept was found in the KB. Recall that we set up our KB such that we placed alternative wordings for our companies under a "normalized" form. So, we use the **findattr** function to look for the "synonym" attribute, as above. If it is there, we need to set the concept's parent as the normalized form of the phrase. We repeat our graphic from KB initialization here for clarification: - -![](../../../../helps/HowToBuild/Corporate/HandDict/Image37.gif) - -**Debug Printouts** - -To help debug the corporate analyzer, we created a dump file called "lookup.txt". The C++ -like "<<" operator conveniently pipes values to an output file. Below is a screen shot of the lookup.txt file. - -![](../../../../helps/HowToBuild/Corporate/HandDict/Image71.gif) - -**Vocabulary Pass** - -The "vocabulary" pass illustrates how we can quickly build vocabulary lookups by hand. - -![](../../../../helps/HowToBuild/Corporate/HandDict/Image74.gif) - -**Phrases Pass** - -We can also build a pass for phrases by hand. Note that separating the "vocabulary" and "phrases" passes enables rules in the later pass to use nonliterals built in the earlier pass. For example, the first rule below uses the nonliteral "_conj", or conjunction token, to handle things like "CEO and president" or "CEO & president". - -![](../../../../helps/HowToBuild/Corporate/HandDict/Image73.gif) - -**Next Section:** [Money ![](../../../../helps/HowToBuild/Corporate/HandDict/Bullet7.gif)](../Money/Money.md) diff --git a/Help/markdown/HowToBuild/Corporate/InitKB/InitKB.md b/Help/markdown/HowToBuild/Corporate/InitKB/InitKB.md deleted file mode 100644 index baf4b42..0000000 --- a/Help/markdown/HowToBuild/Corporate/InitKB/InitKB.md +++ /dev/null @@ -1,32 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Corporate/InitKB/Bullet8.gif) Intro | CORPORATE ANALYZER** Initial KB** | Join ![](../../../../helps/HowToBuild/Corporate/InitKB/Bullet7.gif) | -| --- | --- | --- | - -**Ana Tab Window: Pass 3** - -This section describes the analyzer pass "initKB". - -![](../../../../helps/HowToBuild/Corporate/InitKB/Image40.gif) - -**Constructing the KB** - -Because the corporate analyzer is expected to analyze more than one text, we need to make sure the "parse" area is cleaned out each time. More generally, we need to initialize or reset any parts of the KB that the analyzer manages dynamically. If the KB happens to not have a "corporate" concept, the analyzer can recover by creating that area of the KB from scratch. - -![](../../../../helps/HowToBuild/Corporate/InitKB/Image38.gif) - -**NLP++ Knowledge Base Functions** - -To initialize the KB, we'll use predefined knowledge base functions supplied with NLP++. The initKB pass consists purely of code, with no rules, as shown in the screen shot below. - -The function **findroot** returns the root node of the KB hierarchy. The first call to **findconcept** looks for a concept named "corporate" directly under the root. A global variable named "corporate" is assigned the corporate concept, if found (or 0, otherwise). The special function **G** refers to a global variable. - -If the corporate concept was not found, then **makeconcept** is used to create it as a child of the root of the hierarchy. (Since the corporate concept is absent, that means there is no "companies" area with synonyms for company names. Even so, the analyzer can still execute, though it may not correlate things like "TAI" and "Text Analysis International".) - -If the "parse" concept is found in the knowledge base, then its descendants are removed with **rmchildren**. This clears the parse area so that the new article can be processed with a clean slate. - -When initKB is executed, the global variables "corporate", "parse", and "companies" point to their respective concepts in the KB. A global variable called "section number" is also initialized to 0 here. - -![](../../../../helps/HowToBuild/Corporate/InitKB/Image39.gif) - -**Next Section:** [Join ![](../../../../helps/HowToBuild/Corporate/InitKB/Bullet7.gif)](../Join/Join.md) diff --git a/Help/markdown/HowToBuild/Corporate/Intro/Intro.md b/Help/markdown/HowToBuild/Corporate/Intro/Intro.md deleted file mode 100644 index e81e412..0000000 --- a/Help/markdown/HowToBuild/Corporate/Intro/Intro.md +++ /dev/null @@ -1,72 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Corporate/Intro/Bullet8.gif) TOC | CORPORATE ANALYZER** Intro** | Initial KB ![](../../../../helps/HowToBuild/Corporate/Intro/Bullet7.gif) | -| --- | --- | --- | - -**Intro** - -Although VisualText may be the most powerful text processing tool around, it may not be obvious to the first time user how to build an analyzer. You may know what you want to do, but how do you go about doing it? This demonstration analyzer gives a first-time user of VisualText an idea of exactly how an analyzer is built. - -**Notes:** This demonstration analyzer is meant to stimulate ideas in the VisualText user. It does not represent in any way a complete or exemplary example of analyzer building. We expect that you've at a minimum studied the [Quick Tour](Intro.md) and the [Tutorials](../../../Tutorials/Tutorial_Introduction.md) in order to follow the Corporate tour. - -![](../../../../helps/Tutorials/GO.gif) Now is a good time to open the corporate analyzer, as described in the Quick Tour, and examine the input file named "Sold.txt" in the Dev folder of the Text Tab. - -**Our Analyzer** - -Before we can build an analyzer, we must have a task in mind. In our corporate analyzer, we want to pull out information about companies from newswires. We can pull out information like "who bought whom for how much", "who's stock changed and by how much", and other information about companies such as current CEO, founding date, and contact information. - -Our corporate analyzer will build records that could be used to feed a database. This type of analyzer is called an "information extraction" system. Here is a peek at the corporate analyzer's first output record for our sample text: - -![](../../../../helps/HowToBuild/Corporate/Intro/Image30.gif) - -**VisualText Features and Tips** - -Key features that make VisualText powerful, flexible, and easy to use and debug are tabulated in the [Quick Tour Introduction](Intro.md). Some areas we'll focus on in this deeper tour of the Corporate analyzer are: - -1. ![](../../../../helps/HowToBuild/Corporate/Intro/Bullet7.gif) **Multi-Pass Processing** - -1. ![](../../../../helps/HowToBuild/Corporate/Intro/Bullet7.gif)** Knowledge Base** - -1. ![](../../../../helps/HowToBuild/Corporate/Intro/Bullet7.gif)** Automatic Rule Generation** - -Some useful guidelines gleaned from building information extraction systems are: - -1. ![](../../../../helps/HowToBuild/Corporate/Intro/Bullet7.gif) **Do high confidence work first** - -1. ![](../../../../helps/HowToBuild/Corporate/Intro/Bullet7.gif)** Group text into chunks to process** - -1. ![](../../../../helps/HowToBuild/Corporate/Intro/Bullet7.gif)** Don't process everything** - -1. ![](../../../../helps/HowToBuild/Corporate/Intro/Bullet7.gif)** Don't worry about mistakes if they don't hurt you** - -We will see examples of these ideas at work in our corporate analyzer example. - -**Plan of Attack** - -The next step is to sketch a way to build this analyzer. Building a text analyzer is art, not science, and every developer will write a unique analyzer. - -An initial decision to make is whether your analyzer will gather localized information only (i.e., do "shallow" processing), or correlate information from various parts of a text (or multiple texts). The deeper and more accurate the analyzer, the more correlation you will need to do, and the more you will rely on the knowledge base (KB) to store information about the domain (e.g., "corporate events") and the current text. - -The corporate analyzer will utilize the KB in order to demonstrate "going deep." - -**Knowledge Based Analyzers** - -The first step in building our analyzer is to create a dedicated area for it within the KB. We start by making a concept named "corporate", as below. Under that, we create two concepts: "companies" and "parse". The "companies" concept holds the companies we are interested in and their alternative wordings, as reference knowledge for the analyzer. The "parse" concept stores information that the analyzer creates and uses dynamically. - -![](../../../../helps/HowToBuild/Corporate/Intro/Image36.gif) - -**KB Lookup and Normalization** - -The knowledge base can support looking up and normalizing words and phrases. For example, to store the fact that "Text Analysis International, Inc." and "TAI" are synonyms, you can construct a hierarchy with "TAI" as parent and place its alternative phrasings below it. Under the "companies" concept, we'll place a normalized form of a company name, e.g., its abbreviation when it's unique. Under the normalized form, we place major textual variants. To explicitly specify the relationship between concepts, we add a "synonym" attribute to each variant. The screen shot of the KB and Attribute Editor below depicts this scheme. - -![](../../../../helps/HowToBuild/Corporate/Intro/Image37.gif) - -The "companies" area under our "corporate" concept is one we construct beforehand, either by hand or by writing another VisualText analyzer to populate the knowledge base for us from a file. The "parse" area, on the other hand, is managed dynamically by the corporate analyzer while it is processing an input article. We assume, for our demo system, that TAI and AMRP are the only companies the analyzer needs to know about! - -**Parse Concept** - -In the corporate analyzer, we need to gather information across sentences, because information about a given company may be spread throughout the article. For instance, "TAI buys AMRP" occurs in the first sentence, while the phrase "The sale" in the fourth sentence" refers back to the first sentence. If the fourth sentence adds useful information, we need to relate the two. Therefore, we use the knowledge base to build a model of the article as we process it, enabling correlations across sentences. Below is a screen shot of the parse area built by the final version of the analyzer for our sample input article. - -![](../../../../helps/HowToBuild/Corporate/Intro/Image33.gif) - -**Next Section:** [Initial KB ![](../../../../helps/HowToBuild/Corporate/Intro/Bullet7.gif)](../InitKB/InitKB.md) diff --git a/Help/markdown/HowToBuild/Corporate/Join/Join.md b/Help/markdown/HowToBuild/Corporate/Join/Join.md deleted file mode 100644 index 6b288bf..0000000 --- a/Help/markdown/HowToBuild/Corporate/Join/Join.md +++ /dev/null @@ -1,30 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Corporate/Join/Bullet8.gif) Initial KB | CORPORATE ANALYZER** Join** | Formatting ![](../../../../helps/HowToBuild/Corporate/Join/Bullet7.gif) | -| --- | --- | --- | - -**Ana Tab Window: Pass 4** - -This section describes the analyzer pass "Join". - -![](../../../../helps/HowToBuild/Corporate/Join/Image41.gif) - -**Tokenization** - -The **tokenize** pass, which is the first pass of every VisualText analyzer, performs an initial segmentation of characters in the input text to alphabetic, numeric, punctuation, and white space tokens. However, in practice, we may want to treat constructs such as "$9.99" and "No. 1" as tokens. VisualText makes it convenient to "join", or "retokenize", a phrase as a single token. - -The example rule below illustrates how we might handle phrases such as "No. 1". The rule itself appears after the @RULES marker. It matches a phrases that starts with "No", continues with ".", then any amount of white space (denoted by "star"), and finally a numeric token. When such a phrase is matched, a new node named "_rank" is built to dominate the matched phrase. The @POST action specifies what will be done when the rule has been matched. In this case, the suggested node, named "_rank", will get a variable named "number" with the numeric token's text as its value. That is, "No. 33" will lead to creation of a variable named "number" with value "33", attached to the "_rank" node. The **single** action specifies that a default reduction of the matched phrase is to be executed. The rule below can be used to bleed, or hide, periods that we don't want treated as ends of sentences. - -![](../../../../helps/HowToBuild/Corporate/Join/Image45.gif) - -**Seeing the Matches** - -VisualText allows you to quickly see the matches for any given pass. The blue text corresponds to nodes built by rule matches in the "join" pass. - -![](../../../../helps/HowToBuild/Corporate/Join/Image42.gif) - -Note that the apostrophe-s in possessive constructs is not highlighted in blue. That is because the rule that identifies possessives, shown below, excises the apostrophe and "s" from the parse tree. - -![](../../../../helps/HowToBuild/Corporate/Join/Image46.gif) - -**Next Section:** [Formatting ![](../../../../helps/HowToBuild/Corporate/Join/Bullet7.gif)](../Format/Format.md) diff --git a/Help/markdown/HowToBuild/Corporate/MetaEvents/MetaEvents.md b/Help/markdown/HowToBuild/Corporate/MetaEvents/MetaEvents.md deleted file mode 100644 index 1bb6da1..0000000 --- a/Help/markdown/HowToBuild/Corporate/MetaEvents/MetaEvents.md +++ /dev/null @@ -1,60 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Corporate/MetaEvents/Bullet8.gif) Events | CORPORATE ANALYZER** MetaEvents** | Output ![](../../../../helps/HowToBuild/Corporate/MetaEvents/Bullet7.gif) | -| --- | --- | --- | - -**Ana Tab Window: Pass 26-28** - -This section describes the three analyzer passes: eventAttributes, anaphoraEvent, and events2. - -![](../../../../helps/HowToBuild/Corporate/MetaEvents/Image120.gif) - -**EventAttributes Pass** - -Some phrases describe entire events. Below is one of them. The phrase "In 2006 alone," describes the "acquisition" event that follows. Notice that it is in green. We will explain below. - -![](../../../../helps/HowToBuild/Corporate/MetaEvents/Image122.gif) - -This pass takes care of attaching the date to the "acquire" event via an attribute. If we look at the resulting information in the KB, we can see the final format: - -![](../../../../helps/HowToBuild/Corporate/MetaEvents/Image131.gif) - -Notice in the rule itself that the _event item is already matched. This pass (26) must come after pass 25 because the rules in pass 26 expect that events have already been processed. We create a "date" concept below the action concept and add a "year" attribute and value to the new date concept. But we do not gather these items under a new node. Remember that if we have a @POST area associated with a @RULES area, we need to specifically call an NLP++ action in order to "reduce" or create a new node under which all the items are gathered. There is no "single()" function and the suggested node name is "_xNIL", which is a convention telling us that we are not interested in building a new node for this rule match. That is why VisualText displays the match for this rule in "**green**" (see text above). - -![](../../../../helps/HowToBuild/Corporate/MetaEvents/Image121.gif) - -**AnaphoraEvent Pass** - -Pass 27 is much like pass 23, the anaphoraCompany pass. The purpose of this pass is to find all the _anaphora concepts and loop back through the sentences under the "parse" area of our KB to find a match. Only this time, we are looking for "actions" to match, not "companies". Below, you can see that phrases that reference other events in the text are highlighted: - -![](../../../../helps/HowToBuild/Corporate/MetaEvents/Image125.gif) - -Below you can see the rule and the @POST area for this rule. We are matching _anaphora and creating a new parent node _eventAnaphora. Notice that since we have a @POST area, we must call the function "single()" to create the _eventAnaphora node: - -![](../../../../helps/HowToBuild/Corporate/MetaEvents/Image123.gif) - -In the above @POST region, we also print out some information to the dump file "anaphoraEvent.txt" for debugging purposes. This way we can easily monitor what this pass is choosing as its reference to the anaphora: - -![](../../../../helps/HowToBuild/Corporate/MetaEvents/Image133.gif) - -**Looping Through the Sentences & Objects ** - -As in pass 23, we will loop back through the sentence concepts we built under "parse" in the KB to find the "action" objects we constructed earlier. In layman's terms, we are looking for "action" events that match phrases like "The sale", "this last purchase", etc. The code below is almost identical with pass 23 with the exception of our check for "action" instead of "company": - -![](../../../../helps/HowToBuild/Corporate/MetaEvents/Image134.gif) - -**Events2 Pass (28)** - -This pass uses the previous pass in two ways. One, it looks for the presence of an _eventAnaphora concept in a particular pattern. Two, once it finds it, it makes a "comment" concept under the object that _eventAnaphora is pointing to. Remember that in the previous pass (27), we looped back through the "parse" area until we found an "action". In this case, the phrase "The sale" in the 4th sentence ends up attaching a "comment" concept under the "buy" action in the second sentence: - -![](../../../../helps/HowToBuild/Corporate/MetaEvents/Image128.gif) - -Below is the rule that does this: - -![](../../../../helps/HowToBuild/Corporate/MetaEvents/Image135.gif) - -The second rule in pass 28 does something similar: - -![](../../../../helps/HowToBuild/Corporate/MetaEvents/Image129.gif) - -**Next Section:** [Output ![](../../../../helps/HowToBuild/Corporate/MetaEvents/Bullet7.gif)](../Output/Output.md) diff --git a/Help/markdown/HowToBuild/Corporate/Money/Money.md b/Help/markdown/HowToBuild/Corporate/Money/Money.md deleted file mode 100644 index 9d93fb2..0000000 --- a/Help/markdown/HowToBuild/Corporate/Money/Money.md +++ /dev/null @@ -1,48 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Corporate/Money/Bullet8.gif) KB & Dictionary | CORPORATE ANALYZER** Money** | Companies ![](../../../../helps/HowToBuild/Corporate/Money/Bullet7.gif) | -| --- | --- | --- | - -**Ana Tab Window: Passes 16 - 18** - -This section describes the analyzer passes "money", "moneyAttributes", and "conjMoney". - -![](../../../../helps/HowToBuild/Corporate/Money/Image75.gif) - -**Lessons in Phrases** - -In diagramming sentences in English class, you may have come across **noun phrases** (NP). These come in many many forms and basically represent nouns (persons, places, things) and attributes about those nouns (color, amount, type). Knowing this, we can write a more organized text analyzer. - -In passes 16 - 18, we process money phrases. First we gather the root money noun (money), then process its attributes (moneyAttributes), and then gather lists of money constructs (conjMoney). - -**Money** - -In the money phrase, we key off the word "dollars". Since this is a demonstration analyzer, we will only write rules for those patterns we are matching in our "Sold.txt" article. The rules below match constructs such as "$30 million dollars" and "30 million dollars". - -![](../../../../helps/HowToBuild/Corporate/Money/Image76.gif) - -In the @POST area, we perform our "normalization", multiplying the numeric value in the text by 1,000,000 to compute the number of dollars. - -**Money Attributes:** - -Next, we gather the attributes in the text surrounding the money phrases. Study the moneyAttributes pass for yourself. Below is the highlighting for this pass. You can easily see the attribute phrases: "more than X", "X in cash", "X in assumed debt", "a total of X", etc.: - -![](../../../../helps/HowToBuild/Corporate/Money/Image79.gif) - -**Conjunctions** - -In analyzing text, conjunctions can be very painful to handle. Not so in VisualText. NLP++ includes an array construct that can simplify the problem of conjoining similar phrases. To illustrate, we will elaborate one case. - -In the conjMoney pass, we take the money and value and put it in the arrays S("conj value") and S("conj type") using the counter S("conj count"). These will be used in future passes to loop through and recover the money values. - -![](../../../../helps/HowToBuild/Corporate/Money/Image80.gif) - -**Tree of Selected** - -Below is the matched conjunction phrase and the tree for that phrase. Two useful features of VisualText should be pointed out here. One is that the semantic information is displayed in the trees. Below, you can see the result of firing the above conjunction rule: ("conj count" 2) ("conj value" 120000000140000000) ("conj type" "cash" "assumed debt"). - -The second convenient function is found in the right-click menu of the processed text window. Select the pass you are interested in (usually it is already selected), then select any portion of text you want. Using the right-click menu, choose "View>Tree of Selected" and the partial parse tree for that text will appear in the context of the chosen pass. This is a handy function to remember. - -![](../../../../helps/HowToBuild/Corporate/Money/Image82.gif) - -**Next Section:** [Companies ![](../../../../helps/HowToBuild/Corporate/Money/Bullet7.gif)](../Companies/Companies.md) diff --git a/Help/markdown/HowToBuild/Corporate/Output/Output.md b/Help/markdown/HowToBuild/Corporate/Output/Output.md deleted file mode 100644 index 16fa777..0000000 --- a/Help/markdown/HowToBuild/Corporate/Output/Output.md +++ /dev/null @@ -1,22 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Corporate/Output/Bullet8.gif) Meta Events | CORPORATE ANALYZER** Output** | | -| --- | --- | --- | - -**Ana Tab Window: Pass 29** - -This section describes the last analyzer pass, "output". (The complete Corporate Analyzer sequence is shown below.) - -![](../../../../helps/HowToBuild/Corporate/Output/Image116full.gif) - -**Output** - -One of the beauties of using a KB-based text analyzer is that once you have everything processed, the output is a simple matter of looping through the "sentence" concepts in the "parse" area in the KB and printing out the results. If we open up the sentences under the "parse" concept, we can easily see what we want to output to the file. The rule is, if there is a child concept of the object under the sentences, print it out. If not, don't output anything. Below, this is clearly illustrated by looking at the concept for "TAI". Those with a "+" have something to output, those without do not: - -![](../../../../helps/HowToBuild/Corporate/Output/Image137.gif) - -We leave it to you to look at the details of the code for this pass. Please note, however, that there is no rule for this pass, just a @CODE area. The last rule-matching pass was pass 28, and all that remains is to output our results. Notice, when inspecting the output file, that information from later sentences has been copied back to earlier sentences. This is due to our analyzer's treatment of "anaphora". Namely, information later in the text has been correlated to references earlier in the text. Below is one of the more interesting outputs, taken from sentence 5: - -![](../../../../helps/HowToBuild/Corporate/Output/Image138.gif) - -**Go forth and build better analyzers!** diff --git a/Help/markdown/HowToBuild/Corporate/Toc/TOC.md b/Help/markdown/HowToBuild/Corporate/Toc/TOC.md deleted file mode 100644 index fa12545..0000000 --- a/Help/markdown/HowToBuild/Corporate/Toc/TOC.md +++ /dev/null @@ -1,19 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -**CORPORATE ANALYZER**** Table of Contents** - -| **Pass #** | **Name** | **Description** | -| --- | --- | --- | -| | Intro | Purpose and strategy for building the corporate analyzer | -| **3** | Initial KB | Knowledge Base initialization (Pass: InitKB) | -| **4** | Join | Tokenization and retokenization (Pass: Join) | -| **5-7** | Formatting | Formatting text into chunks (Passes: Sentences, Paragraphs, RemoveWhite) | -| **8-12** | Rule Generation | Working with automatic rule generation in the Gram Tab (Passes: City, Company, State) | -| **13-15** | KB & Dictionary | Dictionaries built by hand (Passes: Lookup, Vocabulary, Phrases) | -| **16-18** | Money | Money phrases and lists (Passes: Money, MoneyAttributes, ConjMoney) | -| **19-21** | Companies | Company phrases (Passes: Companies, CompanyAttributes, CompanyDet) | -| **22-23** | Anaphora | Words that reference previous locations in a text (Passes: Anaphora, AnaphoraCompany) | -| **24** | Company Conj | List of companies in text (Pass: ConjCompany) | -| **25** | Events | Buy, Acquire, and Stock events (Pass: Events) | -| **26-28** | Meta Events | Event attributes and phrases that refer back to other events (Passes: EventAttributes, AnaphoraEvent, Events2) | -| **29** | Output | Outputting the data to a file (Pass: Output) | diff --git a/Help/markdown/HowToBuild/Tour15/AnalyzerTab/Tour_AnalyzerTab.md b/Help/markdown/HowToBuild/Tour15/AnalyzerTab/Tour_AnalyzerTab.md deleted file mode 100644 index bf51d2e..0000000 --- a/Help/markdown/HowToBuild/Tour15/AnalyzerTab/Tour_AnalyzerTab.md +++ /dev/null @@ -1,32 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/AnalyzerTab/Bullet8.gif) Parse Tree | Quick Tour** Ana Tab** | Pass Files ![](../../../../helps/HowToBuild/Tour15/AnalyzerTab/Bullet7.gif) | -| --- | --- | --- | - -**The Analyzer** - -![](../../../../helps/Tutorials/GO.gif) Click on the Ana Tab button to display the Ana Tab Window. - -This window maintains the ordered sequence of passes that define the current text analyzer. System or built-in pass types (e.g., tokenize) are represented by flat "DNA" icons. Passes with associated pass files have twisted DNA icons. Our corporate analyzer has 29 passes: - -![](../../../../helps/HowToBuild/Tour15/AnalyzerTab/Image166.gif) - -**Stubs** - -You may have noticed that there are two passes with red circles. These represent "stubs" or placeholders in which automatically generated passes are deposited. We'll talk about automatic rule generation and the [Gram Tab](../GramTab/Tour_GramTab.md) in a later section: - -**Double Click** - -The most common action in the Ana Tab is to open up a pass file by double-clicking on the desired pass: - -![](../../../../helps/HowToBuild/Tour15/AnalyzerTab/Image170.gif) - -**Right-Click and Toolbar** - -The Ana tab has an extensive right-click menu as well as arrows in the Tab Toolbar that serve for deleting or moving analyzer passes: - -![](../../../../helps/HowToBuild/Tour15/AnalyzerTab/Image172.gif) - -![](../../../../helps/HowToBuild/Tour15/AnalyzerTab/Image171.gif) - -**Next Section:** [Pass Files ![](../../../../helps/HowToBuild/Tour15/AnalyzerTab/Bullet7.gif)](../PassFiles/Tour_PassFiles.md) diff --git a/Help/markdown/HowToBuild/Tour15/Debug/Tour_Debug.md b/Help/markdown/HowToBuild/Tour15/Debug/Tour_Debug.md deleted file mode 100644 index 2211e20..0000000 --- a/Help/markdown/HowToBuild/Tour15/Debug/Tour_Debug.md +++ /dev/null @@ -1,32 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/Debug/Bullet8.gif) Gram Tab | Quick Tour** Debugging** | KB ![](../../../../helps/HowToBuild/Tour15/Debug/Bullet7.gif) | -| --- | --- | --- | - -**Examining the Analyzer Under Construction** - -There are numbers of tools and methods for debugging analyzers, including highlighting and what is called "Page Mode". - -**Highlighting** - -![](../../../../helps/Tutorials/GO.gif) Highlighting is a simple and intuitive tool for debugging analyzers. Turn on the highlighting toggle in the toolbar: - -![](../../../../helps/HowToBuild/Tour15/Debug/Image191.gif) - -![](../../../../helps/Tutorials/GO.gif) Then open up Sold.txt and select the Ana Tab window. Single click on various analyzer passes. The matched text for each pass will be highlighted in blue and green, letting you know which words and phrases matched in that pass: - -![](../../../../helps/HowToBuild/Tour15/Debug/Image190.gif) - -**Page Mode** - -Another important debugging tool is called "Page Mode": - -![](../../../../helps/HowToBuild/Tour15/Debug/Image192.gif) - -Among other things, it allows you to examine the change in parse trees for each pass. - -![](../../../../helps/Tutorials/GO.gif) With the "Page Mode" on, choose the phrase "$120 million in cash and $14.3 million in assumed debt" and view its tree. Then in the Ana Tab, click on pass 4, "join", and travel down the analyzer passes observing the changes in the parse tree: - -![](../../../../helps/HowToBuild/Tour15/Debug/Image194.gif) - -**Next Section:** [KB ![](../../../../helps/HowToBuild/Tour15/Debug/Bullet7.gif)](../Kb/Tour_KB.md) diff --git a/Help/markdown/HowToBuild/Tour15/Find/Tour_Find.md b/Help/markdown/HowToBuild/Tour15/Find/Tour_Find.md deleted file mode 100644 index 24784eb..0000000 --- a/Help/markdown/HowToBuild/Tour15/Find/Tour_Find.md +++ /dev/null @@ -1,22 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/Find/Bullet8.gif) KB | Quick Tour** Find** | | -| --- | --- | --- | - -**Find Window** - -One other important window in the VisualText interface is the Find window. You can search for a word or phrase in specified files and in other analyzers. Below, we search for the concept "_company" using Find in Files ![](../../../../helps/Toolbar_buttons/find_in_files_button.gif): - -![](../../../../helps/HowToBuild/Tour15/Find/Image184.gif) - -**Double-Click** - -Once you have searched on a word, the find window allows you to go directly to an instance of the word or phrase by double-clicking on the line of interest: - -![](../../../../helps/HowToBuild/Tour15/Find/Image186.gif) - -This will take you directly to the window and highlight the instance: - -![](../../../../helps/HowToBuild/Tour15/Find/Image185.gif) - -**Hope you enjoyed the tour of VisualText!** diff --git a/Help/markdown/HowToBuild/Tour15/GramTab/Tour_GramTab.md b/Help/markdown/HowToBuild/Tour15/GramTab/Tour_GramTab.md deleted file mode 100644 index 3b45aef..0000000 --- a/Help/markdown/HowToBuild/Tour15/GramTab/Tour_GramTab.md +++ /dev/null @@ -1,28 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/GramTab/Bullet8.gif) Pass Files | Quick Tour** Gram Tab** | Debugging ![](../../../../helps/HowToBuild/Tour15/GramTab/Bullet7.gif) | -| --- | --- | --- | - -**Automatic Rule Generation (RUG)** - -In VisualText, rules can be automatically generated from text samples. In our corporate analyzer, we use the Gram Tab much like a "dictionary". More complex samples with subsamples can also be managed in the Gram Tab. - -![](../../../../helps/HowToBuild/Tour15/GramTab/Image175.gif) - -**Stubs** - -Stubs are place holders where the automatically generated rules will appear in the Analyzer Sequence. Notice that the icon for words above matches the "stub_words" pass below, taken from the Analyzer Tab: - -![](../../../../helps/HowToBuild/Tour15/GramTab/Image178.gif) - -**Double-Click** - -If you double-click on a sample such as "New Hampshire Medical", the text file of the sample will pop up in the Workspace. In our corporate analyzer, we are using sample files for our dictionaries. One can imagine using large lists of words and phrases in files that can be converted into rules automatically: - -![](../../../../helps/HowToBuild/Tour15/GramTab/Image176.gif) - -If you double click on a rule concept (one with a right-pointing arrow) such as "company", you can see its corresponding pass file containing automatically generated rules: - -![](../../../../helps/HowToBuild/Tour15/GramTab/Image177.gif) - -**Next Section:** [Debugging ![](../../../../helps/HowToBuild/Tour15/GramTab/Bullet7.gif)](../Debug/Tour_Debug.md) diff --git a/Help/markdown/HowToBuild/Tour15/Intro/Tour_Intro.md b/Help/markdown/HowToBuild/Tour15/Intro/Tour_Intro.md deleted file mode 100644 index 8308e74..0000000 --- a/Help/markdown/HowToBuild/Tour15/Intro/Tour_Intro.md +++ /dev/null @@ -1,85 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/Intro/Bullet8.gif) TOC | Quick Tour** Intro** | Screen Layout ![](../../../../helps/HowToBuild/Tour15/Intro/Bullet7.gif) | -| --- | --- | --- | - -**VisualText Features and Benefits** - -VisualText™ is an Integrated Development Environment for building deep text analysis applications. It is like Visual C++(R), but with specializations for Natural Language Processing. Some features and benefits of VisualText: - -| **FEATURE** | **BENEFIT** | -| --- | --- | -| Integrated development environment (IDE) | Reduces resources needed to build text analyzers | -| Rich, integrated GUI tool set and data views | Accelerates development of deep, accurate analyzers | -| NLP++ Programming Language | Anything thinkable can be programmed! Users focus on the task and heuristics rather than programmatic detail | -| Hierarchical Knowledge Base Management System | Easy to build ontologies, dictionaries, semantics, and any other desired schemas. | -| Automatic Rule Generation (RUG) | Easy and quick to maintain and enhance analyzers merely by highlighting text. | -| NLP++ integrates code, rules, parse trees, and KB | Easy to access/modify knowledge. | -| Interpreted NLP++ execution | Blazing fast modify-and-test development cycle | -| Compilation of analyzer and KB | Fast execution in runtime environment | -| Excellent GUI support for debugging analyzers | Reduced time and effort to debug analyzers | -| Multi-pass analyzers | Modular, maintainable, readable, extensible | -| Single parse tree | No combinatorial explosion; results in efficient analyzers. | -| Paradigm independent, integrates multiple paradigms and styles of text analysis | Enables developer to use and combine the most appropriate methods for the task at hand | -| User project for adding C++ code | Open architecture for easy integration with 3rd party software, extension of the core capability by the customer. | -| Rules operate in specific contexts | Higher precision, faster execution. | -| Built-in confidence operator | Easy to compute and assess confidence | -| | | - -**Sample Applications** - -- ***Information Extraction* **- Systems that accurately extract, correlate, and standardize the important content of text. - -- ***Shallow Extraction*** - Systems that accurately identify names, locations, dates, and other atomic features of text. - -- ***Search* **- Quality search capabilities on the World Wide Web and other electronic text sources. - -- ***Filtering*** - Systems that are both accurate and fast, to determine if a document is relevant. - -- ***Categorization*** - Systems to determine the topic of documents. - -- ***Data Mining* **- Finding important nuggets of information in voluminous texts. - -- ***Test Grading* **- Reading and matching prose tests with idealized answers. - -- ***Summarization*** - Building a brief, accurate description of the contents of a text. - -- ***Database Entry* **- E.g., resumé processing, medical reports, and police reports. - -- ***Natural Language Query* **- The ability to ask a computer questions using plain text. - -- ***Dissemination* -** Routing documents to people or locations that require them. - -**GUI** - -VisualText's comprehensive interface allows you to focus on the main goal: quickly building an accurate and complete text analyzer. - -![](../../../../helps/HowToBuild/Tour15/Intro/ScreenLayoutMed.gif) - -**NLP++ Language** - -NLP++™ is a new C++ -like programming language specially designed for building deep text analyzers: - -![](../../../../helps/HowToBuild/Tour15/Intro/Image187.gif) - -**Knowledge Base** - -VisualText integrates a powerful and flexible Knowledge Base that allows analyzers to be as smart as you want them to be: - -![](../../../../helps/HowToBuild/Tour15/Intro/Image188.gif) - -**Debugging Tools** - -A suite of debugging tools lets you highlight rule matches, examine parse trees, and study your analyzer one step at a time: - -![](../../../../helps/HowToBuild/Tour15/Intro/Image189.gif) - -**Flexible, Easy to Maintain, and Fast** - -VisualText is not tied to one style or paradigm of text analysis. If you can imagine a text analyzer, then VisualText can build it! - -Being "visual" means easy to build and maintain. VisualText displays text analyzers in such a way as to make it easy for anyone to modify or extend existing analyzers. - -And finally, VisualText is fast. It can substantially cut the cost and time needed to build text analyzers. Text analyzers under development are run in interpreted mode, so that you can quickly modify and test your analyzer. Once a text analyzer is built, you can compile it to run faster. - -**Next Section:** [Screen Layout ![](../../../../helps/HowToBuild/Tour15/Intro/Bullet7.gif)](../Screen/Tour_Screen.md) diff --git a/Help/markdown/HowToBuild/Tour15/Kb/Tour_KB.md b/Help/markdown/HowToBuild/Tour15/Kb/Tour_KB.md deleted file mode 100644 index 2b6b5d4..0000000 --- a/Help/markdown/HowToBuild/Tour15/Kb/Tour_KB.md +++ /dev/null @@ -1,22 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/Kb/Bullet8.gif) Debugging | Quick Tour** Knowledge Base** | Find ![](../../../../helps/HowToBuild/Tour15/Kb/Bullet7.gif) | -| --- | --- | --- | - -**Knowledge Base** - -A Knowledge Base or "KB" is like a database but differs in several respects: it is hierarchical and is managed *dynamically* by the analyzer. Databases are designed first, then used by programs. Knowledge Bases are used dynamically with text analyzers and change as the analyzer processes a text. - -![](../../../../helps/Tutorials/GO.gif) Open the KB by selecting the KB Editor toolbar button. Open concepts by clicking the + to their left: - -![](../../../../helps/HowToBuild/Tour15/Kb/Image182.gif) - -**Double-Click** - -The corporate analyzer makes heavy use of the KB. Above, there are two areas under the "corporate" concept: "companies", and "parse". The companies area is static and is used in looking up synonyms of company names. The "parse" area is used by the analyzer to reconstruct the "corporate" world by creating concepts under each sentence concept, in tandem with processing an input text. - -Below, we show the result of double-clicking on the "acquire" concept under sentence 5, then double-clicking on the "comment" concept. Note that the analyzer has created attributes that describe the "acquire" event: - -![](../../../../helps/HowToBuild/Tour15/Kb/Image183.gif) - -**Next Section:** [Find ![](../../../../helps/HowToBuild/Tour15/Kb/Bullet7.gif)](../Find/Tour_Find.md) diff --git a/Help/markdown/HowToBuild/Tour15/Load/Tour_Load.md b/Help/markdown/HowToBuild/Tour15/Load/Tour_Load.md deleted file mode 100644 index f78651f..0000000 --- a/Help/markdown/HowToBuild/Tour15/Load/Tour_Load.md +++ /dev/null @@ -1,36 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/Load/Bullet8.gif) Screen Layout | Quick Tour** Loading the Analyzer** | Log Window ![](../../../../helps/HowToBuild/Tour15/Load/Bullet7.gif) | -| --- | --- | --- | - -**Open the "Corporate" Analyzer** - -![](../../../../helps/Tutorials/GO.gif) (Actions for you to take are flagged by a yellow arrow at the start of a line.) Now it's time for you to load the Corporate Analyzer, which can be done in two ways. The first starts with double-clicking the desktop icon for VisualText: - -![](../../../../helps/HowToBuild/Tour15/Load/Image147.gif) - -The second is by double-clicking the icon for a particular VisualText analyzer. The icon for the Corporate analyzer looks like: - -![](../../../../helps/HowToBuild/Tour15/Load/Image146.gif) - -**Method One: Loading an analyzer within VisualText** - -![](../../../../helps/Tutorials/GO.gif) Open VisualText. Next, choose "Open Analyzer" under the main menu "File": - -![](../../../../helps/HowToBuild/Tour15/Load/Image139.gif) - -![](../../../../helps/Tutorials/GO.gif) You are then prompted to choose an analyzer. Browse to c:\Program Files\TextAI\VisualText\apps\corporate and open the file named corporate.ana (it may be listed as corporate): - -![](../../../../helps/HowToBuild/Tour15/Load/Image144.gif) - -**Method Two** - -![](../../../../helps/Tutorials/GO.gif) Locate the corporate analyzer in your Windows File Explorer window. Then double-click on the VisualText analyzer file (.ana). This will invoke VisualText and load the corporate analyzer: - -![](../../../../helps/HowToBuild/Tour15/Load/Image145.gif) - -**You are Now Ready to Start!** - -Once you have VisualText and the Corporate Analyzer loaded, we can continue our tour. - -**Next Section:** [Log Window ![](../../../../helps/HowToBuild/Tour15/Load/Bullet7.gif)](../Log/Tour_Log.md) diff --git a/Help/markdown/HowToBuild/Tour15/Log/Tour_Log.md b/Help/markdown/HowToBuild/Tour15/Log/Tour_Log.md deleted file mode 100644 index 021a9ba..0000000 --- a/Help/markdown/HowToBuild/Tour15/Log/Tour_Log.md +++ /dev/null @@ -1,12 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/Log/Bullet8.gif) Load Analyzer | Quick Tour** Log Window** | Text Tab ![](../../../../helps/HowToBuild/Tour15/Log/Bullet7.gif) | -| --- | --- | --- | - -**Log Window** - -In the bottom left-hand corner resides the Log Window, which monitors the status of the currently loaded analyzer. Analyzer load and run errors are shown in the Log Window. - -![](../../../../helps/HowToBuild/Tour15/Log/Image148.gif) - -**Next Section:** [Text Tab ![](../../../../helps/HowToBuild/Tour15/Log/Bullet7.gif)](../TextTab/Tour_TextTab.md) diff --git a/Help/markdown/HowToBuild/Tour15/Output/Tour_Output.md b/Help/markdown/HowToBuild/Tour15/Output/Tour_Output.md deleted file mode 100644 index 9a7a5d0..0000000 --- a/Help/markdown/HowToBuild/Tour15/Output/Tour_Output.md +++ /dev/null @@ -1,22 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/Output/Bullet8.gif) Running | Quick Tour** Output** | Parse Tree ![](../../../../helps/HowToBuild/Tour15/Output/Bullet7.gif) | -| --- | --- | --- | - -**Examining the Output** - -![](../../../../helps/Tutorials/GO.gif) After running the corporate analyzer on the input text, you can now examine the output in either of two ways. One is to click on the "Output" button in the Debug Toolbar: - -![](../../../../helps/HowToBuild/Tour15/Output/Image163.gif) - -The second is to click the button next to the Output button and choose the "output" file from the available dump files: - -![](../../../../helps/HowToBuild/Tour15/Output/Image164.gif) - -**The Output File** - -The output below shows the purpose of the Corporate analyzer, which is to extract and correlate key business information from the Sold.txt file. The name "output.txt" is a special file name in VisualText, that has its own button on the toolbar. If the analyzer does not output to a file called "output.txt", the button will be greyed out. Below is a portion of the output file from our Corporate analyzer. Take some time to examine the entire content of the output file in VisualText. - -![](../../../../helps/HowToBuild/Tour15/Output/Image165.gif) - -**Next Section:** [Parse Tree ![](../../../../helps/HowToBuild/Tour15/Output/Bullet7.gif)](../ParseTrees/Tour_ParseTrees.md) diff --git a/Help/markdown/HowToBuild/Tour15/ParseTrees/Tour_ParseTrees.md b/Help/markdown/HowToBuild/Tour15/ParseTrees/Tour_ParseTrees.md deleted file mode 100644 index 3a809d1..0000000 --- a/Help/markdown/HowToBuild/Tour15/ParseTrees/Tour_ParseTrees.md +++ /dev/null @@ -1,24 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/ParseTrees/Bullet8.gif) Output | Quick Tour** Parse Trees** | Ana Tab ![](../../../../helps/HowToBuild/Tour15/ParseTrees/Bullet7.gif) | -| --- | --- | --- | - -**Parse Trees** - -VisualText builds multiple pass analyzers in which each pass uses the **parse tree** as modified by the previous pass. A parse tree is a data structure that records and groups patterns discovered in the input text. The elements of a parse tree are called nodes. Each line in the parse tree display below represents one node, or phrase, within the parse tree. Nodes may carry information in the form of node variables and values. - -**Tree Buttons** - -![](../../../../helps/Tutorials/GO.gif) Select the "events2" pass in the Ana Tab, then click the "View Parse Tree" button in the Debug Toolbar, as shown below. - -In this way, you can view the parse tree for the pass that is currently selected in the Ana Tab. (Note: If the text has been analyzed with Generate Logs off, then the final parse tree is displayed.) The display shows patterns and groupings identified in the input text, as well as the node variables and their values as parenthesized lists of the form ("variable_name" "value1" "value2" ...). - -![](../../../../helps/HowToBuild/Tour15/ParseTrees/Image195.gif) - -Viewing Partial Trees: - -VisualText also allows users to display partial parse trees for selected parts of the text. The phrase "$14.3 million in assumed debt" is highlighted in the text window and displayed in a parse tree window, below. - -![](../../../../helps/HowToBuild/Tour15/ParseTrees/Image180.gif) - -**Next Section:** [Ana Tab ![](../../../../helps/HowToBuild/Tour15/ParseTrees/Bullet7.gif)](../AnalyzerTab/Tour_AnalyzerTab.md) diff --git a/Help/markdown/HowToBuild/Tour15/PassFiles/Tour_PassFiles.md b/Help/markdown/HowToBuild/Tour15/PassFiles/Tour_PassFiles.md deleted file mode 100644 index 48634fe..0000000 --- a/Help/markdown/HowToBuild/Tour15/PassFiles/Tour_PassFiles.md +++ /dev/null @@ -1,28 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/PassFiles/Bullet8.gif) Ana Tab | Quick Tour** Pass Files** | Gram Tab ![](../../../../helps/HowToBuild/Tour15/PassFiles/Bullet7.gif) | -| --- | --- | --- | - -**Heart of the Analyzer** - -The heart of the text analyzer lies in the pass files, which contain NLP++ code and rules. - -**Pass File Zones, Regions, and Selectors** - -Pass file areas are marked by words that are blue, all-caps, and start with an "@". Three commonly used regions are detailed below. - -| **AREA** | **DESCRIPTION** | **EXAMPLE BELOW** | -| --- | --- | --- | -| **@PATH** | A Selector that defines the context in which rules will be tried. | In the corporate analyzer, most paths are defined as applying to sentences under paragraphs,under the root node of the parse tree. | -| **@RULES** | Marks the start of a Rule Region. An NLP++ rule consists of a pattern (called a phrase) that is matched against the parse tree. | Below, the rules match patterns for constructs such as $120 million or 160 million dollars. **NOTE:** words with underscores (_money) are nonliterals, or abstract tokens, while those without match raw text ("dollars"); | -| **@POST** | When a rule matches, NLP++ code in the Post Region tells the rule matcher what actions to take. See the _money rules below. | Below, the numeric value for the money phrase is calculated and stored on the suggested node. | - -![](../../../../helps/HowToBuild/Tour15/PassFiles/Image173.gif) - -**Code Region** - -An NLP++ pass file includes a CODE Region that is independent of any rule matching. One example of this is in the third pass "initKB", where the analyzer constructs needed concepts in the Knowledge Base before processing the text: - -![](../../../../helps/HowToBuild/Tour15/PassFiles/Image174.gif) - -**Next Section:** [Gram Tab ![](../../../../helps/HowToBuild/Tour15/PassFiles/Bullet7.gif)](../GramTab/Tour_GramTab.md) diff --git a/Help/markdown/HowToBuild/Tour15/Run/Tour_Run.md b/Help/markdown/HowToBuild/Tour15/Run/Tour_Run.md deleted file mode 100644 index 1db5f1e..0000000 --- a/Help/markdown/HowToBuild/Tour15/Run/Tour_Run.md +++ /dev/null @@ -1,36 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/Run/Bullet8.gif) Text Tab | Quick Tour** Running the Analyzer** | Output ![](../../../../helps/HowToBuild/Tour15/Run/Bullet7.gif) | -| --- | --- | --- | - -**Running the Analyzer on Text** - -![](../../../../helps/Tutorials/GO.gif) First, select the text you want to process, in the Text Tab: - -![](../../../../helps/HowToBuild/Tour15/Run/Image156.gif) - -![](../../../../helps/Tutorials/GO.gif) To view the text, either double-click on the text icon (above) in the Text Tab, or go to the Debug Toolbar and click on the "paper" button: - -![](../../../../helps/HowToBuild/Tour15/Run/Image160.gif) - -The text window pops up in the workspace: - -![](../../../../helps/HowToBuild/Tour15/Run/Image161.gif) - -**The Run Button** - -![](../../../../helps/Tutorials/GO.gif) To run the analyzer on the selected input text, choose the running-man button in the Workspace Toolbar: - -![](../../../../helps/HowToBuild/Tour15/Run/Image157.gif) - -The cursor becomes an hour glass and the stop button is activated: - -![](../../../../helps/HowToBuild/Tour15/Run/Image162.gif) - -The Log Window will display stats about the run, including any syntax errors it discovered: - -![](../../../../helps/HowToBuild/Tour15/Run/Image158.gif) - -You have successfully run the corporate analyzer on our "Sold.txt". - -**Next Section:** [Output ![](../../../../helps/HowToBuild/Tour15/Run/Bullet7.gif)](../Output/Tour_Output.md) diff --git a/Help/markdown/HowToBuild/Tour15/Screen/Tour_Screen.md b/Help/markdown/HowToBuild/Tour15/Screen/Tour_Screen.md deleted file mode 100644 index be21150..0000000 --- a/Help/markdown/HowToBuild/Tour15/Screen/Tour_Screen.md +++ /dev/null @@ -1,56 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/Screen/Bullet8.gif) Intro | Quick Tour** Screen Layout** | Loading ![](../../../../helps/HowToBuild/Tour15/Screen/Bullet7.gif) | -| --- | --- | --- | - -**Screen Layout** - -The general screen layout of VisualText includes Toolbars, the Main Menu, the Tab Window, the Workspace, and the Log and Find Windows: - -![](../../../../helps/HowToBuild/Tour15/Screen/ScreenLayoutMed.gif) - -The principal controls are the Main Menu, the Toolbars, and the Tabs. - -**Main Menu** - -The main menu is a superset of the buttons available in the Toolbars: - -![](../../../../helps/HowToBuild/Tour15/Screen/Image151.gif) - -**Toolbars** - -VisualText has 5 toolbars: Main, Browser, Tab, Knowledge Base, and Debug: - -![](../../../../helps/HowToBuild/Tour15/Screen/Image150.gif) - -The table below describes each Toolbar: - -| **TOOLBAR** | **DESCRIPTION** | -| --- | --- | -| **Main** | Standard functions found in all GUI applications, including open, close, cut, and paste | -| **Browser** | Functions for managing web browser windows | -| **Tab** | Functions for managing the Gram, Ana, and Text Tabs | -| **Workspace** | Functions for the Analyzer and Knowledge Base | -| **Debug** | Tools for examining the input text file, trees, pass file, etc. | - -**Tab Window** - -The Tab Window area accesses three key windows: the Gram Tab, Ana Tab, and Text Tab. - -![](../../../../helps/HowToBuild/Tour15/Screen/Image149.gif) - -The table below describes each: - -| **TAB WINDOW** | **DESCRIPTION** | -| --- | --- | -| **Gram** | Manage user-added text samples for automatic rule generation | -| **Ana** | Manage the analyzer sequence and pass files | -| **Text** | Manage input files, output files, and other folders and files | - -**Right Click Menus** - -Right-click popup menus play an important role in VisualText. The Gram Tab, Ana Tab, Text Tab, Knowledge Base, Pass File Windows, Parse Tree Windows, Text Windows all employ right-click menus to provide context-sensitive functions quickly. Below is the right-click menu for the Text Tab: - -![](../../../../helps/HowToBuild/Tour15/Screen/Image168.gif) - -**Next Section:** [Loading ![](../../../../helps/HowToBuild/Tour15/Screen/Bullet7.gif)](../Load/Tour_Load.md) diff --git a/Help/markdown/HowToBuild/Tour15/TextTab/Tour_TextTab.md b/Help/markdown/HowToBuild/Tour15/TextTab/Tour_TextTab.md deleted file mode 100644 index 8843d4a..0000000 --- a/Help/markdown/HowToBuild/Tour15/TextTab/Tour_TextTab.md +++ /dev/null @@ -1,28 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -| ![](../../../../helps/HowToBuild/Tour15/TextTab/Bullet8.gif) Log | Quick Tour** Text Tab** | Running ![](../../../../helps/HowToBuild/Tour15/TextTab/Bullet7.gif) | -| --- | --- | --- | - -**Choosing the Text to Process** - -![](../../../../helps/Tutorials/GO.gif) Click the Text Tab and open the Dev folder within there. - -![](../../../../helps/Tutorials/GO.gif) If Sold.txt has no red checkmark, then click Generate Logs in the Analyzer menu and select Run from the Analyzer menu. - -The Text Tab is a repository for texts to be processed by your analyzer. You can organize text files in folders and run the analyzer on individual files or on entire subtrees of folders and files. Inside the "Dev" folder, we've selected the text file "Sold.txt" for processing: - -![](../../../../helps/HowToBuild/Tour15/TextTab/Image152.gif) - -**Choosing Previously Processed Text Files** - -In the Tab Toolbar,a recent-text pulldown provides quick access to the most recently selected texts. This is useful when the Text Tab holds many files: - -![](../../../../helps/HowToBuild/Tour15/TextTab/Image155.gif) - -**Processed Text** - -When a text has been processed, a "+" will appear in front of the icon and the icon will have a checkmark. You can open the text file icon and see the log files produced during the analysis (or "run") of the text: - -![](../../../../helps/HowToBuild/Tour15/TextTab/Image153.gif) - -**Next Section:** [Running ![](../../../../helps/HowToBuild/Tour15/TextTab/Bullet7.gif)](../Run/Tour_Run.md) diff --git a/Help/markdown/HowToBuild/Tour15/Toc/Tour_TOC.md b/Help/markdown/HowToBuild/Tour15/Toc/Tour_TOC.md deleted file mode 100644 index d3d3d95..0000000 --- a/Help/markdown/HowToBuild/Tour15/Toc/Tour_TOC.md +++ /dev/null @@ -1,20 +0,0 @@ -[← Help Contents](../../../index.md) | [📘 NLP++ Textbook](../../../NLP++_Textbook.md) - -**The VisualText Quick Tour**** Table of Contents** - -| **Title** | **Description** | -| --- | --- | -| Intro | Introduction to VisualText's Power | -| Screen Layout | General layout of the Graphic User Interface | -| Loading Analyzer | Load the demonstration analyzer "Corporate" | -| Log | Monitoring the Log File | -| Text Tab | Text for developing text analyzers | -| Running the Analyzer | Run the analyzer on the text | -| Output | Examining the output | -| Parse Trees | Structures built by the analyzer | -| Ana Tab | Building the analyzer sequence | -| Pass Files | Rules and Code in pass files | -| Gram Tab | Automatic Rule Generation | -| Debugging | Examining the details of the analyzer at work | -| Knowledge Base | Exploring the Knowledge Base | -| Find | Finding words and concepts in files | diff --git a/Help/markdown/Introduction/VisualText_Quick_Tour.md b/Help/markdown/Introduction/VisualText_Quick_Tour.md deleted file mode 100644 index 168cb43..0000000 --- a/Help/markdown/Introduction/VisualText_Quick_Tour.md +++ /dev/null @@ -1,23 +0,0 @@ -[← Help Contents](../index.md) | [📘 NLP++ Textbook](../NLP++_Textbook.md) - -# VisualText Quick Tour - -Welcome to the VisualText™ Quick Tour, which introduces the major components of VisualText and shows how these components work together to create, run, and debug a text analyzer. - -The Quick Tour walks you through a working analyzer called the Corporate Analyzer. The Corporate Analyzer demonstrates the features of VisualText and introduces you to building analyzers using VisualText. It is intended as a demonstration analyzer only and is meant to be used with the sample input files provided. - -In addition to the Quick Tour, we have provided a more detailed tour of the Corporate Analyzer in the Sample Analyzers "section" (or "folder" in the Help). The full tour takes you through the step-by-step process used in building the Corporate Analyzer. - -We recommend that you run the Corporate Analyzer application as you go through both the Quick Tour and the more detailed Corporate Analyzer tour. The Corporate Analyzer application is located in the APPS folder under your VisualText installation directory, in a folder named **corporate**. - -To run the analyzer, follow the steps outlined below: - -1. Launch **VisualText**. - -1. From the **File** menu, select **Open Analyzer**. - -1. In the **Open** dialog, navigate to the top level corporate folder (c:\Program Files\TextAI\VisualText\apps\corporate, by default.) - -1. Select the **corporate.ana** file and click **Open**. - -[Start the Quick Tour.](../HowToBuild/Tour15/Intro/Tour_Intro.md) diff --git a/Help/markdown/SPLASH_SCREEN/Welcome.md b/Help/markdown/SPLASH_SCREEN/Welcome.md index cc83eb4..6b939d7 100644 --- a/Help/markdown/SPLASH_SCREEN/Welcome.md +++ b/Help/markdown/SPLASH_SCREEN/Welcome.md @@ -2,4 +2,4 @@ ![](../../helps/Image%20Files/VTSplash.gif) -**![](../../helps/Tutorials/GO.gif) *** New to VisualText? Start by taking the [Quick Tour](../Introduction/VisualText_Quick_Tour.md)! ***** +**![](../../helps/Tutorials/GO.gif) *** New to VisualText? Start with the [NLP++ Textbook](../NLP++_Textbook.md)! ***** diff --git a/Help/markdown/Sample_Analyzers/Corporate_Analyzer.md b/Help/markdown/Sample_Analyzers/Corporate_Analyzer.md deleted file mode 100644 index 0fddbf2..0000000 --- a/Help/markdown/Sample_Analyzers/Corporate_Analyzer.md +++ /dev/null @@ -1,9 +0,0 @@ -[← Help Contents](../index.md) | [📘 NLP++ Textbook](../NLP++_Textbook.md) - -# Corporate Analyzer Tour - -The tour of the Corporate Analyzer (in the VisualText\apps folder) is intended to take you through the step by step process used in building the Corporate Analyzer. It will give you an idea of the approach and techniques used to build analyzers. This tour is a supplement to the VisualText Quick Tour.  Study of the tutorials is also recommended for a more complete understanding of this tour. - -We recommend you run the Corporate Analyzer application as you go through the tour. This will give you an opportunity to see how the analyzer works as you read through the discussion. - -[Tour the Corporate Analyzer.](../HowToBuild/Corporate/Toc/TOC.md) diff --git a/Help/markdown/Using_VisualText/Working_with_Debugging_Tools/DumpFiles.md b/Help/markdown/Using_VisualText/Working_with_Debugging_Tools/DumpFiles.md index e293088..31db278 100644 --- a/Help/markdown/Using_VisualText/Working_with_Debugging_Tools/DumpFiles.md +++ b/Help/markdown/Using_VisualText/Working_with_Debugging_Tools/DumpFiles.md @@ -8,7 +8,7 @@ To debug your analyzer it is often helpful to output information to **dump files 1. In the** Ana Tab**,** **right-click on a pass file to open it in the Workspace. -1. In the pass file, add a printing statement using the "<<" operator in the following form: "dump_file_name.txt" << content_to_print.  Below is a rule from the corporate analyzer that dumps the matched rule text into a dump file called "anaphora": +1. In the pass file, add a printing statement using the "<<" operator in the following form: "dump_file_name.txt" << content_to_print.  Below is a rule from an early sample analyzer that dumps the matched rule text into a dump file called "anaphora": ![](../../../helps/Using_VisualText/Working_with_Debugging_Tools/Image224.gif) diff --git a/Help/markdown/VisualText_Basics/DebuggingOverview.md b/Help/markdown/VisualText_Basics/DebuggingOverview.md index 38513ec..097c686 100644 --- a/Help/markdown/VisualText_Basics/DebuggingOverview.md +++ b/Help/markdown/VisualText_Basics/DebuggingOverview.md @@ -2,7 +2,7 @@ # Working with Debugging Tools -VisualText provides a number of debugging tools to make building text analyzers easier. Screen shots from this section are from the VisualText Sample "Corporate" analyzer. +VisualText provides a number of debugging tools to make building text analyzers easier. Screen shots in this section are from an early VisualText sample analyzer. **Debug Structure: Trees** @@ -48,7 +48,7 @@ Dump files are created by printing output to any file with a "txt" extension usi ![](../../helps/HowToBuild/Debugging/Image212.gif) -One convenient Right-Click menu function will get you started in printing to a dump file. It printouts out a line to a "txt" file with the same name as the pass file. In this case, we clicked on the "lookup" pass in our corporate analyzer and the Right-Click menu adds the line above the menu as shown below: +One convenient Right-Click menu function will get you started in printing to a dump file. It printouts out a line to a "txt" file with the same name as the pass file. In this case, we clicked on the "lookup" pass in a sample analyzer and the Right-Click menu adds the line above the menu as shown below: ![](../../helps/HowToBuild/Debugging/Image213.gif) diff --git a/Help/markdown/VisualText_Basics/Writing_Analyzers_with_VisualText.md b/Help/markdown/VisualText_Basics/Writing_Analyzers_with_VisualText.md index f42287e..d8f9d67 100644 --- a/Help/markdown/VisualText_Basics/Writing_Analyzers_with_VisualText.md +++ b/Help/markdown/VisualText_Basics/Writing_Analyzers_with_VisualText.md @@ -2,7 +2,7 @@ # Writing Analyzers with VisualText -The VisualText Basics section includes a set of topics designed to help you build analyzers. As a prerequisite, we recommend you work through the Tutorials to understand the workings of the VisualText GUI. Also, working through the Corporate analyzer documentation and studying the Corporate analyzer will provide a feel for the ordering and specification of the steps, or passes, in a text analyzer. +The VisualText Basics section includes a set of topics designed to help you build analyzers. As a prerequisite, we recommend you work through the Tutorials to understand the workings of the VisualText GUI. The [NLP++ Textbook](../NLP++_Textbook.md) shows the ordering of the steps, or passes, in complete analyzers. Building text analyzers is more art than science. VisualText favors a bottom up approach to text processing, where small constructs are processed and grouped (or reduced) first, followed by identification of successively larger components of a text. diff --git a/Help/markdown/index.md b/Help/markdown/index.md index e1dc0be..bc0a660 100644 --- a/Help/markdown/index.md +++ b/Help/markdown/index.md @@ -582,8 +582,7 @@ to a topic. - [Special Rule Elements - Variables](Tutorials/tutorial6/tutorial6.md#xwild) - [Pass Regions](Tutorials/tutorial6/tutorial6.md#pass_regions) - [Finding Unknown Acronyms - PRE Region](Tutorials/tutorial6/tutorial6.md#acrobyms) -- [Sample Analyzers](Sample_Analyzers/Corporate_Analyzer.md) - - [Corporate Analyzer](Sample_Analyzers/Corporate_Analyzer.md) +- [Sample Analyzers](Sample_Analyzers/Database1_Analyzer.md) - [Database1 Analyzer](Sample_Analyzers/Database1_Analyzer.md) - [DictTok_Sample](DictTok_Sample.md) - [DotNetTest](DotNetTest.md) @@ -630,7 +629,7 @@ above. They are grouped here so that every page remains reachable from this inde ### HowToBuild Guides -[Anaphora](HowToBuild/Corporate/Anaphora/Anaphora.md)  |  [Companies](HowToBuild/Corporate/Companies/Companies.md)  |  [CompConj](HowToBuild/Corporate/CompConj/CompConj.md)  |  [Events](HowToBuild/Corporate/Events/Events.md)  |  [Format](HowToBuild/Corporate/Format/Format.md)  |  [GramTab](HowToBuild/Corporate/GramTab/GramTab.md)  |  [HandDict](HowToBuild/Corporate/HandDict/HandDict.md)  |  [InitKB](HowToBuild/Corporate/InitKB/InitKB.md)  |  [Intro](HowToBuild/Corporate/Intro/Intro.md)  |  [Join](HowToBuild/Corporate/Join/Join.md)  |  [MetaEvents](HowToBuild/Corporate/MetaEvents/MetaEvents.md)  |  [Money](HowToBuild/Corporate/Money/Money.md)  |  [Output](HowToBuild/Corporate/Output/Output.md)  |  [TOC](HowToBuild/Corporate/Toc/TOC.md)  |  [DictionaryLookup](HowToBuild/DictLookupURL/DictionaryLookup.md)  |  [Tour_AnalyzerTab](HowToBuild/Tour15/AnalyzerTab/Tour_AnalyzerTab.md)  |  [Tour_Debug](HowToBuild/Tour15/Debug/Tour_Debug.md)  |  [Tour_Find](HowToBuild/Tour15/Find/Tour_Find.md)  |  [Tour_GramTab](HowToBuild/Tour15/GramTab/Tour_GramTab.md)  |  [Tour_Intro](HowToBuild/Tour15/Intro/Tour_Intro.md)  |  [Tour_KB](HowToBuild/Tour15/Kb/Tour_KB.md)  |  [Tour_Load](HowToBuild/Tour15/Load/Tour_Load.md)  |  [Tour_Log](HowToBuild/Tour15/Log/Tour_Log.md)  |  [Tour_Output](HowToBuild/Tour15/Output/Tour_Output.md)  |  [Tour_ParseTrees](HowToBuild/Tour15/ParseTrees/Tour_ParseTrees.md)  |  [Tour_PassFiles](HowToBuild/Tour15/PassFiles/Tour_PassFiles.md)  |  [Tour_Run](HowToBuild/Tour15/Run/Tour_Run.md)  |  [Tour_Screen](HowToBuild/Tour15/Screen/Tour_Screen.md)  |  [Tour_TextTab](HowToBuild/Tour15/TextTab/Tour_TextTab.md)  |  [Tour_TOC](HowToBuild/Tour15/Toc/Tour_TOC.md) +[DictionaryLookup](HowToBuild/DictLookupURL/DictionaryLookup.md) ### Other Pages