Leif Andersson  Henriksbergsvägen 104   136 67 Vendelsö   2009-10-31

Om lexikonutveckling
====================

När jag började med LexSup tänkte jag mig att man skulle utveckla lexikon genom 
att lägga in nya lexikon i sitt huvudlexikon och därigenom få det att växa så att 
det blev allt mer heltäckande. Men det visade sig att detta var långt ifrån 
problemfritt.

Om jag hade ett lexikon på 10 000 ord och hittade ett på 8 000 ord som jag ville 
lägga in i mitt lexikon kunde jag göra det med hjälp av "Addera lexikon". Efter 
det kunde jag med "Räkna ord i Lexikon1" konstatera att mitt lexikon ökat till 
10 200 ord vilket alltså innebar att det nya lexikonet innehållit 200 ord som 
saknades i mitt gamla. Så långt var allt väl men tänk om det fanns fel bland dessa 
200 ord. Tänk om det rent av var så att de kommit med för att de var fel. Mitt 
lexikon kanske inte hade blivit större och mer användbart, det kanske bara hade 
fått 200 fel. Och hur skulle jag kunna hitta några entaka fel bland 10 000 eller 
8 000 ord?

Om jag skapade ett mellanlexikon som bara innehöll det som var nytt skulle det 
bli betydligt enklare att leta efter fel. Jag skrev därför "Inte i huvudlexikon" som 
i det här fallet gav ett lexikon på 200 ord.

Men det visade sig att det var svårare än väntat att leta och rätta fel direkt i ett 
lexikon. Uppställningen med uppslagsord med punkt följda av rader med 
uppslagna ord är svåröverskådlig. Och uppdelningen i en fil per begynnelsebokstav 
gör att man måste gå igenom många olika filer när man letar efter fel. Det är då 
lättare att hantera en ordlista. Jag lade till "Lexikon till lista" som gjorde att jag 
kunde omvandla mitt 200 ords lexikon till en lista där jag kunde leta och rätta fel. 

När jag på det sättet hittat vilka fel jag ville rätta kunde jag gå in i lexikonet och 
göra dessa rättelser. Men det verkade lite onödigt. Varför inte direkt sortera in 
den rättade ordlistan? En fördel med det var också att jag ofta hittade ordlistor 
som jag ville sortera in i mitt lexikon. Och i böcker och lexikon fanns ofta 
gloslistor som jag kunde kopiera med scanner och med hjälp av ett OCR-program 
omvandla till ordlistor. Med en möjlighet att sortera in listord i mitt lexikon 
skulle jag direkt kunna lägga in dessa. Jag lade alltså till "Insortering" som 
lägger in en ordlista i ett lexikon.

Jag hittade en hel del ordlistor som jag kunde sortera in i mina lexikon. Men 
nu var det inte ordlistor över sådant som inte redan fanns i lexikonet utan 
långa listor med sådant som redan fanns. För att slippa leta fel i allt detta 
behövde jag en möjlighet att skapa listor som bara innehöll det som var nytt. 
"Nya listord" skapar en lista som bara innehåller det som inte redan finns i 
Lexikon1.

Med hjälp av "Textkontroll" kan jag gå igenom en text och skapa en lista 
med ord som inte finns i Lexikon1. Dessa ord kan jag så slå upp eller på 
annat sätt finna översättningsförslag till och på det sättet skapa en ordlista 
för insortering. Och när jag arbetar med en text och stöter på något som inte 
finns i lexikonen kan jag klicka på ramen kring Utordrutorna och lägga in 
uppslagsord och översättningsförslag.

På det här sättet växer mina lexikon. Men risken finns ju att det kommer in fel. 
Jag hade till exempel en hel del problem med ordlistor som hade hanterats i 
program med starkt begränsad radlängd där en del ord stympats.

För att kunna gå tillbaka och plocka bort nya ord om det skulle visa sig att de 
innehåller fel försökte jag använda en metod där nya ord markerades. Men 
det fungerar inte. Nyordsmarkeringen gav en hel del hanteringsproblem och 
ganska snart blir nya ord gamla. Jag tar därför bort nyordsmarkeringen.

Ett bättre sätt att provanvända kompletteringar är att använda tilläggslexikon. 

