Project

General

Profile

Nieuwe gegevensstructuur

Nodig voor grammaticacontrole

- unieke stukken tekst (zinnen of paragrafen) in utf8
- zonder tags en code
- gericht op minimum aantal exemplaren voor elk woord

Nodig voor voorbeelden

- unieke stukken tekst
- met zoekmogelijkheid op woorden die daar in staan (hoofdlettergevoelig)

Nodig voor analyse

- tekstblokken
- met verwijzing naar domein waar het is geoogst (voor onderzoek naar regio-gevoeligheid
- met jaar waarin waarschijnlijk is vastgelegd (voor historie woordgebruik)
- per woord het gebruik per jaar per domein

Nodig voor beoordeling

- nog niet beoordeelde woorden, aflopende gebruiksfrequentie

Nodig voor keuring

Technische bevindingen

- de auto increment van mysql bleek destijd niet betrouwbaar; bleef soms hangen op steeds hetzelfde getal
- een getal als id is handig, maar de maximale grootte van een getal in php is beperkter dan die in mysql
- het woord_id als getal moet steeds worden opgezocht, vandaar dat ik een hash ben gaan gebruiken, die is snel berekend. Maar een tekst-hash is inefficiƫnt.
- wellicht handig om alles in utf-8 te doen. De site, de code, de data.

Voorbeeldqueries

De database heeft een ingenieuse structuur voor het opslaan van lexicografische en semantische relaties tussen woorden en betekenissen van woorden. Een database model voor alleen dit gedeelte is te vinden in TODO Om via SQL-queries hier gemakkelijk gebruik van te maken worden hieronder een flink aantal voorbeelde gegeven.

Command line queries

Het volgende kan gebruikt worden op de command line of in shell scripts.

mysql opentaal -u GEBRUIKERSNAAM -pWACHTWOORD -D opentaal -v -e '\
SELECT id, name, description\
FROM table_name;'

De backslash maakt het mogelijk om line breaks te gebruiken voor een betere opmaak.

List all synset types

SELECT * FROM synset_types;

Dit geeft 11 resultaten (16-01-2012):

| id | synset_type           |
+----+-----------------------+
| -1 | onbekend              | 
|  1 | werkwoord             | 
|  2 | zelfstandig naamwoord | 
|  3 | bijvoeglijk naamwoord | 
|  4 | bijwoord              | 
|  5 | telwoord              | 
|  6 | lidwoord              | 
|  7 | voornaamwoord         | 
|  8 | voorzetsel            | 
|  9 | voegwoord             | 
| 10 | tussenwerpsel         |

List all semantic word meaning relations

SELECT mrs.id, mrt.relation, m1.id, m1.gloss, st1.synset_type, w1.word_id, w1.word, m2.id, m2.gloss, st2.synset_type, w2.word_id, w2.word
FROM meaning_relation_semantic as mrs
LEFT JOIN meanings as m1 on (mrs.meaning_id1 = m1.id)
LEFT JOIN word_meanings as wm1 on (m1.id = wm1.meaning_id)
LEFT JOIN words as w1 on (wm1.word_id = w1.word_id)
LEFT JOIN synset_types as st1 on (m1.synset_type = st1.id)
LEFT JOIN meanings as m2 on (mrs.meaning_id2 = m2.id)
LEFT JOIN word_meanings as wm2 on (m2.id = wm2.meaning_id)
LEFT JOIN words as w2 on (wm2.word_id = w2.word_id)
LEFT JOIN synset_types as st2 on (m2.synset_type = st2.id)
LEFT JOIN meaning_relation_types as mrt on (mrs.rel_type = mrt.id);

Dit geeft 897 resultaten (16-01-2012), een kleine selectie hiervan is:

| id    | relation | id    | gloss                                                      | synset_type           | word_id  | word              | id    | gloss                                                                             | synset_type           | word_id  | word                      |
...
| 60529 | hyponiem | 41903 | entiteit dat geen naam heeft                               | zelfstandig naamwoord |    45755 | ding              | 41902 | dat wat men kan waarnemen, gekend is of waarvan men verondersteld dat het bestaat | zelfstandig naamwoord |    54288 | entiteit                  |
| 60530 | hyponiem | 41904 | algemeen concept afgeleid van gemeenschappelijke kenmerken | zelfstandig naamwoord |  6907862 | abstract concept  | 41902 | dat wat men kan waarnemen, gekend is of waarvan men verondersteld dat het bestaat | zelfstandig naamwoord |    54288 | entiteit                  |
| 60531 | hyponiem | 41906 | alle stoffelijke dingen                                    | zelfstandig naamwoord |  6907858 | fysische entiteit | 41902 | dat wat men kan waarnemen, gekend is of waarvan men verondersteld dat het bestaat | zelfstandig naamwoord |    54288 | entiteit                  |
...
| 60579 | hyponiem | 41948 | NULL                                                       | zelfstandig naamwoord |    95008 | kennis            | 41913 | een kenmerk van het geestelijke leven van een levend organisme                    | zelfstandig naamwoord |  6907863 | psychologische eigenschap |
| 60579 | hyponiem | 41948 | NULL                                                       | zelfstandig naamwoord |    38964 | cognitie          | 41913 | een kenmerk van het geestelijke leven van een levend organisme                    | zelfstandig naamwoord |  6907863 | psychologische eigenschap |
...
| 60572 | hyponiem | 28266 | beeld dat een afgod voorsteld                              | zelfstandig naamwoord |    10722 | afgodsbeeld       | 41944 | NULL                                                                              | zelfstandig naamwoord |    21509 | beeld                     |
| 60572 | hyponiem | 28266 | beeld dat een afgod voorsteld                              | zelfstandig naamwoord |    10722 | afgodsbeeld       | 41944 | NULL                                                                              | zelfstandig naamwoord |    21559 | beeldhouwwerk             |
| 60572 | hyponiem | 28266 | beeld dat een afgod voorsteld                              | zelfstandig naamwoord |    10722 | afgodsbeeld       | 41944 | NULL                                                                              | zelfstandig naamwoord |   145116 | plaatje                   |
| 60572 | hyponiem | 28266 | beeld dat een afgod voorsteld                              | zelfstandig naamwoord |    10722 | afgodsbeeld       | 41944 | NULL                                                                              | zelfstandig naamwoord |    85523 | illustratie               |
...

List all lexical word meaning relations

SELECT mrt.relation, st1.synset_type, w1.word, st2.synset_type, w2.word
FROM meaning_relation_lexical as mrl
LEFT JOIN word_meanings as wm1 on (mrl.word_meaning_id1 = wm1.id)
LEFT JOIN meanings as m1 on (wm1.meaning_id = m1.id)
LEFT JOIN synset_types as st1 on (m1.synset_type = st1.id)
LEFT JOIN words as w1 on (wm1.word_id = w1.word_id)
LEFT JOIN word_meanings as wm2 on (mrl.word_meaning_id2 = wm2.id)
LEFT JOIN meanings as m2 on (wm2.meaning_id = m2.id)
LEFT JOIN synset_types as st2 on (m2.synset_type = st2.id)
LEFT JOIN words as w2 on (wm2.word_id = w2.word_id)
LEFT JOIN meaning_relation_types as mrt on (mrl.rel_type = mrt.id);

Dit geeft 643 resultaten (16-01-2012), een kleine selectie hiervan is:

| relation  | synset_type           | word                | synset_type           | word                 |
...
| antoniem  | onbekend              | nee                 | onbekend              | ja                   | 
| antoniem  | onbekend              | ondeskundige        | zelfstandig naamwoord | deskundige           | 
| antoniem  | onbekend              | vorig               | bijvoeglijk naamwoord | volgend              | 
...
| inwoner   | zelfstandig naamwoord | Barendrecht         | zelfstandig naamwoord | Barendrechter        | 
| inwoner   | zelfstandig naamwoord | Barneveld           | zelfstandig naamwoord | Barnevelder          | 
| inwoner   | zelfstandig naamwoord | Bemmel              | zelfstandig naamwoord | Bemmeler             | 
...
| adjectief | zelfstandig naamwoord | Barneveld           | bijvoeglijk naamwoord | Barnevelds           | 
| adjectief | zelfstandig naamwoord | Beek                | bijvoeglijk naamwoord | Beeks                | 
| adjectief | zelfstandig naamwoord | Beesel              | bijvoeglijk naamwoord | Beesels              | 
...
| antoniem  | bijvoeglijk naamwoord | correct             | bijvoeglijk naamwoord | incorrect            | 
| antoniem  | zelfstandig naamwoord | incorrectheid       | zelfstandig naamwoord | correctheid          | 
| antoniem  | bijvoeglijk naamwoord | onwaar              | bijvoeglijk naamwoord | waar                 | 
| antoniem  | bijvoeglijk naamwoord | echt                | bijvoeglijk naamwoord | onecht               |
...