Monadologi och sociologi 2 – datastrukturer

I förra posten diskuterade jag några mera generella drag som karaktäriserar monader. Kort och gott monadens ontologi. Men hur denna sedan ska göras till föremål för analys är delvis en fråga om vilka datastrukturer som är möjliga att använda, utan att för den sakens skull tumma på den grundläggande idén om att delarna är större än alla helheten och att varje monad definieras av andra monader snarare än av inneboende egenskaper eller överindividuella totaliteter.

I den här posten tänkte jag pröva några strukturer och se först och främst om de håller rent filosofiskt innan jag framöver tänkte konkretisera dem alltmer mot det empiriska. All kod finns i denna Github-gist (ska fixa ett ordentligt repo framöver).

Datastruktur A: lista av monader

Den allra enklaste datastrukturen för den kvalikvantitativa analysen är ”listan”, vilket innebär att en monad är lika med alla andra monader som ingår i samma nätverk. En pseudoformel skulle se ut så här, om vi låter m står för ”monad”:

m = m + m + m...

Vilket i praktiken får ett ”socialt” nätverk att se ut så här:

Bob = Alice, Eve, Lisa...

Denna listdatastruktur har flera fördelar. Den gör ingen skillnad på förhand gällande vad som blir en del av nätverket. Allt som på något sätt relaterar till monaden går att lägga till i listan. Den enda begränsningen är att länken mellan två monader måste vara helt och hållet reell (dock inte nödvändigtvis ”materiell”, det skulle vara alldeles för snävt). Ett annat sätt att uttrycka detta är med begreppet ”aktualism”, alltså att en länk mellan två entiteter endast finns så som realiserad och direkt eller medierad. När jag trycker på mitt tangentbord aktualiseras en relation mellan mig och elektroniken under plasten och mjukvaran i arbetsminnet. En sådan koppling skapar skillnad i världen och är performativ. På samma sätt kan man förhålla sig till icke-materiella entiteter. Förvisso medierar flera lager av hårdvara och mjukvara relationen mellan ”jag” och kiselatomerna i processorn, men varje koppling mellan dessa lager är möjlig tack vare att de delar gränssnitt med varandra, på samma sätt som att det svenska språket sätter en standard som det gör det möjligt för dig att läsa denna blogg, trots att du inte känner mina fingrar när de vandrar över tangentbordet.

Men relationer måste inte vara materiella och tekniska. Om jag till exempel vill räkna ut medelhastigheten på tåget som jag färdas med behöver jag använda mig av abstraktioner av typen ”tid” och ”sträcka” som i sin tur faller tillbaka på konstruerade mått såsom timmar och kilometer. Oavsett vilket är relationerna aktuella eftersom dessa figurativa entiteter – tid, sträcka, hastighet osv. – kan utbyta olika former av data eller innehåll med varandra.

Vad som däremot inte fungerar i ”listan som datastruktur” är passiva och latenta relationer. Jag kan förvisso säga att min dator är relaterad till ”kapitalismen”, att nyheterna jag läser i tidningen uttrycker ”ideologin” eller att anledningen till att oljepriset är lågt är på grund av ”nyliberalismen”. Men dessa relationer är latenta och kräver ett mått av interpretation för att begripas. Dett finns ingen direktkoppling mellan min dator och ”kapitalismen”. För att hitta en sådan koppling kan vi inte leta efter en magisk ordning eller ett system som spänner som ett paraply över världen. Istället måste vi leta efter mycker mera konkreta relationer, exempelvis:

Dator = konsumentpris, fabriker, aktiekurser, handelsavtal, råvarupriser, transportrutter, löner...

Dessa nätverk är väldigt långa och snåriga när det kommer till en komplex konsumentprodukt. Priset på kisel, nickel eller litium kan påverkas av inflödet av kalashnikovs till en region med politisk instabilitet och min dator kan då bli dyrare. Men genom att hela tiden lägga till data till listan kan vi komma närmare en mycket rikare bild av vad som får datorn att existera än att säga att ”det är kapitalismen som har tillverkat den”. Nej, det är arbetare, ingenjörer, fabriker, gruvor, containerfartyg, designers och marknadsförare som har tillverkat den.

Jag tror att de passiva och latenta begreppen måste ut ur sociologin eftersom de inte förklarar något utöver sig själva. De fungerar däremot bra för att tolka texter och för att göra konst begriplig. Men för att förklara existens kommer man inte långt med dessa begrepp. Åter till realism.

Datastruktur B: Kvantifiering?

Kan då dessa listor ges kvantitativa värden? Låt säga att Bob är ”mera” vän med Alice än med Lisa. Kanske har de känt varandra en längre tid (ett extensivit mått) eller så är de ”närmare” vänner (ett intensivt mått). Vi skulle i första fallet få:

Bob = Alice: 10år, Eve: 2år, Lisa: 1år

och i det andra fallet skulle vi behöva konstruera en skala som man mäter ”vänskapsintensitet” med (kanske har någon socialpsykolog koll på detta). Men vi kan nöja oss för tillfället med antalet år som en indikator på vänskap.

Egentligen är denna datastruktur ganska oproblematiskt rent filosofiskt. Vi kan hitta på många olika numeriska mått på relationer. Hur många retweets fick min tweet, hur många citeringar har min artikel fått, hur många likes fick bilden jag lade upp på facebook, hur många sidvisningar har min annons på Blocket fått, hur många studenter kom på min föreläsning, hur många kronor i dricks fick restaurangpersonalen?

Så länge dessa mått så att säga är ”naturliga”, alltså, de går att empiriskt hitta i anslutning till monaden, är de förvisso komplicerade, men de är samtidigt också ”funna”. De är komplicerade i meningen att antalet citeringar inte säger något omedelbart om kvaliteten på en vetenskaplig artikel (däremot är det ofta en indikator), och antalet år som jag har känt någon säger inte så mycket om hur ”nära vi är vänner”.

Alltså öppnar sig en frestelse i denna monadologiska ontologi. Frestelsen att tillskriva monaderna identiteter. Jag har inte bestämt mig för om det är en bra eller dålig idé, utan är öppen för både för- och nackdelar, men lutar mot att det inte håller filosofiskt.

Datastruktur C: Monader och attribut

Låt säga att vi skulle vilja tillskriva monaderna ”kategorier” eller ”attribut”. Vi vet ju ganska väl vilka de primära relationerna i våra liv är. Jag skiljer intuitivt på min chef på arbetsplatsen, min vän och min hyresvärd. Våra sociala relationer har kvalitéer som vi ofta förstärker och ibland överträder. Blir man vän med sin chef kan man få problem, blir man ovän med sin hyresvärd kan man hamna på gatan. Våra relationers kvalitéer är alltså helt fundamentala för vårt vardagliga varande i världen, så att vi kan skapa den ordning som krävs för att gå vidare med våra liv. Men, fungerar de filosofiskt? Går de att använda empiriskt?

Låt säga att vi skapar följande datastruktur:

Bob = Alice: chef, Eve: vän, Lisa: hyresvärd

