Euromind
  • Javascript
    • Javascript

      Dansk evighedskalender

      7. december, 2020

      Javascript

      API til Statistikbanken

      21. september, 2019

      Javascript

      IntersectionObserver

      9. august, 2019

      Javascript

      Navngivne RegEx-grupper i ECMAScript 2018

      29. juli, 2019

      Javascript

      RegEx: Unicode og Look Backward i ECMAScript 2018

      24. juli, 2019

  • CSS/SCSS
    • CSS/SCSS

      Dansk evighedskalender

      7. december, 2020

      CSS/SCSS

      Variable fonte med dansk tegnsæt i open source

      11. august, 2019

      CSS/SCSS

      Progressbar for dokumentposition

      31. juli, 2019

      CSS/SCSS

      Media Query i 2019

      18. juli, 2019

      CSS/SCSS

      Danske Adressers Web API

      17. juli, 2019

  • C#
    • C#

      Authentication for IOS og Android med Firebase i…

      4. oktober, 2019

      C#

      Andersen, Grundvig, Kierkegaard og ML.NET – del 3

      5. september, 2019

      C#

      Hurtig eksport til Excel

      4. september, 2019

      C#

      Andersen, Grundtvig, Kierkegaard og ML.NET – del 2

      2. september, 2019

      C#

      Andersen, Grundvig, Kierkegaard og ML.NET – del 1

      11. august, 2019

  • Javascript
    • Javascript

      Dansk evighedskalender

      7. december, 2020

      Javascript

      API til Statistikbanken

      21. september, 2019

      Javascript

      IntersectionObserver

      9. august, 2019

      Javascript

      Navngivne RegEx-grupper i ECMAScript 2018

      29. juli, 2019

      Javascript

      RegEx: Unicode og Look Backward i ECMAScript 2018

      24. juli, 2019

  • CSS/SCSS
    • CSS/SCSS

      Dansk evighedskalender

      7. december, 2020

      CSS/SCSS

      Variable fonte med dansk tegnsæt i open source

      11. august, 2019

      CSS/SCSS

      Progressbar for dokumentposition

      31. juli, 2019

      CSS/SCSS

      Media Query i 2019

      18. juli, 2019

      CSS/SCSS

      Danske Adressers Web API

      17. juli, 2019

  • C#
    • C#

      Authentication for IOS og Android med Firebase i…

      4. oktober, 2019

      C#

      Andersen, Grundvig, Kierkegaard og ML.NET – del 3

      5. september, 2019

      C#

      Hurtig eksport til Excel

      4. september, 2019

      C#

      Andersen, Grundtvig, Kierkegaard og ML.NET – del 2

      2. september, 2019

      C#

      Andersen, Grundvig, Kierkegaard og ML.NET – del 1

      11. august, 2019

Euromind
C#

Andersen, Grundvig, Kierkegaard og ML.NET – del 3

af Per Lindsø Larsen 5. september, 2019
skrevet af Per Lindsø Larsen 5. september, 2019
Andersen, Grundvig, Kierkegaard og ML.NET – del 3

”En Litterær Politi-Forretning”

Afslutningsvis vil jeg lade ML.NET afgøre en gennem 150 år verserende uenighed om hvorvidt et par anonyme tidsskriftartikler er skrevet af Kierkegaard eller ej.   

I tidsskriftet Ny Portefeuille optrådte 12. febr. 1843 en artikel med den mundrette titel: Litterært Qvægsølv eller Forsøg i det høiere Vanvid, samt Lueida Intervalla og et par dage tidligere tre litterære breve trykt i henholdsvis Berlingske Tidende og avisen Fædrelandet.  

Kierkegaard fralagde sig ethvert kendskab til artiklerne: 

i Løbet af en fiorten Dage hører jeg mig udlagt som Forfatter af en Artikel i Ny Portefeuille , tvende Breve  i den Berlingske Tidende og et Brev i Fædrelandet.
Søren Kierlegaard i ikke trykt artikel til Berlingske Tidende

