Finden anhand von Aspekten
Find Using Notions

5.7.05

Where knowledge is beyond a machines "knowledge": taxonomy classifications

A machine had to believe a classification (de) if it were able to do something like believing. That is because of the absence of knowledge which would enable the machine to judge what notion is a narrower than another: There is no such knowledge. There are only a assignments between broader and narrower terms and associative relationships etc. But the knowledge a machine would need to verify those assignments is missing: A machine were able to verify the assignment, if it would know how far//by what broader and narrower term are similar and where they differ. – A classification could provide this data. That would be an other assignement. But if a machine had its own data structure providing this kind of data – would that be knowledge or just assignments as well?<<



[locally referred by: ./. ]

Just found Walter Smits' note about his work on this topic

Just found Walter Smits' note about his 2002 work on this topic. Possibly it would be useful to get in contact with him. From his note:
About my study: someone *had* to ask... :-s ;-). Very roughly spoken, when I've finished this study I should more or less be able to put the knowledge that someone's got in his brains into a computer. One strange property of the human being is that we often know thinks we don't know about. We've got the knowledge, we use it, be we don't know about it (it's become some kind of automated behaviour).




[locally referred by: ./. ]

Some books are in reach to me

[Bearing:] Dreyfus' book What computers can't do and Baum's What is thought? (referred to in Wikipedia's computer program entry) are in reach to me in my local university library.<<



[locally referred by: ./. ]

Dreyfus, 1972: "it is not possible to capture expert knowledge in an algorithm"

Just in my very first attempts to draft the main idea of my theses I wanted to know why people refer to a computer program (de) as a knowledge storage. Since Wikipedia (de) didn't give much of help there I quickly searched the web. I found:

"Dreyfus illustrates his claims with references to the problems faced by AI researchers who attempted to codify expert knowledge into computer programs. The success or failure here really has little to do with the computing machinery, but with whether expert competence in the domain in question can be captured in an algorithmic procedure. In certain well-circumscribed domains this has succeeded; but more often than not, argues Dreyfus, it is not possible to capture expert knowledge in an algorithm, particularly where it draws upon general background knowledge outside the problem domain."   (source)
<<



[locally referred by: ./. ]

And now to something completely different

I changed my mind. It would be of much more use to publish this work in English. More people can participate and discuss the theses I am working on. I want to set up a development website on a web based free software developing platform (like alioth or Source Forge) as soon as possible since I am seeing neurology is meeting my place coming from the natural science side. Since I am working on this since about 2001 I am not willing to look like a copycat when the neurologists are done with the main job of "disassembling" brain, i.e. finding out how it is basically working like. Hence I want to publish my theoretical work prior to theirs based on natural science. (Mine is based upon philosophy/human sciences, software development experiences, and much interest about how thinking works.)

This blog is about to switch to a research and preparation blog, collecting citations from the web usable to underpin my theses, and for drafting pages I am going to set up on the software development site.<<



[lokal referenziert von: ./. ]

Alte Beschreibung dieses Blogs

Dieses Blog wurde vor dem Wechsel ins Englische wie folgt beschrieben. Vielleicht kann der erste Eintrag dieses Blogs einen Eindruck davon vermitteln, wozu dieses Blog ursprünglich bestimmt war.

Innerhalb von FAVA ist ein Begriff anhand seiner Eigenschaften wiederauffindbar. Die Precision einer Suche könnte dadurch erheblich steigen. Gerade für Laien bietet sich daher an, FAVA anstelle eines herkömmlichen Begriffssystems einzusetzen, etwa für Webseiten, MP3s... Erweitert zu einer Peer-To-Peer-Plattform sollte sich ein kooperatives, verteiltes Retrieval-Instrument bilden lassen.<<

27.11.04

Struktur: Back-End: Datenzugriff: Ebene 3: EntriesUsedByMOMTableAccessor

Eine weitere Klasse für Ebene 3 ist fertig implementiert und dokumentiert: EntriesUsedByMOMTableAccessor. Die von dieser Klasse verwendete Tabelle, _entries_used_by_MOM, ließ bisher Dubletten zu, anstatt entsprechende Eintrage-Versuche zurückzuweisen. Dementsprechend hätte eine Methode, die "die" ID desjenigen Datensates liefern soll, jeweils die gesamte Tabelle betrachten müssen und lediglich den jeweils jüngsten Eintrag liefern dürfen, um "die" [gültige] ID des Eintrags zu liefern. Da dies umständlich und kein Nutzen darin zu erkennen ist, hier Dubletten zuzulassen, wurde die Datenbank dergestalt geändert, dass in dieser Tabelle keine Dubletten mehr erlaubt sind. – Ergebnis: Das RDBMS verhindert, das Dubletten eingetragen werden. Dadurch gibt es nur jeweils eine Kombination aus Tabellenname (_table) und Eintrag in dieser Tabelle (_entry_ID). Dementsprechend ist auch der erste gefundene Eintrag, der eine bestimmte Kombination dieser beiden Felder aufweist, implizit auch der einzige. Dadurch entfällt der oben beschriebene Aufwand, den zzt. gültigen Eintrag zu finden.

EntriesUsedByMOMTableAccessor implementiert die bereits vorgeschlagene Funktionalität für den Zugriff auf die _entries_used_by_MOM-Tabelle.


———
[lokal referenziert von: ./. ]

21.11.04

Struktur: Back-End: Datenzugriff: Ebene 3: LanguageTableAccessor

Die nächste Klasse für Ebene 3 ist fertig implementiert und dokumentiert: LanguageTableAccessor.

Während der Arbeit daran ist mir ein sporadischer Fehler untergekommen, der auch LabelTableAccessor betroffen hat. Die Ursache des Fehler ist bis nach wie vor unklar. Für den Workaround musste ich nicht nur die aktuelle Ebene-3-Klasse, sondern auch LabelTableAccessor umbauen.



