Heiner KückerKognitions-Maschine für ein semantisches Netz |
|
Home Java-Seite Bit Packed Array ASM Improved heterogene Map, HMap Constraint Code Generator JSP WorkFlow PageFlow FlowControl Page Flow Engine Web Flow Engine Control_and_Command JSP_Spreadsheet Code-Generator für Option-Either-Stil in Java verbesserter Comparator Fluent-Interface Code-Generator auf Basis einer Grammatik Visitor mit Multidispatch for-Schleife mit yield-return Kognitions-Maschine semantisches Netz Domain Parser Codegenerator_für hierarchische Datenstrukturen Expression_Engine Formula_Parser Thread Preprocessor State Transition Engine AspectJ Java_Explorer DBF_Library Kalender_Applet SetGetGen BeanSetGet CheckPackage LineNumbers GradDms Excel-Export StringTokenizer JspDoc JspCheck JSP-Schulung Java Server Pages Struts Ascii-Tabellen- Layouter Ascii-Baum- Layouter Ascii-Art-Fluss- Diagramm- Parser AsciiArt AssignmentMatrix Layouter StringSerial Silbentrennung JDBC_Schlüssel- Generierung bidirektional/ unidirektional gelinkte Liste Java_Sitemap Generator XmlBuilder RangeMap StringFormatter VersionSafe XCopy JTextField CommandLine- ParamReader Bitmap-Grafik MultiMarkable- Buffered- InputStream JavaCache JdomUtil CollectionUtil XML Really Pull Parser Log-Filter Remote-Protokoll Sudoku-Generator Delegation statt Mehrfachvererbung Disjunct Interval Set WebCam_Demo Weiterentwicklung_Java Alaska-XBase++-Seite Projekte Philosophien Techniken Konzepte Sudoku Kontakt / Impressum Links SiteMap Letzte Aktualisierung: 16.10.2007 |
Kognitions-Maschine für ein semantisches NetzCognition Engine for Semantic Net
Dieses Programm/Bibliothek enthält ein semantisches Netz aus Aussagen und Regeln
gegen welches Anfragen gestellt werden können. Inspiration zu diesem Programm war das Buch "Echt cooles Java" Brian.D.Ebanks, Hanser-Verlag. In den dort erklärten Beispielen versinkt leider die Ausage in unlesbarem XML mit URLs als eindeutige Bezeichner. Kein Wunder, dass sich so was nicht durchsetzt. Meine Überlegung war nun, das man die Notation zwar formal, aber doch natürlich aussehend gestalten könnte. Sozusagen eine Kindersprache. Source sollte leicht zu lesen sein, weil er viel öfter gelesen als geschrieben wird. Die informationen werden als Aussagen in einem semantischen Netz gespeichert. Dazu habe ich das ganze noch um Regeln und um die kognitive Auflösung von Fragen erweitert. Eine Menge Testfälle funktionieren schon, nur mit der Negation habe ich Probleme, Folgendes Beipsiel: Heiner wohnt in Essen. Wer wohnt nicht in Essen ? Auf diese Frage passen alle Aussagen, ausser der oberen Aussage, sogar Aussagen, die nicht in der Wissensbasis gespeichert sind. Um dieses Problem zu lösen, werde ich in Zukunft Negation nur in Verbindung mit einer weiteren Frage erlauben: Wer ist eine Person und wohnt nicht in Essen ? (Wobei das Fragewort 'Wer' schon eine Person implizieren könnte) Der Code ist ziemlich wild, ich hatte die Sache nicht so gut im Griff. Eventuell sind auch Teile aus dem Code für jemanden verwendbar, zum Beispiel die Möglichkeit zwei HashMaps mit XOR zu verknüpfen. Die main-Methode mit dem Beispiel- und Test-Code befindet sich in der Klasse TestSemanticNet.
Siehe hierzu auch
Konzept Semantisches Netz Download der Quelldateien SEMANTIC_NET.zip Zum Kompilieren und Starten müssen noch die Sourcen und Jars der SHARED_LIB.zip eingebunden werden.
Achtung: Erweiterungen und Fixes stelle ich ohne Historie
und ohne Ankündigung hier bereit. Lizenzbedingungen:
Die Programme, Quelltexte und Dokumentationen können ohne
irgendwelche Bedingungen kostenlos verwendet werden. |