"Schiller-Raeuber" : Loesungsidee

Bernhard Eversberg EV at buch.biblio.etc.tu-bs.de
Mi Nov 6 09:21:00 CET 1996


Diese message wurde ueber RAK-ONL bereits verbreitet. 

In der Vorwoche gab es in der Liste RAK-ONL einen Disput ueber das 
"Schiller-Raeuber-Problem". Wir haben in der Vergangenheit
schon mehrfach Gehirnschmalz fuer dieses Problem verbraten. Mittlerweile
zeichnet sich fuer "allegro" eine ganz konkrete Loesung ab. Darueber
wird hier nichts gesagt (das waere noch zu frueh), aber unsere zur
Loesung hinfuehrenden Gedanken foerdern evtl. das Problemverstandnis und
die Beispiele sind vielleicht genuegend instruktiv, um den besagten Disput 
sinnvoll zu ergaenzen. Deshalb machen wir die nachfolgenden, bisher 
internen Ueberlegungen an dieser Stelle publik. Wer dazu eine Meinung
hat, moege sie aeussern.


Das "Schiller-Raeuber"-Problem
==============================

+-------------------------+
| Was ist das ueberhaupt? |
+-------------------------+
Wenn ein mehrteiliges Werk "Schillers Dramen" heisst, der Name "Schiller"
nur im Hauptsatz und der Titel "Raeuber" in einem verknuepften Untersatz
steht, kann man nichts finden mit einer logischen Verknuepfung

      find schiller AND raeuber  

Grund: aus dem Index werden die Satznummern entnommen und verglichen, 
und die beiden Suchwoerter stehen in getrennten Saetzen mit 
verschiedenen Nummern.
Eine gaengige Abhilfe besteht darin, den Namen des Verfassers auch in jeden
Untersatz mit einzutragen. Das erzeugt unerwuenschte Redundanz, loest aber
nur einen Teil der Probleme dieses Typs, denn auch fuer andere Suchbegriffe
als Verfasser wird u.U. eine satzuebergreifende Suche gewuenscht oder 
stillschweigend erwartet, z.B. fuer Schlagwoerter.

Hier ein anderes Beispiel, damit einiges noch deutlicher wird:
(nicht erfunden, dieses Werk gibt es!)

------------------------------------------------------------------------
Hauptsatz:    Vollmer, Gerhard:
Nr.A          Was koennen wir wissen?
              Schlagwort: Erkenntnistheorie
------------------------------------------------------------------------
Untersatz:    Band 1
Nr.B          Die Natur der Erkenntnis : Beitraege zur Evolutionaeren
              Erkenntnistheorie. 
              [Mitverf.:] Lorenz, Konrad.
------------------------------------------------------------------------
Untersatz:    Band 2
Nr.C          Die Erkenntnis der Natur : Beitraege zur modernen
              Naturphilosophie.
              [Schlagwort:] Naturphilosophie
------------------------------------------------------------------------

Hier ist angenommen, die Nummern A, B und C seien die internen Satznummern
der drei Datensaetze. Diese Nummern bilden dann intern die Ergebnismengen.

Gegenwaertige Systeme zeigen in der Regel folgendes Verhalten:

    Suchfrage:                       Ergebnisse:     erwuenscht:
----------------------------------------------------------------
1.  vollmer                          A               A,B,C   ???

2.  wissen                           A               A,B,C   ???

3.  erkenntnis                       B,C

4.  erkenntnis?                      A,B,C
    naturphilosophie                 C
    erkenntnisth? AND naturphil?     nichts          C

5.  vollmer AND wissen               A

6.  wissen AND natur                 nichts          B,C     ???

7.  vollmer AND natur                nichts          B,C
    
8.  vollmer AND naturphilosophie     nichts          C
    vollmer AND lorenz               nichts          B

9.  lorenz AND erkenntnis            B

10. lorenz AND wissen                nichts          B       ???

(Die Suchfragen sind hier vereinfacht dargestellt. Je nach Syntax des
Systems muss es z.B. "find aut vollmer? and tit natur" heissen. Es ist
hier angenommen, dass '?' als Trunkierungssymbol wirkt.)

In den Faellen 1,2,3,6 und 10 kann man wohl nicht generell sagen, dass die
erweiterten Ergebnisse in jedem Fall erwuenscht sind, sicher trifft das
nur fuer die Faelle 4,7,8 zu. Es scheint kein Algorithmus moeglich, der den
Benutzerwunsch erschliessen kann und in jedem Fall korrekt eine erweiterte
Suche (satzuebergreifende Suche) durchfuehrt oder nicht! Folglich wird
man dem Benutzer auf irgendeine Art eine neue Option "erweiterte Suche" 
zur Wahl stellen muessen. 
Das eigentliche Problem tritt nur bei den AND-Verknuepfungen auf. Die Faelle
1 bis 3 gehoeren nicht zum Problembereich. Wenn A gefunden wird, hat man
implizit auch B und C, da diese dann ohnehin mit angezeigt werden koennen.
Ueber NOT-Verknuepfungen kann man allenfalls auch noch reden. Die
nachfolgend skizzierte Loesungsidee wuerde dies zwar mit einbeziehen
(siehe unten Beispiele 5,6,10), aber der Leser mag sich selbst ueberlegen,
wie sinnvoll das ist.


