시작하기무료로 시작하기

컨텍스트 윈도우 특성 데이터 만들기

이동 윈도우 기법은 컨텍스트 윈도우 특성 데이터를 사용하는 Machine Learning 알고리즘 모델에 유용해요.

워크스페이스에는 id, word, part, title 열을 가진 text 테이블이 있어요. 이 테이블에는 셜록 홈즈 책의 9, 10, 11, 12장이 들어 있어요. 단어는 이미 전처리되어 한 행에 한 단어씩 정리되어 있어요. 각 단어에는 id 열에 고유한 정수 인덱스가 제공돼요. id 값은 본문에서 더 일찍 나타나는 단어일수록 작고, 더 나중에 나타나는 단어일수록 커요.

12장에 대한 데이터셋의 처음 10개 행이 콘솔에 Table1로 출력되어 있어요. 원하는 결과의 처음 10개 행(12장(part 12)으로 제한)이 콘솔에 Table2로 출력되어 있어요. Table2에서 각 행의 "기준" 단어는 w3 열에 있어요. w1w2 열에는 기준 단어 바로 이전의 두 단어가, w4w5 열에는 기준 단어 바로 이후의 두 단어가 담겨 있어요.

첫 번째 행에서 w1w2null인 점에 주목하세요. 이는 w3(여기서는 "xii") 이전에 있는, part 12 범위의 단어가 없기 때문이에요.

동영상에서 다룬 내용을 잊으셨다면, 콘솔 오른쪽에 있는 슬라이드를 참고하셔도 좋아요.

이 연습은 강의의 일부입니다

Python에서 Spark SQL 입문

강의 보기

연습 안내

  • 각 행의 단어와 함께, 바로 이전 두 단어와 바로 이후 두 단어를 가져오세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Word for each row, previous two and subsequent two words
query = """
SELECT
part,
LAG(word, 2) OVER(PARTITION BY ____ ORDER BY ____) AS w1,
LAG(word, ____) OVER(____ BY part ____ BY id) AS w2,
word AS w3,
____(word, 1) OVER(____ BY part ____ BY id) AS w4,
LEAD(word, 2) OVER(____ BY part ____ BY id) AS w5
FROM text
"""
spark.sql(query).where("part = 12").show(10)
코드 편집 및 실행