Ur Bobs perspektiv kan detta vara helt sant. Men helt plötsligt blir definitionerna av de entiteter som Bob står i relation till bara sanna ur Bobs monadologiska perspektiv! Alice är kanske chef över trettio anställda, men hennes chefskap uttömmer inte hennes monadologiska identitet till fullo (då behövs hela nätverket). Hon har även vänner, familj, bekanta osv. vilket återigen gör oss påminda om att alla dessa delar är mycket större än helheterna! Eve är lärare till tjugo elever, Lisa är fotbolstränare till ett helt lag. Om vi går från listan som ursprunglig datastruktur har vi nu hamnat i ett dilemma. Vi kan bara skapa lokal empiri, och varje attribut eller kategori som vi tillskriver entiterna kommer att moduleras av hur vi fortsätter att utvidga nätverket. Om vi lägger till en till modad i spelet får vi genast problem. Låt säga att vi lägger till Lisa:

Nu blir nätverket helt plötsligt konstigt. Bob är hyresgäst i förhållande till Lisa som är hyresvärd i förhållande till Bob. Men dessa identiteter stämmer inte i relation till John, Jane, Alice eller Eve. Lisa och Bob kan inte reduceras till att vara hyresgäster och hyresvärdar!

Felet är att idén om attribut och kategorier är ostensiva definitioner och därför inte passar in i en performativ och aktualistisk ontologi. Att tillskriva identitet fungerar inte ens i hyfsat slutna tekniska system. Kugghjul, spikar, borrmaskiner och batterier kan komponeras på ett oändligt antal vis. Ägg, mjöl, smör och jäst kan skapa massor av bakverk. Malt, humle och jäst, en hel dryckeskultur! Reduktionism är en fälla!

Entiteter kan alltså bara ha lokala identiteter i denna datastruktur. För att få ihop det hela filosofiskt måste vi istället förskjuta kvaliteerna till de performativa relationerna.

Grafteoretiskt betyder det att vi ger ”labels” till ”edges”, ungefär så här:

På så sätt kan vi rädda den kvalitativa bestämningen utan att inkräkta på monadernas identiteter, som vi låter även i fortsättningen vara öppna och performativa. Lisa och Bobs relation som hyresvärd och hyresgäst uppstår i mötet mellan dem, på samma sätt som Jane är tandläkare för Lisa, och Lisa är patient för Jane. Så länge vi fäster ett attribut på en performativ relation kommer vi undan reduktionism, eftersom varje monad kan ha oändligt många relationer.

Men frågan som sedan följer är hur länge en sådan relation är giltig? På ett sätt är det enkelt att svara på en sådan fråga. Bob är kanske hyresgäst hos Lisa i tio år, vilket är enkelt att mäta. Men, låt säga att han under de tio åren också blir vän med Lisa. Kan man vara både vän och hyresgäst? Rent datastrukturmässigt är det inga problem egentligen att tillverka ”multigrafer” där man kan ha oändligt många relationer (edges) mellan noder. Men, kvalitativt hamnar vi i vissa sociala paradoxer. Man kan vara vän med sin chef och sin hyresvärd, men relationerna modulerar varandra, så att hyresvärden dessutom måste ta in i beräkningarna att hyresgästen är hens vän och att vänskapen riskerar att korrumperas på grund av att det finns en maktrelation mellan värd och gäst.

Men egentligen kan vi tänka oss att det finns en hel lista av attribut till varje relation mellan två monader (nu börjar det låta lite tekniskt…). Men jag kan ju i princip vara både vän, klasskamrat, kund och medpassagerare på bussen med min tandläkare. Förvisso är kanske bara en eller ett par av relationerna empiriskt relevanta, men det hela måste gå ihop analytiskt också. Om varje monad har oändligt många andra monader, kan relationen till dessa monader också vara oändliga? Sociologiskt sett är allt ändligt, i meningen att det är inte allt som är relevant, så begränsningen i praktiken kommer ändå att finnas.

 

 

Monadologi och sociologi 1

Jag funderar ibland på hur man skulle kunna konkretisera det resonemang om ”monader” i relation till sociologi som Latour et al. presenterar i artikeln ‘The whole is always smaller than its parts’ – a digital test of Gabriel Tardes’ monads från 2012, en artikel som jag har skrivit om tidigare här på bloggen.

I denna post tänkte jag börja fundera på ett problem som inte tas upp i just den artikeln, men som är temat för Latours An Inquiry into Modes of Existence, nämligen frågan om det finns kvalitativa skillnader mellan olika typer av monader/aktörsnätverk, exempelvis mellan vetenskapliga, religiösa, juridiska eller teknologiska nätverk. Men först till definitionen av en monad ur artikeln från 2012:

Such a radical conclusion is made at least plausible by the new
datasets that allow entities to be individualized by the never ending list of particulars that make them up. Such is what is meant by a monad, a point of view, or, more exactly, a type of navigation that composes an entity through other entities and, by doing so, particularizes all of them successively – ‘all of
them’ being an open ended list the size and precision of which always depend on more inquiries and never from the sudden irruption of a superior level accessible through a brutal shift in methods. (Latour et al. 2012: 600)

Den teoretiska konsekvensen av detta är följande: en entitet individualiseras genom en kollektivitet, alltså, en entitet definieras och får sin karaktär av alla specifika entiteter som den är sammankopplad med. Jag är ”Christopher” på grund av mina miljoner bakterier i magen, mina vänner, mina skolbetyg och skorna jag har på mig (plus tusen andra saker). Jag är, eller rättare sagt erfarenheten av att vara jag är den ”utsiktspunkt” som skapas av alla dessa kopplingar och associationer. Mina magbakterier kan hamna i obalans och jag får ont i magen, mina vänner kan överge mig och mina betyg kan rasa. Termen ”utsiktspunkt” är dock lite missvisande. Jag ser knappast mina magbakterier, men de är ändå helt essentiella för min fortsatta existens.

För att inte få informationsöverflöd behöver jag sällan tänka på bakterierna i min mage, skorna jag bär eller om mina vänner tycker om mig eller inte. Min hjärna har (som tur är) ett begränsat ”arbetsminne” och glömmer snabbt saker som är onödiga att tänka på. Men det gör inte nödvändigtvis de system som har till uppgift att ordna mitt liv. Facebook håller reda på vilka vänner jag gillar (”likear”) med sekundprecision och någonstans i en databas finns mina betyg sparade oavsett om jag försöker glömma dem eller inte. Detta är vad sociologer ibland kallar ”systemvärlden” som inte är helt och hållet tillgänglig för min begränsade perception och minne.

Nog om detta. Poängen är bara att monaderna är nästan oändliga eftersom vi kan fylla på en längre och längre lista av entiteter som är kopplade till mig, mina skor, mina magbakterier eller vad det nu är frågan om. Denna kvalitativa metod har så att säga ingen kvantitativ gräns, men inte heller något ”stoppord” för att sluta addera relationer.

En sak fattas: Denna inledande approach gör ingen essentiell skillnad mellan ett par skor, en bakterie eller en vän. Vid en första anblick är det inget problem så länge vi bara använder oss av den övergripande principen om att mångfalden definierar det enskilda. Det är ju ändå så som en monad fungerar.

Men för att demonstrera var någonstans en distinkt skillnad blir nödvändig tänkte jag tillverka några halvrealistiska exempel, kraftigt förenklade för översiktens skull.

All kod som använts finns i denna Python3/Jupyter-notebook.

Låt säga att vi har följande empirisk data om ”Bob” och ”Lisa”, här i det enkla dataformatet json:

{
"Bob": [
"Alice",
"MIT",
"Lenovo"
],
"Lisa": [
"Alice",
"Harvard",
"Macbook"
]
}

 

Bob känner Alice, han går på MIT och han har en Lenovodator. Lisa känner också Alice men går på Harvard och har en Macbook. Vi kan säga att vi har två monader, dvs. två utsiktspunkter och två listor med entiteter som på olika sätt är kopplade till Bob och Lisa. Istället för datastrukturen ovan kan man rita ett nätverk.

