3

問題の説明:たとえば、テキストウィンドウで、左に3語、右に3語の用語を確認することに興味があります。基本ケースは、w-3w-2w-1項w+1 w + 2 w+3の形式です。各用語の文脈語を記録できるスライディングウィンドウをテキスト上に実装したいと思います。したがって、すべての単語は一度用語として扱われますが、ウィンドウが移動するとコンテキスト単語などになります。ただし、用語が1行目の単語の場合、左側にコンテキスト単語はありません(t w + 1 w + 2 w + 3)、2番目の単語の場合、左側にコンテキスト単語が1つだけあり、以下同様です。したがって、考えられる各状況を個別に記述および指定せずに、この柔軟なスライディングウィンドウ(Pythonで)を実装するためのヒントに興味があります。

要点をまとめると:

入力例

["w1"、 "w2"、 "w3"、 "w4"、 "w5"、 "w6"、 "w7"、 "w8"、 "w9"、 "w10"]

出力

t1 w2 w3 w4

w1 t2 w3 w4 w5

w1 w2 t3 w4 w5 w6

w1 w2 w3 t4 w5 w6 w7

__ w2 w3 w4 t5 w6 w7 w8

____など。

私の現在の計画は、出力の行ごとに個別の条件でこれを実装することです。

4

1 に答える 1

7

単語のスライディングウィンドウが必要な場合はn、最大長の両端キューを使用しnてバッファを実装します。

これは、概念を説明する必要があります。

mystr = "StackOverflow"    
from collections import deque    
window = deque(maxlen=5)
for char in mystr:
    window.append(char)
    print ( ''.join(list(window)) )

出力:

S
St
Sta
Stac
Stack
tackO
ackOv
ckOve
kOver
Overf
verfl
erflo
rflow
于 2012-05-08T11:49:56.120 に答える