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.