私にはコーパスがあり、単語があります。コーパス内の単語の出現ごとに、その単語の前の k 単語と後の k 単語を含むリストを取得したいと考えています。私はこれをアルゴリズム的に問題なく実行していますが (以下を参照)、NLTK が私が見逃したニーズに対応する機能を提供しているかどうか疑問に思いました。
def sized_context(word_index, window_radius, corpus):
""" Returns a list containing the window_size amount of words to the left
and to the right of word_index, not including the word at word_index.
"""
max_length = len(corpus)
left_border = word_index - window_radius
left_border = 0 if word_index - window_radius < 0 else left_border
right_border = word_index + 1 + window_radius
right_border = max_length if right_border > max_length else right_border
return corpus[left_border:word_index] + corpus[word_index+1: right_border]