![]() | |
![]() | |
![]() | |
![]() |
![]() |
![]() |
![]() |
SemanTextAbout SemanTextSemanText is a prototype application developed to demonstrate how the topic map standard (ISO/IEC 13250:2000) can be used to represent semantic networks. Semantic networks are a building block for artificial intelligence applications such as inference engines and expert systems. SemanText builds a knowledge base, in the form of a semantic network, from the topic map. New information can be added to the knowledge base and topic map automatically when the user defines rules which are used to infer new knowledge. All of this is done using constructs defined in the topic map standard. The benefit of this is that the new knowledge is then interchangeable with any other topic map enabled system. As more and more topic map enabled applications are developed, the ability to share, interpret, and create new knowledge will be greatly increased. SemanText is written in Python which means that it is platform independent. It uses many existing tools such as the wxPython GUI library, the PyXML libraries, and the tmproc topic map processor. Its user interface provides a simple, intuitive mechanism for working with the topic map information. SemanText uses the constructs defined in the topic map standard to model the knowledge processed and managed by the system. Topics and topic types are used to represent the nodes within the semantic network. The topics and topic types also form a class-instance hierarchy which allows SemanText to infer knowledge about specific topics based on their types. Associations are used to represent the links between the topics. Semantics are attached to the associations which allow the inference engine to build upon the internal knowledge base. Facets are used to store metadata about the topics within the knowledge base. Occurrences, which are not yet implemented, will provide background or source information about the associations and topics within the knowledge base. Scopes and themes are also not implemented currently, but will be used to limit the applicability of certain pieces of knowledge. The power of scoping will allow the inference engine to make inferences based on knowledge which is relevant to a certain set of conditions. SemanText's inference engine allows the user to define and use rules which are then applied to the knowledge base to develop new knowledge based on the relationships between the topics. This "learning" mode can be switched on and off, in order to minimize impact on the system when the rules are being processed. When learning is activated, any new additions to the knowledge base are immediately examined to determine if they can be used to provide new knowledge to the knowledge base. In the near future, the rules themselves will be stored and managed using topic map constructs. This provides a method for interchanging the inferencing rules in a standard way. SemanText is still in development. Much of its current capability has been developed to demonstrate certain concepts. Major items to be added include:
Overall SemanText is planned to become a full featured topic map development, management and browsing tool as well as a knowledge management system complete with rule based inferencing. About the developerEric Freese is the Director of Professional Services in the Midwest Region for ISOGEN International, a DataChannel company. Freese has 12+ years of experience in the area of information and document management with specific expertise is in the development of SGML and XML products and implementation of SGML technologies, including the Extensible Markup Language (XML) family of standards, Document Style Semantics and Specification Language (DSSSL), HyTime, HyperText Markup Language (HTML) and the World Wide Web (WWW). His experience includes research, analysis, specification, design, development, testing, implementation, integration and management of database systems and information technologies in business, education, engineering and government environments. He is a founding member of TopicMaps.org, the consortium responsible for the specification known as XML Topic Maps (XTM). He has made presentations world wide on the subjects of topic maps and artificial intelligence. Freese developed SemanText as an open source application which demonstrates the concepts. Freese has chaired tracks on Information Accessibility at the GCA's XML conferences. He was formerly one of several lead developers of the Air Force CALS DTDs and several tri-service DTDs including MIL-PRF-38784 and MIL-PRF-87269. He has developed educational programs and materials, and implemented training for elementary to graduate level audiences and has significant research experience in human interface design, graphics interface development and artificial intelligence. SemanText DisclaimerThis software is distributed under the GNU Public License. We encourage users of SemanText to let us know about their experience with the tool, their suggestions for improvements and other comments. We also encourage people to contribute code to this effort as we hope to build this into a larger open-source effort. Please see : http://www.gnu.org/copyleft/gpl.html Installation InstructionsTo run SemanText you will need:
Please download the SemanText files. The current version is 0.71.
There are also some sample XML topic map files included which can be used to test and demonstrate SemanText. To receive email updates about SemanText or discuss the program, you can subscribe to any of the public mailing lists available through SourceForge. The program is currently being tested with Python 1.6 and 2.0. This page and the mailing lists will be updated when testing has been completed detailing how to upgrade to the new version of Python. Helpful resources to get started with:
|