Men på det tidspunkt, hvor artiklerne blev skrevet,  var stort set alt, hvad Kierkegaard udgav, anonymt, og han fraskrev sig ved enhver lejlighed ethvert kendskab til skrifterne. Derfor kan udsagnet ikke uden videre tages for gode varer, og mange i samtiden fandt betydelige lighedspunkter med især bind I af Enten-Eller, som han i de samme uger udgav under pseudonym. Enten-Eller blev af mange i samtiden også – og altså med rette – tilskrevet  Kierkegaard.  

Et stærkt argument for at tillægge Kierkegaard som forfatter af i hvert fald en af de anonyme bladartikler kom fra forfatteren H.P. Holst, der i starten af 1840-erne var meget tæt på Kierkegaard. I et brev til H.P. Barfoed, redaktør af første udgaven af Kierkegaards Efterladte Skrifter, skriver han: At Artiklen ”Litterært Quægsølv” er af S. Kierkegaard, med hvem jeg i mine unge dage levede i et meget intimt Forhold, og for hvem jeg i bogstavelig forstand omskrev hans første Skrift om Andersen eller rettere oversatte det fra Latin til dansk, er utvivlsomt.”

I første og anden udgave af Kierkegaards Samlede Værker er de anonyme artikler da også medtaget, og først i nyere tid er der blandt Kierkegaard-forskere en mere udbredt vurdering af, at Kierkegaardnok alligevel nok ikke har skrevet dem.

Kan ML.NET  bidrage til en opklaring? Da vi – såfremt artiklernes forfatter er en anden end Kierkegaard – ikke kender den egentlige forfatter, bliver det et spil med ubekendt. I det følgende har jeg derfor adopteret ”Odd-Man-Out”-eksperiment-formen, som den er beskrevet i David Madigan et.al (2006): ”Author Identification on the Large Scale”. Sammen med de tidligere beskrevne tekster af Grundtvig, Andersen og Kierkegaard hives nogle supplerende – tilfældigt valgte –  tekster fra samtidige forfattere i Gutenberg-projektet ind i trænings-sættet:

Johan Ludvig Heiberg: Udvalgte Digtninger.
J.N. Madvig: Livserindringer,
Carit Etlar: Bjørneæt – Nationalhistorisk Roman

De seks forfatteres tekster bruges til træning af modellen. Vi kan nu få en score for, hvor sandsynligt det er, at det -af de seks forfattere – er Kierkegaard,  der har skrevet en konkret artikel. Denne score er i sig selv ikke interessant, da det – såfremt Kierkegaard ikke er forfatteren – med  stor sandsynlighed heller ikke er en af de andre fem.  Heldigvis findes der en halv snes andre artikler fra samme periode, som Kierkegaard med sikkerhed er forfatteren til. Scoren for disse kan derfor bruges som  baseline eller interval inden for hvilket scoren for artiklerne med ukendt forfatter må forventes at ligge, hvis Kierkegaard skal antages at være forfatteren.

Test-sættets artikler ser således ud:



Ord- og bogstav-N-Gram er anvendt uden brug af de klassiske stylometriske variabler. Alle ord i test-sættets artikler er tokenized og stopord fjernet. Der er igen anvendt klyngestørrelse på 300 ord, der tidligere blev fundet at give maksimal præcision.

I nedenstående figur ses modellens score for de sammenlagt 12 artikler, der her er listet i kronologisk orden. En artikel fra 1843 (”En lille Forklaring”) er udeladt, da den er for kort til at danne en enkelt hel tekstblok. De tre artikler med ukendt forfatter er markeret med lyseblå.

Alle ni kendte Kierkegaard-artikler har en score over 0.99 og indikerer, at det er over denne grænse, at artikler skrevet af Kierkegaard må forventes at ligge. Scoren for de tre undersøgte artikler er signifikant lavere med henholdsvis 0.9515, 0.975 og 0.9679.