Bob och Lisa känner inte varandra men de har en gemensam bekant, Alice, som i någon mening kan mediera en social relation, exempelvis genom skvaller eller småprat. Bob och Lisa har hundratals andra sociala relationer som kan hjälpa till att definiera (individuera) dem mera precist. De har föräldrar, släkt, partners, kolleger osv. som i sin tur kan förnimma ett litet ”utsnitt” av Lisa och Bob.

Så mycket för antropomorfism. Hade Bob och Lisa läst vid samma universitet hade istället den gemensamma nämnaren varit organisationen (ORG) universitetet. Hade de haft samma preferenser gällande datorhårdvara hade de delat en teknoorganisatorisk
(TEC/ORG) gemensam nämnare. Konventionell sociologi hade underkänt både universitetet och datortillverkaren som sociala relationer eftersom ”kontakten” (i meningen ”sladd”) upphör att vara en ”mellanmänsklig” relation. Detta är en intressant paradox eftersom den konventionella sociologin ändå gör anspråk på att kunna tala om ”MIT-studenter” eller ”Apple-användare” som populationer. Men det är ju precis denna abstraktion som är så bedräglig! Det finns inga människor som är predisponerade att studera vid MIT eller att använda Appledatorer, sådana ”identiteter” kan man bara få genom att bli en monad. Aggregatnivån förklarar inte den kvalitativa relationer, utan endast kvantitativa korrelationer (kanske finns det en korrelation mellan MIT-studenter och Appledatorer vid en population på N=1000, men en sådan korrelation kan bara försöka förklara på denna nivå, men den säger inte så mycket om varken Bob eller Lisa.

Så enkel är relationen mellan ontologi och ”kategori”. Alltså, även om det finns en statistiskt möjlig population av Harvardstudenter och Lenovoanvändare, så förklarar bara ett sådant aggregat utkomsten av en mängd sammanslagna associationskedjor, vilket leder till att detaljrikedomen försvinner.

Så hur går man då vidare in denna kvalitativa grafteori? Min poäng och min fråga i denna bloggpost är att det beror på vilket modus man väljer. Det första exemplet baseras på att man går från ”Bob” till ”Lenovo”. Alltså, man går från en människa till hens teknologiska protes (TEC).

Teknologisk mediering (som bara är ett av flera sätt att mediera något) har en fantastiskt komplexitetsreducerande förmåga, och det moderna samhället – ja, egentligen vilket samhälle som helst – måste ha denna förmåga att omvandla arbetskrävande och omsorgsfullt arbete till enkla val, kommandon och interaktioner.

När Bob interagerar med sin billigt inköpta ”dator” från kinesiska Lenovo skulle man kunna nöja sig med att säga att han ”använder sin dator”. Det är förvisso sant, men det är bara delvis sant eftersom en människa inte vanligtvis interagerar direkt med sin hemmadator. Istället sker det i flera steg. Vi tar ett utsnitt av nätverket ovan och förstorar det i riktning mot Bobs teknologiska association:

Låt oss börja med vad man brukar kalla för ”normalt användande”: Bob kan inte på ett direkt sätt interagera med ”totaliteten” av sin Lenovodator. Han kan inte ha relationer med alla miljoner transistorer och hundratals kondensatorer och litiumjoner samtidigt. Interaktionen mellan Bob och hans dator går i huvudsak via tangentbord, mus och skärm (och högtalare och webkameror…).

Dessa medierar i sin tur olika typer av signaler till datorns RAM-minne, hårddisk och processor, tolkat av ett operativsystem (ja, jag hoppar över ett tiotal steg i denna förekenkling). Varje översättning kan addera ytterligare noder i nätverket, och även om antalet teknologiska komponenter är ändligt, är det ändå i princip oöverskådligt
för en enda enskild ingenjör ju djupare ned i datorns arkitektur man kommer.

Men det som är så speciellt och så effektivt med denna specifikt teknologiska form av mediering är dess förmåga till ”blackboxing”, eller komplexitetsreducering. Utan att veta/bry sig om det interagerar mer eller mindre alla människor med teknologiska artefakter på detta sätt. Varje sekund anropas en Linuxkärna miljarder gånger när människor trycker på sina Androidlurars skärmar och världens totala RAM-minne fylls på så snabbt att det utskrivet på papper skulle ta oss till månen om man travade papprena ovanpå varandra (obs – detta är en gissning). Inte ens en ekologkisk tvål eller biodynamiskt
odlat havre tar oss närmare naturen eller bort från ”tekniken”. Om vi studerar de vad som gör de ekologiska bananernas existens möjlig på konsum finner vi bara teknik, från kniven i handen som skär bananklasen från trädet till jumbojeten som bränner flygfotogen över stilla havet.

Men låt säga att Bob är en duktig programmerare. I så fall är han inte utelämnad till att göra som användargränssnittet bestämmer. Han kan, med tillräckliga kunskaper, ta en ”genväg” och ändra på den drivrutin som bestämmer hur signalerna från tangentbordet ska omvandlas till tecken på skärmen. Även om den vardagliga teknologiska medieringen gör livet möjligt att leva utan att behöva begripa alla artefakter omkring oss, från strumporna vi tar på oss på morgonen till den djupa oljefärgen
vi målar en naturromantisk tavla med, kan den alltid kringskäras givet att vi vet hur man syr en strumpa eller blandar en färgkulör.

Teknologi i all sin ära. Det finns andra typer av monader som är minst lika omvälvande för den mänskliga existensen. En ännu mera intressant relation är den vetenskapliga. Låt säga att Lisa vill utforska hur ljus påverkas av timrummets krökning nära en stor massa. Hon behöver då mer än ett tangentbord, en mus och en skärm!

Här blir det lite lurigt eftersom teknovetenskaperna måste blanda in andra aktörer än de ”rent vetenskapliga” (vad det nu skulle vara) för att få något gjort överhuvudtaget. Det som ibland kallas för ”vetenskapssociologi” missar ofta hela poängen eftersom den konventionella sociologin bara letar efter människor. Men med människor får man väldigt lite gjort. Lisa måste istället dra nytta dels av teknologisk mediering (TEC, som Bob och hans dator) samtidigt som hon måste utsträcka sina tankar till olika tankeexperiment (REF + FIC), i det här fallet den generella relativitetsteorin, för att kunna förklara sina data, samtidigt som hon måste försvara sina observationer inför sina kolleger, samtidigt som hon måste övertyga den institution (ORG) som hon  arbetar inom att finansiera de kostsamma experimenten. När alla dessa faktorer, plus några till, faller på plats kan Lisa skapa referens (REF). En förenklad figur kan ritas som:

Skillnaden mellan Bobs och Lisas nätverk är att Bob kan, givet tillräckliga kunskaper, ta en genväg från sitt tangentbord till de maskininstruktioner som skickas mellan signalerna från tangentbordstryckningarna och vad som visas på skärmen. Teknologier är komplicerade, men de är inte omöjligt komplicerade när de väl har blivit uppfunna och tillverkade. Men för Lisa är situationen en annan, åtminstone om vi låtsas att vi har skruvat bak tiden till ca. 1920 (jo, jag vet, då hade inte Bob haft någon dator heller). Eftersom Lisa försöker hämta hem en observation av ljusets krökning, alltså något som händer oberoende av henne och hennes instrument, är situationen helt annorlunda. Lisa kan inte ta några  omvägar eller genvägar, ljusets krökning går inte att ”bygga om” eller konstrueras på ett annat sätt (”socialkonstruktivism” har alltid haft en mycket begränsad förklaringskraft).

Lisa och hennes astronomikolleger tillbringar förvisso stora delar av sina forskningsprojekt med att bygga teleskop. Men skillnaden mellan att bygga en bro och ett instrument är att brobyggaren inte behöver testa sina teorier mot den yttre gränsen för vårt vetande. Brobyggaren kan räkna med Newtons ekvationer, trots att gravitationen inte är någon ”kraft” och trots att de inte kan förutsäga ljusets bana nära en stjärna eller ett svart hål. Brobyggaren och Bob är båda konstruktivister, för deras uppfinningar är inte beroende av ny kunskap utanför de system som byggs och byggs om, lagas och optimeras. Så även om teknik och vetenskap står i en beroendeställning till varandra, fungerar de på olika sätt.

Men om vi tar en annan monad som kanske är lite mera vardaglig, till exempel en restaurang som vi kan kalla ”The Gentleman Loser”, ser vi lättare hur heterogena monaderna måste vara för att fungera.

 

Å ena sidan kräver restaurangen en organisation (ORG) där olika roller definieras, ofta genom upprättandet av anställningskontrakt och ägandebevis (som i sin tur kan kräva juridiska regler). Å andra sidan är restaurangen samtidigt ett teknologiskt system, från kassaapparaten till
kökets spisar, redskap och frysboxar. Vid strömavbrott – ingen middag. Men restaurangen kräver även kalkyler, planer och investeringar, något som chefen oroar sig för om siffrorna går med minus. Detta är  restaurangens kunskapssystem, men det är inte fråga om en vetenskap (REF) eftersom den endast hänvisar till restaurangen och dess förhållande till andra värdesystem (så kallade ”valuemeters”). Dagspriset på tonfisk baserar sig på en annan chefs kalkyler och hur mycket priset kan höjas
på en flaska vin beror på kundernas semesterbudgetar (även om dessa sällan görs i Excel).

Restaurangmonaden går inte att reducera till varken ett teknologiskt system, en organisationsform eller en ekonomisk kalkyl. Alla dessa tre aspekter är bara ”delar” av restaurangen. Men det vore också fel att säga att restaurangen ”som helhet” går att summera, ungefär som man räknar in får som varit ute på bete, eftersom restaurangen är helt beroende av en mängd exterioritetsrelationer. Flöden av gas och elektricitet, leveranser av kött, fisk, grönsaker, öl och vin, infrastrukturen av bussar som transporterar kunderna, den senaste mjukvaruupdateringen till Excel.. osv. Ingen av dessa livsuppehållande system tänker vi som ”The  Gentleman Loser”, ändå skulle det inte serveras en enda rätt utan dem.

Ibland sätter sig en statistiker på Statistiska centralbyrån ned och gör ett magiskt litet trick. Hen tar och adderar alla inrapporterade vinster och förluster, momssatser och ifyllda formulär från alla restauranger i nationen eller unionen. Därefter lägger han samman alla dessa siffror och får en siffra. ”Restaurangnäringen omsatte 2017 3.45 miljarder kronor, en ökning med fyra procentenheter” (påhittad siffra).

Det är inget fel med aggregerade kalkyler och mått. Men det luriga är att de ibland får oss att tro att det finns en ”ekonomi” som påverkas av lika generella naturlagar som de summor som statistikern på Statistiska centralbyrån räknat ut. Det finns givetvis korrelationer mellan lågkonjunkturer, finanskriser och inflationstillstånd och antalet restaurangbesök i en ”nation”, men dessa säger nästan ingenting om vad det innebär att vara en restaurang.

Existens är alltså inte ett epifenomen av olika korrelationer, utan ett sätt att vara i världen som ett gränssnitt mellan olika sätt att bli till.

Dataroaming, existentiell tid och fotonteleportering

Under min semester upptäckte jag till min förtjusning att min operatör har slopat roamingavgifter i flera EU-länder. Helt plötsligt var smarttelefonen inte längre den där jobbiga apparaten som i efterdyningarna av de europeiska teleoperatörernas metodologiska nationalism alltid lyckades ge mig en alldeles för hög räkning någon gång i augusti. Min operatör sade ”ring, surfa och smsa som vanligt”. Vanligheten flyttade in i semestern, som man vanligtvis tänker på som ett undantag.

När jag backpackade vid millennieskiftet lämnade jag såklart min tjocka dumtelefon med två timmars batteritid och monokrom enradsdisplay hemma. Det var både ohemult kostsamt att ringa och fungerade inte i en estetik av etnotistisk världsmusik, resande-som-livsvisdom och smutsiga hostel fyllda av europeer och amerikaner som alla pratade om samma saker. Att resa som backpacker handlade om att koppla bort för att uppleva något ”annorlunda”. Det är givetvis bara en klyscha men jag visste inte bättre när jag var 20.

Men när smarttelefonen nu fungerar ”som vanligt” trots att man inte är hemma så känns det inte riktigt som att man är lika långt borta. Borta är däremot de långa tågresorna (ersatta av lågprisflyg) och de veckolånga offlineexistenserna som endast var uppbrutna av halvtimmeslånga internetcafébesök när man snabbt loggade in på Hotmail och skickade ett livstecken hem till släkt och vänner. Dataroaming till ”hemmapris” är kanske sista spiken i kistan för internetcafét, som snart bara kommer att kunna hittas utanför EUs ”integrerade marknad”.

Smarttelefonen i min ficka har nu ersatt den ihopfällbara turistkartan som man får gratis på hotell och turistbyråer. Denna säkra indikator för att observera en ”turist” försvinner i ett helt normalt stirrande ned på en skärm. Den ångest man hade som backpacker att se ut som en vanlig turist har fått oväntad draghjälp av mobilen i handen.

Google och Facebook samlar varsamt på platsdatan genererad av telefonen och ber mig snällt att recensera varje plats jag besöker. Min lunch blir genast delad till mina vänner och det finns inte längre någon mening med att berätta anekdoter när jag kommer hem. Kanske lika bra det.

Min exakta semesterposition är en konsekvens av två gigantiska framsteg inom den teoretiska fysiken. Einsteins speciella relativitetsteori kan räkna ut och kompensera för att tiden går långsammare vid den höga hastighet som GPS-satelliterna färdas med, samtidigt som den generella relativitetsteorin kan kompensera för att tiden samtidigt går lite snabbare ute i rymden än på jorden eftersom timrummets krökning är mindre längre bort från jordens massa. Utan Einstein hade jag checkat in på fel restaurang och gått ännu mera vilse än jag redan gör när jag navigerar mig med ena ögat fäst på mobilskärmen.

Samtidigt som solen bombarderar våra kroppar med ultraviolett ljus på stranden, som våra kroppar syntetiserar till D-vitamin, bombarderar GPS-satelliterna oss med tid som våra telefoner räknar om till rum.

Köttsynthesizers och kiselkalkylatorer. En existens som i båda fallen är en konsekvens av ljusets konstanta hastighet i alla riktningar.

På min kiselräkneapparat med litiumjonbatterier och skärm av flytande kristall läser jag att kinesiska forskare har lyckats skicka upp en tvillingfoton från en satellit 1400 kilometer upp i luften till en station i de ockuperade tibetanska bergen (artikeln på ArXiv). På grund av att de båda fotonerna var kvantsammanflätade registrerades information om den ena fotonens tillstånd omedelbart av den andra fotonen. ”Omedelbart” är i dessa hastigheter ett svåruppmätt begrepp, men det som är ”spooky” (Einsteins ord) i detta sammanhang är att information om  kvantsammanflätade partiklar (teoretiskt) färdas snabbare än ljusets hastighet, även över långa avstånd, vilket i teorin skulle medföra en tidsresa bakåt i tiden. Detta har dock inte kunnat visas experimentellt, och kanske är det inte möjligt. Frågan är ännu inte löst.

Men oavsett vilket ligger den teoretiska och experimentella fysiken i våra existentiella skuggor och förändrar villkoren för vår futtiga ”psykologiska” tidsuppfattning, även om våra hjärnor inte har någon förmåga att uppfatta att tiden går långsammare på botten av en dal jämfört med toppen av ett berg (atomuren är våra proteser). Den psykologiska tiden förändras inte av fysikens lagar utan av de teknologiska konsekvenser som lagarna medför. GPS-chippet i min ficka, i kombination med Google Maps-appen, får mig att navigera och förhålla mig till gator, vägar och avstånd på ett annat sätt än turistkartan och armbandsuret.

Google säger att det är 14 minuter att gå och 4 minuter att ta en buss för att komma till min destination. Ändå går jag vilse.

Lurkund

Om man skriver en uppsats eller en hemtenta på universitet eller högskola körs ofta dokumentet man skickar in genom tjänsten Urkund. Exakt hur denna tjänst funkar rent tekniskt är förmodligen en affärshemlighet, men på ett ungefär så funkar den så att den helt enkelt matchar text (ord, meningar, stycken) mot en gigantisk databas av tidigare texter. Som ”lärare” får man sedan en rapport, och om systemet upptäcker likheter mellan den inskickade texten och databasen får man en varning om att det kan röra sig om plagiat. Systemet är smidigt och jag har vid ett par tillfällen upptäckt plagierande studenter, i något fall så illa att det ledde till avstängning.

Att plagiera texter är motsatsen till tänkande och bör motverkas framförallt på intellektuell grund. När det sedan kommer till forskare själva handlar det även om att rätt person ska få erkännande för sina ursprungliga idéer. Men det är ju egentligen självklarheter.

Men hur ser det då ut för forskare själva? Dels gällande plagiat av andra forskare, men även självplagiat. I en tid då akademin som institution i allt högre utsträckning belönar stora kvantiteter av publicerade texter kan man även föreställa sig att antalet självplagieringar, framförallt mellan exempelvis konferenspapper och artiklar, salamipublicerade artiklar och diverse andra texter blir allt vanligare. Av tidsbrist återanvänds texter om och om igen, och eftersom det publiceras så mycket som ingen läser riktigt noga så hoppas plagiatforskaren på att det hela passerar obemärkt.

Men det är ju bara en spekulation. Jag funderar på om det hela skulle kunna testas empiriskt! Allt man behöver är texterna och ett system som funkar ungefär som Urkund. Jag har därför börjat testa mig fram för att bygga ”Lurkund” (se kodskiss på Github). Via databaser som Swepub, Web of Science, Scopus mfl. kan man åtminstone få tag på abstracts till artiklar (för fulltexter är man begränsad till Open Accesstidskrifter, om man inte vill bryta mot en massa regler) som sedan kan köras genom Lurkund.

Men problemet jag har är att matchning av text är väldigt kostsamt (eller så gör jag fel, vilket är mycket tänkbart). Som man kan läsa i denna Python3/Jupyter-notebook använder jag mig av två strategier: tokenisering på meningsnivå (NLTK sent_tokenize) samt strängmatchning med Difflib. Denna kombination funkar på en handfull dokument, vilket är smidigt om man vill kolla sina egna manuskript mot varandra. Men det blir ohållbart om man skalar upp det hela. Först måste tokeniseraren separera texten i meningar (att matcha enskilda ord mot varandra är meningslöst) och sedan ställer jag in difflibs sequence_matcher på ett tröskelvärde som måste uppfyllas innan skriptet flaggar för en träff. Detta tröskelvärde är viktigt eftersom en plagierande författare enkelt kan byta ut ett par ord i varje mening och på så sätt undgå kontrollen.

Är det någon som har tips om bibliotek eller algortimer som gör detta mera effektivt? Kommentera gärna. Kravet är att man ska kunna upptäcka liknande men inte nödvändigtvis exakt lika stycken av text och att det ska vara görbart på lite större textkorpus. Går det exempelvis att göra med Elasticsearch/Apache Solr? Hur tror ni Urkund gör?

10 år

För nästan exakt tio år sedan skrev jag det första blogginlägget här på ”intensifier”. Namnet på denna blogg hade jag lånat från Michel Foucaults förord till den engelska utgåvan av Anti-Oedipus, i en passage där han skrev:

Use political practice as an intensifier of thought, and analysis as a multiplier of the forms and domains for the intervention of political action. (vii)

Namnet funkade bra då, för tio år sedan, eftersom jag till en början skrev i gränssnittet mellan ”teori” och ”aktivism”. Jag är inte så förtjust i tillbakablickar, annat än att jag då och då använder sökfunktionen för att hitta tillbaka till sakuppfgift eller referens som jag vet att jag antecknat, så egentligen har jag inget att säga om den saken.

Vad jag däremot ibland funderar på är om denna blogg har någon egentlig framtid. Ingen annan bloggar längre (värdefulla undantag finns såklart). Nästan ingen läser denna typ av bloggar (om de gör det är det på Facebook, vilket inte har något långsiktigt värde alls). Nästan ingen kommenterar.

Egentligen är det inget större fel på bloggen som medium. Men jag har de senaste åren börjat använda mig av andra medier för att tänka, diskutera, skriva, kritisera, bygga saker som är mycket bättre anpassade för dessa göranden.

Forskningsmässigt har jag istället vänt mig mot sextonhundratalsuppfinningen kollegiegranskade tidskrifter. En blogg har svårt att hitta läsare med specifik kompetens, som läser noga och som tillför konstruktiv kritik. Givetvis har detta stundtals funkat även på denna blogg. Men det bleknar i jämförelse med en riktigt bra peer review. Samma sak gäller för när en artikel man skrivit sedan blir citerad och vidare diskuterad. Ingen läser en blogg som man läser en artikel (eller ett bokkapitel eller liknande), dvs. tänker länge och sedan skriver noga.

När det sedan kommer till datorkod är bloggen ganska värdelös. Här är Git-baserade protokoll/plattformar att föredra. Dels når man då ut till rätt ”läsare”, alltså andra programmerare, och dels kan man diskutera kod som revisioner av olika versioner som man jämför med varandra. Läsandet och skrivandet av datorkod är en process som är iterativ snarare än textskrivandets diskursiva form.

Så kanske blir tio år en lagom avrundning på ”bloggandet” till förmån för andra uttrycksformer. Jag vet inte.

Öppna data 2 – Replikerbarhet av figurer om livstillfredsställelse baserade på data från Eurobarometer och SOM

Ett argument för öppen vetenskap är att replikerbarheten ökar. När data ligger ute så kan vem som helst med tillräckliga kunskaper kontrollera och återskapa de analyser som ligger till grund för forskningsresultaten.

Jag tänkte att det hela kunde prövas. Vissa talar nämligen om en replikationskris.

Häromdagen läste jag en intressant artikel av Brülde och Nilsson (2010) som innehåller följande figur:


I förra bloggposten skrev jag om hur man kan analysera data från SOM-institutets stora enkäter. Figuren ovan innehåller dock även data från Eurobarometern. Dessa data är öppet tillgängliga från EU-kommissionens hemsida. Jag skrev en liten Jupyter-anteckningsbok med Pythonkod som beskriver hur man kan analysera den lätt.

Det intressanta med figuren är att den visar på en ganska stor skillnad mellan Eurobarometerns besöksintervjuer och SOM-institutets postalenkäter, trots att man ställer samma fråga. Brülde och Nilsson skriver:

Att besöksintervjuer tenderar att generera mer positiva svar blir särskilt tydligt i en jämförelse av utfallet i SOM-undersökningen och Eurobarometern (EB) över tid (figur 1). Det ska emellertid noteras att även svarsskalan skiljer sig åt i dessa undersökningar; där SOM på den ”missnöjda sidan” använder sig av ’inte särskilt nöjd’ och ’inte alls nöjd’ har EB lite starkare formuleringar – ’ganska missnöjd’ och ’mycket missnöjd’ – något som rimligen också det bidrar till den genomgående mer nöjda svenska befolkningen i EB:s mätning. (s. 5)

Jag tog således resultaten från SOM och Eurobarometern, bakade ihop dem till en csv-fil och skrev några rader kod. Viktigt är att man bara tar de mätningar från Eurobarometern som är genomförda på hösten (samma tid som SOM går i fält). Så här blev min figur (har lagt till några extra år som bonus):

Det ser ju bra ut. Eller… vänta nu. Min figur har 39% mycket nöjda år 2000 medan Brülde och Nilsson bara har 35%. Det kan knappast vara ett avrundningsfel. Tillbaka till källdatan från Eurobarometern:

Det ser ut som att Brülde och Nillson har tagit data från mätningen den fjärde maj istället för den fjortonde november (men det kan likagärna vara jag som har blandat ihop korten).

Öppna data 1 – SuperSOM med Python och Pandas

I en ‘post factual’ demokrati tror vissa att öppen vetenskap kan ge människor förnuftet tillbaka. Om detta vet vi mycket lite, eftersom vi inte har så mycket fakta att gå på (vilket kan betraktas som lite ironiskt).

Men, något kan man ändå veta. För att öppen vetenskap ska bli användbar av både forskare och allmänhet (framförallt då öppna data) så måste den göras begripbar. När det kommer till kvantitativa data så underlättar det om man antingen har kunskap och licenspengar att köpa och lära sig Excel eller SPSS. Men, om man istället vill vara öppen hela vägen så är det mycket bättre att köra helt med open source. Och om man dessutom vill slå flera flugor i en smäll tar man och lär sig ett programmeringsspråk. Då kan man göra tusen andra saker än bara analysera data.

Ett bra programmeringsspråk för statistik är R eftersom det i standardutförande gör allt man behöver för att använda sig av de datastrukturer som är bra för att analysera statistisk data.

Själv använder jag Python. Det är ett mera generellt språk, men med biblioteket Pandas får man enkla färdiga datastrukturer som är väldigt lätta att använda.

I denna lilla anteckning tänkte jag lägga ut lite kodsnuttar för att analysera SOM-institutets långa tidsserie 1986-2014, även kallad ”SuperSOM”, med Python/Pandas. Det är en guldgruva för samhällsvetare och det är svårt att hitta enkätdata med högre kvalitet i Europa. Dock innehåller denna datamängd mer än 93 tusen enkätsvar, så man får ha lite tålamod och RAM-minne till hands.

SuperSOM1 är öppen data, men den är inte superöppen. Man måste beställa den från Svensk Nationell Datatjänst och tillgängligheten bestäms av ”primärforskaren”. Så man måste ange vad man ska ha datamängden till och sedan får man en nedladdningslänk. Man får inte sprida den vidare.

Tyvärr levererar inte SND i csv-format utan bara i statistikprogramformat. Så jag beställde Excel-format (som smidigt kan konverteras till csv, se nedan).

Först konvertering från Excel till csv med två enkla rader:

import pandas as pd
df = pd.read_excel('data/SND 0905-004 Super-Riks-SOM 1986-2014.xlsx') # öppna Excelfil
df.to_csv("SuperSOM1986-2014.csv", sep='\t', encoding='utf-8') # skriv till csv-fil

 

Observera att det kan ta lite tid att konvertera. Excel-formatet är lite långsamt av sig. Men när det är klart kan man läsa in csv-filen på några sekunder (tar ca. 2 Gb i minne, så bör funka på vanlig dator).

df = pd.read_csv('data/SuperSOM1986-2014.csv', sep='\t', encoding='utf-8')

Nu är hela SuperSOM inläst som en ”dataframe” och allokerad som variabeln df. För att kolla att all data är med i leken kan vi göra en enkel graf år för år med det lättanvända biblioteket Seaborn.

import seaborn as sns
years = sns.factorplot('year', data=df, kind='count', size=8, aspect=2)
years.set_xticklabels(rotation=30)

Japp, SOM-enkäten blir mycket större med åren. Däremot minskar svarsfrekvensen, något man får ha i bakhuvudet.

Därefter kan man ta fram kodboken man får med och sedan börja analysera datan. Som exempel tänker jag ta fråga md10 som frågar hur nöjd man är med livet (det man kallar för ”Life satisfaction” i internationell forskning). Om man vill få ut data i procent för varje år i en tabell får man göra lite handpåläggning (tar gärna emot tips på hur man kan göra detta med mindre kod).

Så här gjorde jag (med lite hjälp av biblioteket tabulate)

from tabulate import tabulate

def lstimeseries():
    tsresults = []
    for y in range(1996, 2015):
        year = y
        md10table = df['md10'].loc[df['year'] == year]
        #md10table = df['md10']
        md10total = 0
        mycketnojd = 0
        ganskanojd = 0
        intesarskiltnojd = 0
        inteallsnojd = 0 
        nan = 0
        for t in md10table:
            if pd.isnull(t):
                nan += 1
            elif t == 98:
                nan += 1
            elif t == 99:
                nan += 1
            elif t == 96:
                nan += 1
            elif t == 1:
                mycketnojd += 1
                md10total += 1
            elif t == 2:
                ganskanojd += 1
                md10total += 1
            elif t == 3:
                intesarskiltnojd += 1
                md10total += 1
            elif t == 4:
                inteallsnojd += 1
                md10total += 1
        # Append the data to a lis of lists that can be tabulated:
        # add , 2 to the round method to get some decimals e.g. round((mycketnojd/md10total * 100), 2)
        tsresults.append([year, round((mycketnojd/md10total * 100)),   
                           round((ganskanojd/md10total * 100)),
                           round((intesarskiltnojd/md10total * 100)),
                           round((inteallsnojd/md10total * 100))])
    return(tsresults)

print("Nöjd med livet, nationella SOM-undersökningen\n")
# For html, add , tablefmt="html"
print(tabulate(lstimeseries(), headers=["Year", "Mycket nöjd", "Ganska nöjd", 
                                        "Inte särskilt nöjd", "Inte alls nöjd"])) 

Vilket ger:

Year Mycket nöjd Ganska nöjd Inte särskilt nöjd Inte alls nöjd
1996 30 64 6 0
1997 30 61 8 2
1998 28 63 8 1
1999 29 62 8 1
2000 31 61 7 1
2001 32 60 8 1
2002 29 62 8 1
2003 33 58 8 1
2004 33 59 7 1
2005 32 59 7 1
2006 35 57 7 1
2007 35 58 7 1
2008 34 58 7 2
2009 36 57 7 1
2010 36 57 6 1
2011 37 56 6 1
2012 35 58 6 1
2013 36 57 7 1
2014 37 56 6 1

För säkerhets skull kan man kolla att man har räknat rätt genom att kontrollera mot någon av alla de rapporter som SOM-institutet publicerat. Exempelvis en intressant studie av Brülde och Nilsson från 2010.

Det verkar alltså som att vi blir allt mer ”intensivt nöjda” med livet för varje år som går. Missnöjdheten är däremot stabilt låg.

Således har vi tagit fram lite data som vi kan visa för alla kommentatorer  ”känner” det ena och det andra i samtiden. Samtidigt har vi replikerat SOM-institutets mätningar, något som är viktigt för att öka den vetenskapliga kvaliteten. Ju fler ögon desto färre buggar.


  1. Göteborgs universitet, SOM-institutet. (2016). Super-Riks-SOM 1986-2014. Version 1.0. Svensk Nationell Datatjänst. http://dx.doi.org/10.5878/002826 

Mårdhunden, Judasdjuret och Människan

Racoondogskull

I helgen har jag testat att analysera biodiversitetsdata från Analysportalen från Svenska Lifewatch. Analysportalen innehåller enorma mängder artobservationer från bland annat det stora medborgarforskningsprojektet Artportalen.

Mårdhunden är en invasiv art. Den introducerades under perioden 1928-1950 i Ukraina för att jagas för pälsens skull. Människans fåfänga har ofta ekologiska konsekvenser och så även i detta fall. Mårdhunden etablerade sig och spred sig, från post-Sovjet hela vägen över Finland, till Sverige.

För att få bukt med spridningen av mårdhundarna använder man sig av ”Judasdjur”. I Jägareförbundets rapport 2015 kan man läsa följande mycket poetiska stycke:

Sändarmärkta mårdhundar (Judasdjur) letar dygnet runt efter  nya  mårdhundar  som de sedan  leder  oss  till.  Mårdhunden  är  monogam  och  dess  första  prioritet  förutom  egen  överlevnad är att finna en partner som den sedan aldrig lämnar förrän en av dem dör, då den  återigen  börjar leta en ny  partner.  Sterilisering av  sändardjuren  utförs  innan de släpps så att de inte ska kunna reproducera sig om vi skulle förlora dem genom sändarfel.Båda  könen  fungerar  lika  bra  som  Judasdjur.  Sändardjuren  fungerar  effektivare  ju  lägre  täthet det är eftersom det då är mycket svårt för oss människor att ens hitta ett spår. En annan  mårdhund  kommer  dock  att  förr  eller  senare  finna  sin  artfrände.  De  ägnar  all  sin  tid åt detta och vandrar över mycket stora områden (ibland långt över 100 000 hektar) i sitt  sökande.  I  figur  1  ser  vi  området  en  mårdhund  har  täckt  under  två  år  i  sitt  sökande  efter  en  partner,  området  är  större  än  de  flesta  län  i  landet.  När  de  finner  en  partner  avslutas  vandringen  och  paret  stannar  därefter  inom  ett  mycket  begränsat  område,  det  är också så vi ser att de har funnit en partner.

Framtiden ser inte ljus ut för mårdhunden.

screen-shot-2016-12-05-at-09-53-15

Mårdhundsobservationer per län, se källkod.

Men vad har vi för data på mårdhundens utbredning? Analysportalen är ett fantastiskt verktyg för öppna data, och man kan med enkla medel ladda hem alla observationer. Med lite helghackande lyckades jag få till lite kod som kan användas på lite olika sätt. All kod och data som behövs för att replikera figurerna finns här.

Med lite kod kan man skapa en karta över de inrapporterade observationerna (klicka för att få fram info om varje observation).

Se kartan i större format.

Men hur ska vi förstå mårdhunden och dess relation till territoriet, människan och ett processfilosofiskt tänkande?

Deleuze och Guattari’s berömda passage i Tusen platåer ger oss ett tankeuppslag:

Orkidén avterritorialiseras genom att skapa en bild, en kalkering av en geting; men getingen återterritorialiseras på denna bild. Getingen avterritorialiseras emellertid, i det att den själv blir en del av orkidéns reproduktionsapparat; den återterritorialiserar orkidén genom att transportera pollen. Getingen och orkidén bildar ett rhizom just därför att de är heterogena. (s. 27)

Människans fåfänga skapade en bild av mårdhundens päls i relation till hur människans semiotiska signaler (pälskläder) territorialiserar ett socialt stratum (jag är rik, jag har ”stil”). Detta ledde till att fåfängans logik översattes en kapitalistisk utbyteslogik av de Sovjetiska(!) aktörerna som gjorde vad de kunde för att introducera mårdhunden i östra Europa och västra Asien. Det var främst i Baltikum som mårdhunden kunde återterritorialisera sig i de födorika skogarna. Men den skulle sakta men säkert börja vandra norrut genom Karelen, samtidigt som den avterritorialiserade de djupa skogarna och kastade om den ekologiska balansen. I mårdhundarnas magar skapade dvärgbandmaskar och parasiter kalkeringar av en mårdhund och gjorde denna plats till sin reproduktionsapparat. I detta moment skapade människan en ny bild av mårdhunden som en invasiv art. Man uppfann Judasdjuret, som med avsaknad av reproduktionsapparat (steriliserad) kunde röra sig över hundratals hektar av skog i jakt på en förvildad mårdhund.

Människan, Judasdjuret, mårdhunden och dvärgbandmasken bildar ett rhizom, vars utbredning är en ständig kamp om territorium.

Att kartlägga aktörsnätverk i dokument med Named-Entity Recognition

I förra veckan var jag på en workshop arrangerad av Swe-CLARIN som arrangerats för att sprida språkteknologiska metoder till andra discipliner och ämnen. Det var en mycket lyckad tillställning och jag fick många idéer till hur man kan använda lite mer avancerade metoder för att studera dokument genom maskinell fjärrläsning, som i sin tur kan göra så att man bättre navigerar fram till kvalitativt intressanta materialfragment.

Den metod som jag genast blev intresserad av är någ0t som kallas för Named Entity Recognition (NER). NER funkar på så sätt att man applicerar olika statistiska modeller (ibland avancerad maskininlärning även) på naturligt språk för att extrahera ”entiteter” ur text.

Det har funnits flera NER-tillämpningar för engelska, men för andra språk är det ju alltid svårare. Men när jag besökte en session om annoteringsverktyget Sparv fick jag höra talas om SweNER, en tillämpning som är utformad efter svenska.  Den exakta funktionaliteten är dokumenterad i Kokkinakis D., Niemi J., Hardwick S., Lindén K. and Borin L. (2014). HFST-SweNER. A New NER Resource for Swedish. Proceedings of the 9th edition of the Language Resources and Evaluation Conference (LREC). Reykjavik, Iceland och koden hittar man här.

Vad upptäcker då SweNER i en text? Mycket intressanta saker!

Det lättaste är att ge ett exempel. När jag skickar text till SweNER svarar den så här:

$ echo "Jag bor i Göteborg. Jag är vän med Lisa som arbetar på Socialstyrelsen och tillsammans med Sven ska jag på julafton åka till Nora." | hfst-swener 

Jag bor i <ENAMEX TYPE="LOC" SBT="PPL">Göteborg. Jag</ENAMEX> är vän med <ENAMEX TYPE="PRS" SBT="HUM">Lisa</ENAMEX> som arbetar på <ENAMEX TYPE="ORG" SBT="CRP">Socialstyrelsen</ENAMEX> och tillsammans med <ENAMEX TYPE="PRS" SBT="HUM">Sven</ENAMEX> ska jag <TIMEX TYPE="TME" SBT="DAT">på julafton</TIMEX> åka till <ENAMEX TYPE="LOC" SBT="PPL">Nora.</ENAMEX>

SweNER upptäcker alltså att:

  • Göteborg – LOC – en plats.
  • Lisa – PRS/HUM – en person, mänsklig.
  • Socialstyrelsen – ORG – en organisation.
  • Sven – PRS/HUM – en person, mänsklig.
  • Julafton – TME/DAT – Datum.
  • Nora – LOC – En plats (och inte i denna kontext ett namn på en person).

Vad kan man då göra med denna typ av metadata? Jo, man kan studera vad Gabriel Tarde kallade för monader och som nutida sociologi kallar för ”aktörsnätverk”. Utan att gå in på detaljer kan man säga att varje text består av ett antal aktörer, vissa är mänskliga, andra är organisationer, teknologier, platser, händelser osv., allt som har varit med och format något genom sin verkan kan man kalla för aktörer (eller aktanter, entiteter, monader, ju obskyrare begrepp man använder desto argare kritiker får man).

En aktör definieras av sitt nätverk, vilket ger upphov till ett perspektiv på andra nätverk. Ett nätverk, i sin tur, påverkas av sina aktörer. Om jag är vän med Lisa påverkas Lisa av mig och jag av henne. Om jag bor i Göteborg påverkas Göteborg (väldigt lite förvisso) och jag påverkas av Göteborg (till och med påverkas min småländska dialekt sakta men säkert). Jag definieras litegrann av Göteborg (men jag kan inte reduceras till ”göteborgare”) och Göteborg definieras ytterst lite av min närvaro i staden.

Med NER kan man alltså skapa en (förvisso partiell och ofullständig) lista av aktörer som ingår i ett nätverk. För att ge ett exempel kan vi ta en Statlig offentlig utredning eller två. En utredning är ju skriven av en kommitté, som ofta består av flera personer (PRS/HUM). Den beskriver ofta geografiska platser (LOC) och den inhämtar massvis med information av andra organisationer (ORG).

Hur kan man använda detta för att lättare navigera i stora textmängder? Låt mig ge ett exempel på två offentliga utredningar som jag inte har läst ett enda ord i (än): SOU 1989:73 – TV-politiken och SOU 1973:10 – Reklam. Det enda dessa har gemensamt vid första anblick var att jag sökte på ”television”.

Låt oss säga att jag nu skulle vara intresserad av TV-politik. Då kan jag visualisera dessa två utredningar baserat på deras aktörsnätverk (som vi kan se konturerna av genom resultatet av NER). Så här kan det se ut vid en första anblick.

1989_73

Hela visualiseringen kan man se som en pdf. Vad betyder detta? De lila noderna representerar ORGanisationer. TV3, Marknadsdomstolen, Regeringskansliet, Europarådet och Kabelnämnden har uppenbarligen med TV-politik att göra (för att ta reda på hur måste vi givetvis läsa texten). De gröna noderna är platser (LOC), exempel Vännäs och Göteborg. Expressen, Kvällsposten och TV-konventionen klassificeras som WRK, som står för ”Work&Art”, vilket består av texter, filmer, böcker, nyhetsmedier, skulpturer etc. Men vi hittar även några manliga HUMans, här Bengt, Lars och Bertil (jag borde kanske haft med efternamnen :)).

