word_counting
본 포스팅은 word counting에 대한 내용입니다.
Word Counting?
Word Counting은 어떤 문장이 있을 때 공백을 기준으로 구분된 단어의 수를 세는 것을 말합니다[1][2]. NLP(Natural Language Processing, 자연어처리) 분야에서는 구분된 단어를 이용하여 다른 언어로 번역하는데에 가장 많이 사용하고 있습니다. 이외에도 법적 절차나 저널리즘 등 특정 단어 수 내에서 글을 작성하는 경우 단어 수 세기를 사용합니다. 기호의 유무, 숫자의 유무, 한/영 복합어 등은 세지않는 경우도 있기 때문에 단어 카운터마다 계산되는 갯수 차이가 있습니다.
예제 코드
하기 예제는 문장에서 한글과 영어 단어를 구분하여 단어의 개수를 알려주는 코드입니다[3].
import re
def count_korean_and_english_words(text):
# 한글 단어 추출을 위한 정규식
korean_regex = re.compile('[가-힣]+')
# 입력 문자열에서 단어 추출
words = text.split()
print(words)
# 한글 단어와 영어 단어 개수 초기화
korean_count = 0
english_count = 0
# 각 단어가 한글인지 영어인지 구분하여 개수 세기
for word in words:
if korean_regex.match(word):
korean_count += 1
else:
english_count += 1
# 한글 단어 개수와 영어 단어 개수 반환
return korean_count, english_count
text = '한글과 English가 섞여 있는 sentence입니다. 어떻게 word counting을 할 수 있을까요?'
korean_count, english_count = count_korean_and_english_words(text)
print(korean_count)
print(english_count)
참고문헌
[1] word count 정의1
[2] word count 정의2
[3] 텍스트 전처리 예제