[lokal referenziert von: ./. ]

19.11.04

Struktur: Back-End: Datenzugriff: Ebenen 1 bis 3

Auf Ebene 1 ist noch ein neues Paket dazu gekommen: CommonGeneric. Dieses bietet dem Framework Grundfunktionalitäten, die unterhalb des Datenbankzugriffs angesiedelt sind. Etwa das Erzeugen von Timestamps oder Zugriff auf global gültige Variablen.

Die Implementationen (d.h. Klassen etc.) der Ebenen 1 und 2 sind jetzt dokumentiert, die bereits bekannte Experimentierklasse von Ebene 3 ebenfalls. Entgegen meiner kürzlich bekundeten Absicht, Ebene 1 nicht in POD zu dokumentieren, wurde alle oben aufgeführte Doku – einschließlich der auf Ebene 1 – im POD-Format erstellt.

In Bezug auf die PODs besteht das Problem, dass hier ein gemischtes Debian/Knoppix installiert ist, das sich zur Hälfte deinstallieren würde, würde ich versuchen, die POD-Konvertierer zu installieren. – Entsprechend buggy werden meine PODs sein...)<<



[lokal referenziert von: ./. ]

16.11.04

Dokumentation: Plain Old Documentation (POD)

Donnerwetter! Das Bisschen Dokumentieren hat mich jetzt Stunden (!) aufgehalten. Plain Old Documentation ist simpel gestrickt (Plain Old Documentation in 5 minutes, RTFM - Writing Plain Old Documentation), aber ich habe nichts übrig für überflüssige Leerzeilen. Das macht den Quelltext unübersichtlich. Außerdem, siehe oben, war es verdrießlich zeitaufwändig. Daher wird der Rest auf die bewährte, Nicht-POD-Art dokumentiert. ... Okay, eine Experimentier-Klasse aus Ebene 3 ist bereits in POD dokumentiert, also sollten die übrigen Klassen dieser Ebene ebenfalls in POD dokumentiert werden – der Einheitlichkeit halber. Aber für Ebene 1 will ich das nicht auch noch anfangen. (Ebene 2 ist komplett in POD dokumentiert.)<<



[lokal referenziert von: Struktur: Back-End: Datenzugriff: Ebenen 1 bis 3, Struktur: Back-End: Datenzugriff: Ebene 3: LanguageTableAccessor]

Struktur: Back-End: Datenzugriff: Ebenen 1 und 2

Die Klassen für die Ebenen 1 und 2 sind implementiert und laufen. Jetzt fehlt noch die Inline-Doku.<<



[lokal referenziert von: Struktur: Back-End: Datenzugriff: Ebenen 1 bis 3]

15.11.04

Back-End: Datenzugriff: generische Klasse für den Datenbank-Zugriff

Nur am Rande: Auf Ebene 1 existiert jetzt eine generische Klasse für den Datenbank-Zugriff: GenericDatabaseIO. Sie ist bereits in GenericTableAccessor integriert. Noch steht das Überprüfen einzelner Methoden der erstgenannten Klasse aus.<<



[lokal referenziert von: ./. ]

14.11.04

Back-End: Datenzugriff: einzelne Tabellen: generische Basisklasse

Für den Datenzugriff auf einzelne Tabellen ist jetzt eine Basisklasse implementiert, die generische Methoden bereitstellt, die die Grundfunktionalität implementieren: GenericTableAccessor. GenericTableAccessor steht somit über Ebene 1 (die generische Methoden bereitstellt, die sich ausschließlich auf das I/O der Datenbank beziehen) und unter der bisherigen Ebene 2 (die dazu da ist, um auf bestimmte einzelne Tabellen zuzugreifen). Ergo müssen die bisherigen Ebenen ab Ebene 2 um eine nach oben rücken:

  • Ganz unten bietet eine Ebene generische Methoden primär für den Datenbankzugriff (Datenbank auf-, zumachen, Timestamp generieren),
  • darauf liegt eine zweite Ebene, die generische Methoden für Ebene 3 bereitstellt, d.h. generische Zugriffe auf beliebige Tabellen.
  • Ebene 3 implementiert die Grundfunktionalität, die einfache Zugriffe auf jede einzelne Tabelle ermöglicht: Lesen, Schreiben (Hinzufügen / Ändern), Löschen.
  • Darauf eine weitere Ebene, die solche Zugriffe auf die Datenbank erlaubt, die mehr als eine Tabelle betreffen, etwa beachten, dass tunlichst keine Labels gelöscht werden, die von MOM/FAVA selbst benutzt werden.
  • Als Fünftes eine Ebene, die Verfahren abbildet, z.B. einem Begriff Merkmale zuordnen.
  • Sechste Ebene bilden die Module: dasjenige, das die Wiedererkennung vornimmt, eines, das die Datenbank strafft, indem es etwa Dubletten entfernt, ein weiteres für die P2P-Netzwerkkommunikation u.a.
  • Obenauf "liegt" die API, mit der auf das Back-End zugegriffen werden kann, etwa mit verschiedenen lokalen oder remoten User Interfaces.


[lokal referenziert von: Back-End: Datenzugriff: generische Klasse für den Datenbank-Zugriff, Struktur: Back-End: Datenzugriff: Ebenen 1 und 2, Dokumentation: Plain Old Documentation (POD), Struktur: Back-End: Datenzugriff: Ebenen 1 bis 3, Struktur: Back-End: Datenzugriff: Ebene 3: LanguageTableAccessor, Struktur: Back-End: Datenzugriff: Ebene 3: EntriesUsedByMOMTableAccessor]