Semantisk klyfta
Det semantiska gapet kännetecknar skillnaden mellan två beskrivningar av ett objekt genom olika språkliga representationer, till exempel språk eller symboler. Enligt Andreas Hein kan det semantiska gapet definieras som "skillnaden i mening mellan konstruktioner som bildas inom olika representationssystem". Inom datavetenskap är begreppet relevant när vanliga mänskliga aktiviteter, observationer och uppgifter överförs till en beräkningsrepresentation.
Mer exakt betyder gapet skillnaden mellan tvetydig formulering av kontextuell kunskap i ett kraftfullt språk (t.ex. naturligt språk ) och dess sunda, reproducerbara och beräkningsmässiga representation i ett formellt språk (t.ex. programmeringsspråk ). Ett objekts semantik beror på det sammanhang som det betraktas inom. För praktisk tillämpning innebär detta att varje formell representation av verkliga uppgifter kräver översättning av den kontextuella expertkunskapen för en applikation (högnivå) till de elementära och reproducerbara operationerna hos en datormaskin (lågnivå). Eftersom naturligt språk tillåter uttryck av uppgifter som är omöjliga att beräkna på ett formellt språk, finns det inga sätt att automatisera denna översättning på ett allmänt sätt. Dessutom visar granskningen av språk inom Chomsky-hierarkin att det inte finns något formellt och följaktligen automatiserat sätt att översätta från ett språk till ett annat över en viss nivå av uttryckskraft.
Teoretisk bakgrund
Den ännu oprövade men allmänt accepterade Church-Turing-avhandlingen säger att en Turing-maskin och alla likvärdiga formella språk som lambdakalkylen utför och representerar alla formella operationer som de tillämpas av en datormänniska. Men valet av lämpliga operationer för den korrekta beräkningen i sig är inte formellt härledbart, dessutom beror det på beräkningsbarheten av det underliggande problemet. Uppgifter, såsom stoppproblemet , kan formuleras heltäckande i naturligt språk, men beräkningsrepresentationen kommer inte att avslutas eller ger inte ett användbart resultat, vilket bevisas av Rices teorem . Det allmänna uttrycket för begränsningar för regelbaserad deduktion genom Gödels ofullständighetsteorem indikerar att det semantiska gapet aldrig ska slutas helt. Dessa är allmänna uttalanden, med tanke på de generaliserade gränserna för beräkning på den högsta abstraktionsnivån där det semantiska gapet manifesterar sig. Det finns dock många delmängder av problem som kan översättas automatiskt, speciellt i de högre numrerade nivåerna i Chomsky-hierarkin.
Formella språk
Verkliga uppgifter formaliseras av programmeringsspråk, som exekveras på datorer baserade på von Neumann-arkitekturen . Eftersom programmeringsspråk endast är bekväma representationer av Turing-maskinen har vilket program som helst på en von Neumann-dator samma egenskaper och begränsningar som Turing-maskinen eller dess motsvarande representation. Följaktligen har varje programmeringsspråk som CPU-nivå maskinkod, assembler eller något högnivå programmeringsspråk samma uttryckskraft som den underliggande Turing-maskinen kan beräkna. Det finns inget semantiskt gap mellan dem eftersom ett program överförs från högnivåspråket till maskinkoden av ett program, t.ex. en kompilator som själv körs på en Turing-maskin utan någon användarinteraktion. Det semantiska gapet öppnar sig faktiskt mellan valet av regler och representationen av uppgiften.
Praktiska konsekvenser
Val av regler för formella representationer av verkliga tillämpningar motsvarar att skriva ett program. Att skriva program är oberoende av det faktiska programmeringsspråket och kräver i grunden översättning av användarens domänspecifika kunskap till de formella reglerna för en turingmaskin. Det är denna överföring från kontextuell kunskap till formell representation som inte kan automatiseras med hänsyn till beräkningens teoretiska begränsningar. Följaktligen kräver all kartläggning från verkliga applikationer till datorapplikationer en viss mängd teknisk bakgrundskunskap av användaren, där det semantiska gapet manifesterar sig.
Det är en grundläggande uppgift för mjukvaruteknik att överbrygga gapet mellan applikationsspecifik kunskap och tekniskt genomförbar formalisering. För detta ändamål måste domänspecifik (högnivå) kunskap överföras till en algoritm och dess parametrar (lågnivå). Detta kräver dialog mellan användare och utvecklare. Aim är alltid en mjukvara som tillåter användaren att representera sin kunskap som parametrar för en algoritm utan att känna till detaljerna i implementeringen, och att tolka resultatet av algoritmen utan hjälp av utvecklaren. För detta ändamål användargränssnitt nyckelrollen i mjukvarudesign, medan utvecklare stöds av ramverk som hjälper till att organisera integrationen av kontextuell information.
Exempel
Dokumenthämtning
Ett enkelt exempel kan formuleras som en serie av allt svårare naturliga språkfrågor för att lokalisera ett måldokument som kan eller kanske inte finns lokalt på ett känt datorsystem.
Exempel på frågor :
- 1) Leta upp vilken fil som helst i den kända katalogen "/usr/local/funny".
- 2) Leta reda på vilken fil som helst där ordet "rolig" förekommer i filnamnet.
- 3) Leta upp en textfil där ordet "rolig" eller delsträngen "humor" förekommer i texten.
- 4) Leta reda på valfri mp3 -fil där antingen "rolig", "komisk" eller "humor" förekommer i metadatan.
- 5) Leta reda på alla typer av filer som har med humor att göra.
- 6) Leta reda på en bild som sannolikt kommer att få min mormor att skratta.
Den progressiva svårigheten med dessa frågor representeras av den ökande graden av abstraktion från de typer och semantik som definierar systemarkitekturen (kataloger och filer på en känd dator) till de typer och semantik som upptar den vanliga mänskliga diskursens område (ämnen som " humor" och enheter som "min mormor"). Dessutom kompliceras denna olikhet mellan områden ytterligare av läckande abstraktioner , såsom är vanligt i fallet med fråga 4), där måldokumentet kan existera, men kanske inte kapslar in "metadata" på ett sätt som förväntas av användaren, och inte heller designer av frågebehandlingssystemet.
Bildanalys
Bildanalys är en typisk domän för vilken det krävs en hög grad av abstraktion från metoder på låg nivå, och där det semantiska gapet omedelbart påverkar användaren. Om bildinnehåll ska identifieras för att förstå innebörden av en bild, är den enda tillgängliga oberoende informationen lågnivåpixeldata. Textanteckningar beror alltid på annotatorns kunskap, uttrycksförmåga och specifika språk och är därför opålitliga. För att känna igen de visade scenerna från en bilds rådata måste algoritmerna för urval och manipulering av pixlar kombineras och parametriseras på ett adekvat sätt och slutligen kopplas till den naturliga beskrivningen. Även den enkla språkliga representationen av form eller färg som rund eller gul kräver helt andra matematiska formaliseringsmetoder, som varken är intuitiva eller unika och sunda.
System i lager
I många skiktade system uppstår vissa konflikter när begrepp på en hög abstraktionsnivå måste översättas till lägre, mer konkreta artefakter. Denna missmatchning kallas ofta för semantiskt gap .
Databaser
OODBMS- förespråkare (objektorienterat databashanteringssystem) hävdar ibland att dessa databaser hjälper till att minska det semantiska gapet mellan applikationsdomänen (miniworld) och de traditionella RDBMS-systemen. Men relationsförespråkare skulle påstå raka motsatsen, eftersom objektdatabaser per definition fixar data som registreras till en enda bindande abstraktion.