Resultatets tydelighed er ganske overraskende og udtrykker med en til sikkerhed grænsende sandsynlighed, at Kierkegaard IKKE er forfatter til nogen af de tre artikler. Han talte altså her (for en gangs skyld) sandt.

Det er dog curieust med min lille Secretair Hr. Christensen. Jeg vedder dog paa, at det er ham, der paa forskjellig Maade ligger og smører i Bladene og i smaa Pjecer; thi det er ikke sjeldent jeg møder en Anklang af mine Ideer, ikke saaledes som jeg pleier at skrive dem, men mundtligt at henkaste dem. Og jeg der behandlede ham saa velvillig, betalte ham godt, converserede ham hele Timer, som jeg betalte ham for, blot forat det ikke skulde krænke og ydmyge ham, at hans Uformuenhed gjorde ham det nødvendigt at være Afskriver; jeg gjorde ham til Medindviet i det Hele, kastede et Mystifications-Slør over det Hele, gjorde ham paa enhver Maade Tiden saa behagelig som det var muligt. – Den er dog vist af ham den lille Artikel i Portefeuillen, der stod lige nogle Dage før Enten – Eller udkom. Det var dog ikke smukt af ham. Han kunde jo betroe sig til mig og sige, han havde Lyst til at være Forfatter; men hans Forfatterskab har ingen god Samvittighed. Han mærker nok selv, at jeg er lidt forandret, skjøndt jeg var lige høflig og velvillig mod ham. Derimod har jeg vendt ham af med en vis nysgjerrig Snusen om paa mit Værelse; man maa holde ham lidt fra Livet; jeg hader alle Eftertrykkere.
Søren Kierlegaard i Journalen

Afsluttende uvidenskabeligt efterskrift

Denne blog-serie blev ansporet af Microsoft’s kække bemærkning: “With ML.NET you can use your existing .NET skills to easily integrate ML into your .NET apps without any prior ML experience.”

Tilbage i den digitale tidsalders tidlige morgen var websider noget, som en snæver kreds af langhårede HTML-nørder sad og rodede med i tekst-editoren. I dag kan enhver – uden at kunne en linje kode – opstarte en fullblown database-driven website. Men det kommer med en pris. Så snart der opstår behov, der stikker af fra den fastlagte hovedvej, så brister illusionen. Det er lidt det samme, når man spiser løs af ML.NET uden særligt kendskab til ML.

Jeg vil ikke betænke mig på at bruge ML.NET i fremtiden til enkle løsninger, som spam-detektion, sentiments-analyse af kunde-reviews, kunde-segmentering, produktanbefalinger etc. Er der tale om mere komplekse opgaver, vil jeg ubetinget bruge en livline og ringe til en data-science ven. Det er udenfor alfarvej, at de afgørende detaljer og forskelle findes. Om ML.NET så overhovedet er kapabel til sådanne mere komplekse opgaver er en anden sag.

Open-Source projektet er i rivende udvikling og ML.NET er kommet i adskillige opdateringer siden denne blog-posts eksperimenter. Dokumentationen er blevet bedre, selv om den stadig halter og ind imellem kan forekomme mere indforstået end hjælpsom.

C#Machine LearningML.NET
0 Kommentarer
9
FacebookTwitterPinterestEmail
forrige post
Hurtig eksport til Excel
næste post
API til Statistikbanken

Relaterede indlæg

Authentication for IOS og Android med Firebase i...

4. oktober, 2019

Hurtig eksport til Excel

4. september, 2019

Andersen, Grundtvig, Kierkegaard og ML.NET – del 2

2. september, 2019

Andersen, Grundvig, Kierkegaard og ML.NET – del 1

11. august, 2019

Forbind Visual Studio til IOS devices på 10...

12. juli, 2019

Stylometri i C# – del 4

9. juli, 2019

Serialisering og deserialisering i C#

5. juli, 2019

Stylometri i C# – del 3

2. juli, 2019

Stylometri i C# – del 2

