The BERT tokenizer often splits words into multiple subword tokens starting with ##. When performing NER, you may want to glue these subparts back together to get the full word.
This pattern iterates through the pipeline results, checks if a token starts with ##, and appends it to the previous token's text.
text = 'Engelbert tar sin Rolls-Royce till Tele2 Arena för att titta på Djurgården IF ' +\\
'som spelar fotboll i VM klockan två på kvällen.'
nlp = pipeline('ner', model='KB/bert-base-swedish-cased-ner', tokenizer='KB/bert-base-swedish-cased-ner', ignore_labels=[])
l = []
t = nlp(text)
in_word = False
for i, token in enumerate(t):
if token['entity'] == 'O':
in_word = False
continue
if token['word'].startswith('##'):
# deal with (one level of) orphaned ##-tokens
if not in_word:
l += [ t[i-1] ]
l[-1]['entity'] = token['entity']
l[-1]['word'] += token['word'][2:]
else:
l += [ token ]
in_word = True
print(l)