Vi kan alltså får en första glimt av vad en SOU innehåller för entiteter. Men det intressanta blir om man lägger flera SOUer bredvid varandra. Mellan SOU 1989:73 och SOU 1973:10 finns det nämligen några gemensamma aktörer. Vi intar ett ny monadiskt perspektiv:

mellanrum

Här hittar vi inga människor, utan platser (LOC) och organisationer (ORG). Televerket, Sveriges Radio, Kommunikationsdepartementet och Jordbruksdepartementet relaterar till utredningar om television och reklam. Det gör även Stockholm, Norden, USA och Danmark.

Här kan vi fortsätta att lägga till texter och dokument, aktörsnätverk är lite som fraktaler, de blir större och större ju mer man zoomar.

Tror ni att detta kan vara något som är intressant att exempelvis applicera på alla de 8000 utredningar som nu finns tillgängliga digitalt? Givetvis inte samtidig, det skulle bli helt oöverskådligt. Men man skulle kunna hälla in alla nätverksfiler i offentligautredningar.se och så kan användarna själva komponera sina aktörsnätverk i Gephi.

\

All kod och källdata finns på min Github-sida för den som vill tillämpa detta på helt andra texter (har endast testat på Linux för det är lite enklare).

Minnesanteckning Spridningskollen – Vilka operatörer har tvingats lämna ut uppgifter?