7. juni, 2019

Stylometri i C# – del 1

5. juni, 2019

Efterlad en kommentar Afbryd svar

Gem mit navn, email, og website i denne browser til senere kommentarer.

Seneste indlæg

  • Dansk evighedskalender

    7. december, 2020
  • Automatisk køreafstand i Excel

    17. august, 2020
  • Headless browser på 10 minutter

    25. juli, 2020

Kategorier

  • C#
  • CSS/SCSS
  • Excel
  • HTML
  • Javascript
  • Mobile
  • Webdesign
  • Xamarin

Om mig

Om mig

Per Lindsø Larsen

Freelance fullstack developer bo9sat i Aarhus.

Du kan hyre mig til korterevarende projekter eller konkrete opgaveløsninger.

Pæn rabat til non-profit organisationer og foreninger.

Når jeg ikke koder, deltager jeg løbende i diverse spændende forskningsprojekter om alt andet end kodning.

Keep in touch

Facebook Twitter Email Github

Tags

Adresser AMP AMP Story Android API Billedformater Billedoptimering Brand C# Codepen Cordova CPR Crome DevTools CSS Debug Ecmascript Excel Fonte Gmail Gulp HTML Ikoner IOS Javascript JsFiddle Machine Learning Mail Mediaquery ML.NET Mobile RegEx SCSS SMTP Stylometri Visual Studio Webdesign Xamarin

Nyhedsbrev

Timeld nyhedsbrev for info om nye blog-indlæg, tips m.v.

  • Facebook
  • Twitter
  • Email
  • Github

@2019 - Euromind.com - Code-To-Go. All Right Reserved.
lindsoe@gmail.com - mobil: 42797273


Tilbage til top
Euromind
  • Javascript
    • Javascript

      Dansk evighedskalender

      7. december, 2020

      Javascript

      API til Statistikbanken

      21. september, 2019

      Javascript

      IntersectionObserver

      9. august, 2019

      Javascript

      Navngivne RegEx-grupper i ECMAScript 2018

      29. juli, 2019

      Javascript

      RegEx: Unicode og Look Backward i ECMAScript 2018

      24. juli, 2019

  • CSS/SCSS
    • CSS/SCSS

      Dansk evighedskalender

      7. december, 2020

      CSS/SCSS

      Variable fonte med dansk tegnsæt i open source

      11. august, 2019

      CSS/SCSS

      Progressbar for dokumentposition

      31. juli, 2019

      CSS/SCSS

      Media Query i 2019

      18. juli, 2019

      CSS/SCSS

      Danske Adressers Web API

      17. juli, 2019

  • C#
    • C#

      Authentication for IOS og Android med Firebase i…

      4. oktober, 2019

      C#

      Andersen, Grundvig, Kierkegaard og ML.NET – del 3

      5. september, 2019

      C#

      Hurtig eksport til Excel

      4. september, 2019

      C#

      Andersen, Grundtvig, Kierkegaard og ML.NET – del 2

      2. september, 2019

      C#

      Andersen, Grundvig, Kierkegaard og ML.NET – del 1

      11. august, 2019

Populære indlæg

  • 1

    Stylometri i C# – del 2

    7. juni, 2019
  • 2

    Send email fra Javascript med Gmail API

    21. juni, 2019
  • 3

    Gmail, Yahoo og Outlook som SMTP-server

    18. april, 2019
  • 4

    Andersen, Grundvig, Kierkegaard og ML.NET – del 1

    11. august, 2019
  • 5

    Registrer Gmail API til brug i javascript

    27. juni, 2019
@2019 - Euromind.com - Code-To-Go. All Right Reserved.
lindsoe@gmail.com - mobil: 42797273

Læs ogsåx

Serialisering og deserialisering i C#

5. juli, 2019

Andersen, Grundvig, Kierkegaard og ML.NET – del 1

11. august, 2019

Forbind Visual Studio til IOS devices på 10 minutter

12. juli, 2019