När LexSup slagit upp i huvudlexikon letar programmet efter tilläggslexikon. Om 
uppslaget skett i en mapp som heter sven letar programmet efter ett tiläggs-
lexikon i mappen svena. Finns det ingen sådan mapp letar programmet efter ett 
tilläggslexikon i mappen svenutv. Finns det en mapp som heter svena slår 
LexSup upp i den och letar därefter efter en mapp som heter svenb  o s v.

Om jag vill provanvända ord från en svensk - engelsk ordlista kan jag sortera 
in den i ett lexikon som jag lägger i en mapp som jag döper till svena och lägger 
i samma mapp som sven. Ofta kan det vara lämpligt att i stället för svena döpa 
den till svenutv.

Vid uppslag i tilläggslexikon läggs uppslagsord (inkl punkt) in i en Utordruta för 
att visa att det som följer kommer från tilläggslexikon.

För att LexSup skall leta efter svenb måste programmet komma från svena. Om 
man har en rad tilläggslexikon och tar bort något i början av raden tar man 
alltså även bort alla följande tilläggslexikon. Undantaget är tillägget utv. 
LexSup letar alltså alltid efter svenutv om huvudlexikonet hette sven. 
Utvecklingslexikonet i svenutv skiljer sig även från andra tilläggslexikon 
genom att om det finns läggs ändringar via ramen kring Utordrutorna in där 
i stället för i huvudlexikonet.

När jag har provat ett tilläggslexikon en tid och funnit att det verkar felfritt 
och användbart kan jag lägga in det i huvudlexikonet. Via "Lexikon till lista" 
gör jag då om det till en ordlista. "Insortering" skall bara lägga in det som inte 
redan finns i huvudlexikonet men om jag först vill se vad som är nytt i ordlistan 
kan jag köra "Nya listord" och skapa en lista som bara tar med det som inte 
redan finns i huvudlexikonet. Observera att jag måste då ta bort alla tilläggs-
lexikon annars utesluts även ord som finns i tilläggslexikonen. 

"Insortering" och "Nya listord" använder olika metoder för att sortera bort det 
som redan finns. "Insortering" arbetar med angiven insorteringslista och 
angivet lexikon utan att ta hänsyn till några tilläggslexikon. "Nya listord" slår 
upp med LexSup:s uppslagsprocedur i Lexikon1 inklusive tilläggslexikon och 
listar det som inte finns med i lexikonen. Om jag bara vill lägga in sådant som 
varken finns i huvudlexikon eller tilläggslexikon använder jag först "Nya listord" 
för att skapa en insorteringslista som omfattar det som varken finns i 
Lexikon1 eller tilläggslexikon. Den listan lägger jag så in med "Insortering".

Begreppet 'Finns redan' är inte helt entydigt. Är poster som skiljer sig åt genom 
olika antal mellanslag i början och/eller slutet lika? Är poster med olika 
radbrytning olika? När man skall formulera kriterier för 'lika' upptäcker man 
att det finns en mängd olikheter som vår hjärna automatiskt sållar bort men 
som är svåra att få med vid en maskinell jämförelse. Det är därför inte säkert 
att den skiljda hanteringen i "Insortering" och "Nya listord" alltid ger samma 
resutat.

Om jag har sven som Lexikon1 och en svensk text kan jag använda "Textkontroll" 
för att se vilka ord som inte finns med som uppslagsord i sven. Jag får då en lista 
över svenska ord som saknas som uppslagsord i sven. Varje ord står på en ny rad. 
Om jag kan få fram en likadan lista med översättningsförslag där alltså varje 
översättningsförslag står på ny rad kan jag åstadkomma en ordlista genom att 
lägga samman dessa listor. Det går att göra med "Listsammanläggning". Listorna 
läggs då samman rad för rad. Rad 5 i andra listan blir fortsättning på rad 5 i 
första listan.

Om jag har skapat ett svensk-engelskt tilläggslexikon för att provanvända det kan jag 
med hjälp av "Lexikonomvändning" även skapa ett engelsk-svenskt tilläggslexikon och 
provanvända det.

När det gäller "Addera lexikon" , "Lexikonskillnad" , "Inte i huvudlexikon" , "Nyord i Lexikon1" 
och "Rensa nyord" är det fråga om gamla programdelar som jag inte använt på länge. Så 
vitt jag kan se finns det inget behov av dessa. Det är bättre att gå via ordlistor. Jag funderar 
därför på att ta bort dessa delar.