Versuch 2: Lösungen

Aufgabe 2.1 a): Wieviele Objektklassen gibt es in Ihrem Janus? Wieviele verschiedene Methoden sind auf Objekte der Klasse Phones anwendbar?

 

% llength [types]
127
% Phones
...

 

Antwort: In der Janus Version 5.0 P014 gibt es 127 Objektklassen. Die Klasse Phones besitzt 7 Methoden. Dies sind puts, add, delete, read, write, index und name.

 

 

Aufgabe 2.1 b): Erzeugen Sie mit Janus-Kommandos die Matrix k = m-1 * mT.

% DMatrix m {{3 1 0} {-1 0 1} {1 0 0}}
m
% m
{  3.00000000e+00  1.00000000e+00  0.00000000e+00 }
{ -1.00000000e+00  0.00000000e+00  1.00000000e+00 }
{  1.00000000e+00  0.00000000e+00  0.00000000e+00 }

% [DMatrix mt] trans m
% [DMatrix mi] inv m
% [DMatrix k] mul mi mt
% k
{ -2.63966800e-16  1.00000000e-00 -2.03543417e-17 }
{  3.00000000e+00 -4.00000000e+00  1.00000000e-00 }
{  1.00000000e-00  1.00000000e-00  2.68882139e-17 }

Antwort: Die Matrix k lautet:
        / 0  1  0 \
   k = (  3 -4  1  )
        \ 1  1  0 /

 

 

Aufgabe 2.2: Was passiert, bzw worum handelt es sich in den nächsten Zeilen (Was davon ist ein Objekt, was eine Methode)?

Antwort:
fs                            FeatureSet Object (aktiviert die puts Methode)
fs :                          Gibt Inhalt des FeatureSets aus -> m und s (Methode :)
fs:                           wie 'fs :'
fs.                           Gibt Unterobjekte des FeatureSets aus (Methode .
                              gibt es nicht => Fehler)
fs:m                          Das Feature-Objekt m im FeatureSet fs
fs:m type                     Gibt Typ des Objekts aus = Feature (Methode type)
fs:m.                         Gibt Unterobjekte des Objekts fs:m aus (Methode .)
fs:m.data                     Unterobjekt 'data' des Objekts fs:m (ist eine FMatrix)
fs:s.data                     Unterobjekt 'data' des Objekts fs:s (ist ein SVector)
fs:s.data -help               Gibt alle Methoden des Objekts aus ("Methode" -help)
fs:m.data := [fs:s.data]      Durch die Methode := erfolgt eine Zuweisung. Die eckigen
                              Klammern um das Objekt fs:s.data führen zu einer ASCII
                              Ausgabe dieses SVectors. Diese Koeffizienten können auch
                              als Inhalt einer FMatrix interpretiert werden. Eine direkte
                              Zuweisung wäre nicht möglich gewesen.


Frage: Welche Information ist noch in einem Feature enthalten?

Antwort: Dies läßt sich mit

% fs:m configure
{-samplingRate 16.000000} {-shift 0.000000} {-frameN 0} {-coeffN 0} {-dcoeffN 0} {-trans 0}

 feststellen.

 

Aufgabe 2.3: Gesucht sind die Anzahl der Wörter im Bref-Text, die nicht im Wörterbuch sind und die daraus resultierende OOV-Rate. Ausserdem sollte die OOV-Rate angeben werden, die sich ergibt wenn man eine bestimmte Anzahl Wörter des Textes verwendet um daraus das Vokabular zu generieren.

Antwort: Die Lösungen dieser Aufgaben werden im folgenden mit Hilfe einer Tcl-Prozedurensammlung coverageLib.tcl aufgezeigt. Der Text enthält 45227 Wörter insgesamt, davon sind 11639 verschieden. Als Werte ergaben sich:
 
  • 8579 Wörter des Textes sind nicht im Aussprachewörterbuch.
  • Von 45227 Wörter werden 25987 durch das Wörterbuch abgedeckt, damit ist die OOV-Rate 42.54%.
  • Die von den Prozeduren erzeugte Liste finden sie unten. Aus ihr kann man eine Kurve der OOV-Rate über der Anzahl der Wörter im Text erzeugen.
 Eine ebenfalls interessante Kurve, die man aus der Liste erzeugen kann, zeigt den Vokabularwachstum.

 

> cut -f1 -d'(' ../../bref/cprompts.iso | tr -d '.,\\!?"' > text

> cut -f1 -d, ../../bref/a-z.iso > dictmots
> janus
...
% source ~islpra0/tools/coverageLib.tcl
% readCountText text
read 45227 words from file text
% vocabRead dictmots
read 22991 words (22526 new) from vocab file dictmots
% coverage
11639 different words, 3060 known, 8579 missing in the vocabulary
45227 total words, 25987 (57.46%) covered, 42.54% OOV
% for {set n 1000} {\$n <= 50000} {incr n 1000} {lappend nL \$n}
% coverageText text \$nL
1000 627 20662 45.69
2000 1091 24517 54.21
3000 1475 26439 58.46
4000 1896 28285 62.54
5000 2237 29676 65.62
6000 2577 30928 68.38
7000 2940 31919 70.58
8000 3301 32911 72.77
9000 3622 33622 74.34
10000 3993 34355 75.96
11000 4322 35134 77.68
12000 4653 35689 78.91
13000 4969 36397 80.48
14000 5242 36854 81.49
15000 5542 37402 82.70
16000 5810 37815 83.61
17000 6072 38286 84.65
18000 6365 38719 85.61
19000 6620 39082 86.41
20000 6878 39471 87.27
21000 7120 39789 87.98
22000 7293 40028 88.50
23000 7509 40347 89.21
24000 7721 40676 89.94
25000 7963 40982 90.61
26000 8202 41282 91.28
27000 8418 41547 91.86
28000 8652 41893 92.63
29000 8864 42171 93.24
30000 9109 42453 93.87
31000 9350 42717 94.45
32000 9465 42841 94.72
33000 9632 43099 95.29
34000 9820 43304 95.75
35000 10009 43510 96.20
36000 10151 43669 96.56
37000 10358 43893 97.05
38000 10503 44047 97.39
39000 10583 44132 97.58
40000 10708 44268 97.88
41000 10878 44448 98.28
42000 11077 44654 98.73
43000 11226 44806 99.07
44000 11417 45004 99.51
45000 11594 45182 99.90
45227 11639 45227 100.00