+--------------+
| Loesungsidee |
+--------------+
Es wird ein Steuerzeichen eingefuehrt, sagen wir '+'.
Dieses kann vor jeden Suchbegriff einer kombinierten Suche gesetzt werden.
Also z.B.   +vollmer   statt   vollmer.
Ein so gekennzeichneter Begriff soll "erweitert" (satzuebergreifend) 
gesucht werden. (Man koennte auch von einer "Plus-Suche" sprechen.)
Das bedeutet: alle Untersaetze werden zu den Ergebnissen hinzugenommen.
(Nur die UNTERsaetze, nicht die UEBERgeordneten!)
Dann wuerde im Beispiel  +vollmer   A,B,C herauskommen statt nur A.
Mit  +lorenz  wuerde aber unveraendert nur B herauskommen.
Das erscheint sinnvoll, denn Vollmer hat viel mit B und C zu tun, Lorenz
dagegen nicht viel mit A und wahrscheinlich nichts mit B.
Diese Ueberlegung trifft wohl auch fuer andere Suchkriterien zu, denn man
erfasst ja im Hauptsatz diejenigen Elemente, die auf das Gesamtwerk 
zutreffen, in den Untersaetzen aber diejenigen, die NUR fuer den jeweiligen 
Untersatz gelten.

Also nochmal ganz klar: die "erweiterte Suche" bezieht zu jedem Datensatz
alle untergeordneten Saetze mit ein. Dies kann auf jeden Term einer
kombinierten Suche einzeln angewendet werden.

Die nachfolgenden Beispiele sind nicht alle sinnvoll, d.h. man wuerde
sie in der Praxis nicht alle anwenden. Das heisst, es waere wohl nicht 
sinnvoll, die Erweiterung generell einzuschalten, also als ob automatisch
vor jedes Suchwort ein '+' gesetzt wuerde.

    Suchfrage:                       Ergebnisse:
------------------------------------------------
1.  vollmer                          A          
    +vollmer                         A,B,C

2   wissen                           A
    +wissen                          A,B,C

3.  erkenntnis                       B,C
    +erkenntnis                      B,C

4.  erkenntnis?                      A,B,C
    +erkenntnis?                     A,B,C
    erkenntnis? AND naturphil?       C
    erkenntnisth? AND naturphil?     nichts
    +erkenntnisth? AND +naturphil?   C

5.  vollmer AND wissen               A
    +vollmer AND wissen              A
    vollmer AND +wissen              A
    +vollmer AND +wissen             A,B,C

    vollmer NOT wissen               nichts
    +vollmer NOT wissen              B,C
    +vollmer NOT +wissen             nichts

6.  vollmer AND natur                nichts     
    +vollmer AND natur               B,C
    vollmer AND +natur               nichts
    +vollmer AND +natur              B,C

    vollmer NOT natur                A
    +vollmer NOT natur               A

7.  wissen AND natur                 nichts     
    +wissen AND natur                B,C
    wissen AND +natur                nichts
    +wissen AND +natur               B,C

8.  vollmer AND naturphilosophie     nichts
    +vollmer AND naturphil?          C
    vollmer and lorenz               nichts
    +vollmer AND +lorenz             B
    
9.  lorenz AND erkenntnis            B
    +lorenz AND erkenntnis           B
    lorenz AND +erkenntnis           B
    +lorenz AND +erkenntnis          B

10. lorenz AND wissen                nichts     
    +lorenz AND wissen               nichts
    lorenz AND +wissen               B
    +lorenz AND +wissen              B

    lorenz NOT wissen                B
    lorenz NOT +wissen               nichts

Es wird hieraus deutlich, dass mit der "Plus-Suche" jede gewuenschte
Erweiterung des Zugriffs differenziert durchgefuehrt werden kann.
OB dies ausgenutzt werden wird und wie OFT, das ist eine ganz andere
Frage. Man kann auch die Meinung hoeren, dass die booleschen Verknuepfungen
insgesamt von kaum einem Endbenutzer verstanden werden...
Andererseits kann man sicher sein, dass die Wuensche nicht verstummen,
wenn dieses Verfahren realisiert sein wird. Mindestens wird die Frage
kommen, wie es denn ist, wenn einer der Beispielsaetze, oder alle drei,
noch einem anderen oder mehreren anderen Werken untergeordnet sind, und
wenn es mehrere Hierarchiestufen gaebe...
Wahr ist aber auch: je groesser unsere Datenbanken werden, umso mehr
brauchen wir differenzierte Suchmoeglichkeiten.

Ein paar Worte noch zur Praesentation an der Benutzeroberflaeche.
In der Praxis wuerde man natuerlich nicht vom Endbenutzer verlangen, ein
'+' vor jeden zu erweiternden Begriff zu setzen. Das waere archaisch!
(Man wuerde ja dem Benutzer ein Wissen oder eine Erkenntnis abverlangen, 
das war noch nie gefragt und ist heute nicht mehr noetig.)
Man wuerde in einer Web-Suchmaske zu jedem Suchbegriff einen Schalter
setzen, der die Erweiterung fuer diesen Begriff einschalten wuerde.
Intern wuerde der dann in das '+' umgesetzt.
Und einen Hauptschalter sollte es wohl geben, der die Erweiterung generell
einschaltet.

+---------------------------------+
| Programmtechnische Realisierung |
+---------------------------------+
            [intern]
.......

B.E.





Mehr Informationen über die Mailingliste Allegro