Att identifiera namn och platser i nyhetstexter

25 januari 2023

Varför ska man försöka identifiera namn och platser i nyhetstexter? Vad kan man använda det till?

För en massa år sedan så provade jag att identifiera namn i nyhetstexter och lagra dem som extra-data i samband med att nyhetstexten indexeras. Då hittade jag inte något färdigt bibliotek för detta, så jag försökte få till något bra genom att använda regular expressions. Det fungerade inte speciellt bra; men bättre än inget alls, tänkte jag. För någon månad sedan kom samma tanke upp igen och jag noterade att nu finns bibliotek för detta i Python, bl.a. SpaCy. Till SpaCy finns en färdig modell för svenska. Nu fungerar inte heller SpaCy med den svenska modellen perfekt, men mycket bättre än mina egna försök. Jag provade därför att använda SpaCy för att identifiera namn och platser i de insamlade nyhetstexterna. Det var enkelt programmerat, och vid en sökning som innehåller identifierade namn och platser så visas det nu i samband med sökresultatet för nyheten. Så långt allt väl, men vad ska jag egentligen ha detta till? Om jag vill veta vad som händer t.ex. på platsen Linköping så kan jag ju söka på Linköping på vanligt sätt, det spelar ju ingen roll om jag lagrat en identifierad plats separat i databasen, eller inte. Vill jag veta vila översvämningar det rapporterats om i Linköping så kan jag ju bara söka på orden Linköping och översvämningar. Så vad kan man använda de identifierade namnen och platserna till?

När man indexerar t.ex. platser och namn och lagrar separat så kan man göra så kallade "facets". Oklart vad "facets" heter på svenska - men det kan till exempel användas för att vid en sökning visa hur många artiklar som kommer från varje källa för en sökning. Om jag söker på "Linköping" så kan man visa att det finns 100 artiklar på Aftonbladet.se och 90 på Expressen.se, och så vidare. Om namn och platser är indexerade separat så kan man göra liknande för dessa. Det innebär att om jag t.ex söker på "översvämning" så kan man lista att för vilka platser det rapporterats om sådana, t.ex. att det finns 10 artiklar som nämner översvämning som också nämner Linköping, 8 som också nämner Norrköping, 20 som också nämner Stockholm, och så vidare. Att ta fram denna information utan att indexera platser separat skulle kräva massvis med sökningar, och också kräva att jag skapar en lista med alla de platser där översvämningar skulle kunna ha rapporterats om i förväg.

Ett sätt att använda detta skulle kunna vara att skapa nyhets-kartor med olika teman. Säg att man har en karta med temat översvämningar. Där kan man då visa upp alla orter det rapporteras om översvämningar och indikera hur mycket det skrivits om varje plats. Detta kan enkelt göras genom att göra en enda sökning på ordet översvämningar och dess synonymer, och få en lista med hur många nyhetsartiklar som publicerats som nämnt detta för alla identifierade platser.


Denna bloggpost har skrivits av Clas, 25 januari 2023. Permalänk.


Nyhetsfilter utvecklingsblog

Det här är utvecklingsbloggen för nyhetsfilter.se. Här skriver jag om lite allt möjligt, men det mesta har en eller annan koppling till utveckling av sajten nyhetsfilter.se.

Aktuella bloggposter

Kontakt

Tyvärr går det inte att kommentera direkt på bloggen, men det går bra att maila på clas@nic-sys.se eller skicka meddelande till @nicclas på Twitter.

RSS-feed för bloggen