[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 423.   Dizionari

Esistono diversi tipi di dizionario che spesso sono disponibili in forma di file di testo, redatti secondo un certo standard. Non si tratta esclusivamente di dizionari per le traduzioni, ma si possono includere quelli per i sinonimi, quelli specifici per un certo settore tecnico, fino a quelli biblici.

Per accedere a tutti i dizionari disponibili presso un elaboratore, si usa generalmente un programma demone, a cui si accede attraverso la rete, precisamente secondo il protocollo DICT (Dictionary server protocol) descritto dal documento RFC 2229. Naturalmente, i file contenenti i dizionari, devono essere realizzati secondo il formato atteso dal demone stesso. Di solito si considera il programma dictd per questo scopo.

Figura 423.1. Il servizio DICT viene fornito attraverso un demone, di solito in ascolto della porta 2628/TCP.

Dictd

423.1   Dictd o Serpento

Il programma che di solito si usa come servente DICT è Dictd(1) oppure Serpento(2) (il secondo sembra avere una gestione migliore dell'insieme di caratteri universale).

dictd
serpento

Il programma, sia dictd, sia serpento, salvo indicazioni differenti nella sua configurazione, si collega ai file che dovrebbero trovarsi nella directory /usr/share/dictd/ e si mette in ascolto della porta 2 628/TCP.

I file in questione devono essere conformi a quanto atteso dai programmi. Nel caso della distribuzione GNU/Linux Debian, i dizionari sono distribuiti in pacchetti separati, il cui nome inizia per dict-.

423.2   Interrogazione manuale di un servizio DICT

Per comprendere l'utilità del servizio DICT, prima di avvicinarsi all'uso dei programmi clienti che possono servirsene, conviene provare a utilizzare direttamente il protocollo, con i suoi comandi principali. Ciò consente anche di verificare il funzionamento del servizio. Per l'interrogazione diretta, si può usare Netcat o Telnet:

netcat nodo 2628
telnet nodo 2628

Ecco come si potrebbe usare Telnet per accedere all'elaboratore locale, presso il quale è in funzione Serpento:

telnet localhost 2628[Invio]

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 hello <> msg

SHOW SERVER[Invio]

114 server information follows
serpento
.
250 Command complete

QUIT[Invio]

221 bye bye
Connection closed by foreign host.

Prima di vedere i comandi più importanti, è necessario chiarire il significato di alcune definizioni che si rifanno a quanto scritto nel documento RFC 2229.

La tabella successiva mostra la sintassi, semplificata di alcuni comandi.

Sintassi Descrizione
DEFINE dizionario parola
DEFINE {!|*} parola
Richiede di trovare la definizione o la traduzione della parola indicata, cercandola nel dizionario stabilito (si cerca una corrispondenza esatta e completa della parola indicata). Se al posto del dizionari si indica un punto esclamativo, si vuole ottenere il risultato nel primo dizionario annoverato dal servizio; se invece si utilizza un asterisco, si vogliono trovare le corrispondenze con tutti i dizionari disponibili.
MATCH dizionario metodo_ricerca parola
MATCH {!|*} metodo_ricerca parola
Richiede di trovare una corrispondenza della parola indicata, attraverso l'indicazione di un metodo di ricerca (o strategia). Se al posto del dizionari si indica un punto esclamativo, si vuole ottenere il risultato nel primo dizionario annoverato dal servizio; se invece si utilizza un asterisco, si vogliono trovare le corrispondenze con tutti i dizionari disponibili.
MATCH dizionario exact parola
Richiede di trovare una corrispondenza esatta della parola, praticamente come avviene con il comando DEFINE.
MATCH dizionario prefix parola
Richiede di trovare una corrispondenza iniziale della parola.
MATCH dizionario . parola
Richiede di trovare una corrispondenza secondo il metodo predefinito del servente, che dovrebbe corrispondere al migliore disponibile.
SHOW DB
SHOW DATABASE
Richiede di mostrare l'elenco dei dizionari disponibili.
SHOW STRAT
SHOW STRATEGIES
Richiede di mostrare l'elenco dei metodi di ricerca disponibili (quelli utilizzabili con il comando MATCH.
SHOW SERVER
SHOW SERVER
Richiede di mostrare il nome del servente.
QUIT
Conclude il collegamento.

Segue la descrizione di alcuni esempi, partendo dalle interrogazioni necessarie a conoscere quali sono i dizionari disponibili.

423.3   Il programma Dict per l'interrogazione del servizio

Dict(3) è il programma più comune per l'interrogazione di un servizio DICT. Si usa a riga di comando, ma proprio per questo è molto semplice ed efficace:

dict [opzioni] parola
dict [opzioni] dict://nodo/d:parola[:dizionario]
dict [opzioni] dict://nodo/m:parola[:dizionario[:modalità_di_ricerca]]

La prima forma di utilizzo del programma implica la ricerca della parola indicata presso il servente o i serventi indicati nella configurazione (salvo indicazione diversa attraverso le opzioni); la seconda richiede una ricerca presso un elaboratore stabilito, utilizzando un confronto completo (l'equivalente del comando DEFINE del protocollo DICT); l'ultima richiede una ricerca presso un elaboratore stabilito, utilizzando un confronto che non sia necessariamente esatto (l'equivalente del comando MATCH del protocollo DICT).

Il file di configurazione generale di Dict può essere, a seconda dei sistemi, /etc/dict.conf, oppure /etc/dictd/dict.conf; il file di configurazione personale di ogni utente è ~/.dictrc. La configurazione serve a specificare i serventi predefiniti, aggiungendo eventualmente indicazioni sulla porta TCP da utilizzare, nel caso non sia quella standard:

server nodo [port n_porta]

Eventualmente sono disponibili altre opzioni nella direttiva server nei casi in cui l'accesso al servente richieda una forma di autenticazione. È normale trovare queste due direttive nel file di configurazione:

server localhost 
server dict.org

In pratica, si cerca prima un servizio DICT localmente, altrimenti si interroga quello fornito da dict.org.

Tabella 423.12. Alcune opzioni per l'utilizzo di Dict.

Opzione Descrizione
-h nodo
--host nodo
Specifica di interrogare un servente particolare, che probabilmente è diverso da quanto indicato nella configurazione.
-p n_porta
--port n_porta
Specifica di rivolgersi a un certo numero di porta TCP, evidentemente diverso da quello predefinito che sarebbe 2 628.
-d dizionario
--database dizionario
Specifica il dizionario all'interno del quale si vuole eseguire la ricerca.
-D
--dbs
Richiede un elenco dei dizionari disponibili presso il servente.
-m
--match
Invece di ottenere una «definizione», si richiede di cercare una corrispondenza (sulla base del metodo di ricerca specificato con l'opzione --strategy).
-s metodo_ricerca
--strategy metodo_ricerca
Se si usa l'opzione -m, consente di specificare il metodo di ricerca.
-S
--strats
Richiede un elenco dei metodi di ricerca (strategie) disponibili presso il servente.

Segue la descrizione di alcuni esempi.

423.4   Altri programmi affini

423.5   Riferimenti

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) Serpento   GNU GPL

2) Serpento   GNU GPL

3) Dict   GNU GPL

4) Wordtrans   GNU GPL


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome dizionari.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!