Как сохранить результат ner в json / database

import nltk from itertools import groupby def get_continuous_chunks(tagged_sent): continuous_chunk = [] current_chunk = [] for token, tag in tagged_sent: if tag != "O": current_chunk.append((token, tag)) else: if current_chunk: # if the current chunk is not empty continuous_chunk.append(current_chunk) current_chunk = [] # Flush the final current_chunk into the continuous_chunk, if any. if current_chunk: continuous_chunk.append(current_chunk) return continuous_chunk ne_tagged_sent = [('Rami', 'PERSON'), ('Eid', 'PERSON'), ('is', 'O'), ('studying', 'O'), ('at', 'O'), ('Stony', 'ORGANIZATION'), ('Brook', 'ORGANIZATION'), ('University', 'ORGANIZATION'), ('in', 'O'), ('NY', 'LOCATION')] named_entities = get_continuous_chunks(ne_tagged_sent) named_entities = get_continuous_chunks(ne_tagged_sent) named_entities_str = [" ".join([token for token, tag in ne]) for ne in named_entities] named_entities_str_tag = [(" ".join([token for token, tag in ne]), ne[0][1]) for ne in named_entities] def parser(n,string): for i in named_entities_str_tag[n]: if i==string: pass else: return i print named_entities_str_tag print 

Я получил этот вывод из приведенного выше кода:

(«ЧЕЛОВЕК», «Рами Ид»)
(«ОРГАНИЗАЦИЯ», «Университет Стоуни Брук»)
(«LOCATION», «NY»)
(«ЧЕЛОВЕК», «Гурурадж Багали»)
(«ОРГАНИЗАЦИЯ», «Университет Христа»)

Но я хочу, чтобы карта была такой, как ЧЕЛОВЕК С ОРГАНИЗАЦИЕЙ И МЕСТОПОЛОЖЕНИЕМ. Я хочу сохранить ее в формате json.

2 Solutions collect form web for “Как сохранить результат ner в json / database”

Не совсем ясно, что содержит список ne_tagged_sent (есть ЛИЦЕНЗИЯ для каждого ЧЕЛОВЕКА, ОРГАНИЗАЦИЯ?), Вы должны уточнить это, чтобы мы могли ответить на ваш вопрос.

Вы должны форматировать свои данные в качестве словаря, каждая запись соответствует человеку, например:

 import json data = { 'Rami Eid':{'job': 'engineer', 'location':'NY'}, 'GuruRaj Bagali':{'job': 'professor', 'location': 'NY'} } #Save it in a json file json.dump(data, open('path/to_your_file', 'w') 
Python - лучший язык программирования в мире.