Minnesanteckning. Det har nog inte undgått någon att Spridningskollen ska börja skicka ut brev till människor vars IP-nummer trålats och identifierats som fildelande bittorrentnoder. Det känns som ett eko tillbaka till 2008 då man diskuterade piratjägarlagen IPRED. Vad som händer nu är konsekvenserna av detta, trots att många internetoperatörer har gjort motstånd mot lagens införande och praktik.

På Twitter diskuterades vilka operatörer som har tvingats (eller frivilligt) lämna ut uppgifter till Spridningskollen. Här kommer några screenshots från kundtjänsternas sociala-medierkonton där de svarar. Jag lägger dem bara här för arkivets skull (så man kan stämma av mot vilka, med vilken operatör, som faktiskt fått brev).

Om någon har kompletterade information, kommentera mer än gärna!

\\

Uppdatering: Jag kontaktade Telenors kundtjänst på Twitter och fin nummer på domarna som lett fram till att de tvingades lämna ut uppgifterna. Har lite annat att stå i för tillfället, men lägger ut dem här. Borde vara intressant läsning.


Stockholms tingsrätt:
Ärendenummer från domstolsbeslutet från 26 augusti:
Scanbox Entertainment./. Målnummer Ä8895-16
Crystalis Entertainment./. Målnummer Ä8785-16
Ärendenummer från tidigare fall, 17 december: Crystalis Entertainment./. Målnummer Ä14271-15
Ärendenummer från tidigare fall, 17 december, 16 juni 2015: Crystalis Entertainment./. Målnummer Ä4191-15

Hovrätten:
Detta domstolsbeslut överklagades till Hovrätten men fick avslag: Målnummer ÖÄ6116-15

\\

Uppdatering: På flashback har någon begärt ut två av domarna. Lägger kopia på pdferna för arkivets skull: Stockholms TR Å 8895-16 Slutligt beslut (ej särskilt uppsatt) 2016-08-26 och Stockholms TR Ä 8785-16 Slutligt beslut (ej särskilt uppsatt) 2016-08-26

\\

Telenor säger sig ha lämnat ut uppgifter till Spridningskollen:

telenor

Comhem svarar så här:

comhem

comhem2

Telia säger:

telia

Bredbandsbolaget verkar vara tydligast med sitt svar:

bredbandsbolaget

Uppdatering. Fick tips om någon som frågat Tele2. Tipstack och bra ställd fråga av Angelica på Facebook.

tele2