pythonを使って指定された部分文字列を含む文字列から文を取得しようとしています。文字列内の文字/単語の周囲文を見つける
私は文字列(学術の要約)と、開始および終了インデックスを含むハイライトのリストにアクセスできます。たとえば:
{
abstract: "...long abstract here..."
highlights: [
{
concept: 'a word',
start: 1,
end: 10
}
{
concept: 'cancer',
start: 123,
end: 135
}
]
}
私は、それぞれのハイライトをループしています(私はちょうどセンテンス内の位置を取得する必要があるとして、最後は本当に重要ではありません)、それは抽象的で、インデックスを開始だ位置し、その後何とかする必要がインデックスが存在する文を特定します。
nltk.tonenize.sent_tokenize
を使用して要約をトークン化することができますが、これを行うことでインデックスの位置が無駄になります。
この問題を解決するにはどうすればよいですか?私はregexesはオプションだと思うが、nltkトークナイザは、それを使用することが恥ずましいだろうそれをやってのような良い方法と思われる..または何とか前の完全な停止以来の文字の数を見つけることによって開始インデックスをリセット/感嘆符/疑問符?
これは、JSONのように見えます。 – squiguy
はい、APIエンドポイントからデータを操作しています。 – Elise
高価かもしれませんが、文章を見て長さから文章のインデックスを再計算してから、その索引を検索してください – user1937198