Sto cercando di ottenere le frasi da una stringa che contiene una sottostringa data usando python.Trovare la frase circostante di un carattere/parola in una stringa
Ho accesso alla stringa (un abstract accademico) e un elenco di punti salienti con indici di inizio e fine. Per esempio:
{
abstract: "...long abstract here..."
highlights: [
{
concept: 'a word',
start: 1,
end: 10
}
{
concept: 'cancer',
start: 123,
end: 135
}
]
}
sto loop su ogni pezzo forte, la localizzazione è iniziare indice in astratto (alla fine non importa come ho solo bisogno di ottenere una posizione all'interno di una frase), e poi in qualche modo bisogno di Identificare la frase in cui si verifica l'indice.
Sono in grado di convertire l'abstract in frasi usando nltk.tonenize.sent_tokenize
, ma facendo ciò renderò la posizione dell'indice inutile.
Come devo risolvere questo problema? Suppongo che le regex siano un'opzione ma il tokenizer nltk sembra un modo così bello di farlo che sarebbe un peccato non usarlo .. O in qualche modo resettare l'indice di avvio trovando il numero di caratteri dal precedente punto/punto esclamativo/punto interrogativo?
Questo appare come JSON. – squiguy
Sì, sto manipolando i dati da un endpoint API. – Elise
Potrebbe essere costoso ma potresti passare attraverso le frasi e ricalcolare gli indici delle frasi dalla lunghezza, quindi cercare quell'indice – user1937198