title: 단어 빈도 분석기 description: 텍스트 블록을 읽고 가장 일반적인 단어를 보고합니다.
단어 빈도 분석기
Mira 안녕하세요. 임무 로그에서 인사이트를 추출해야 하는데 수백 개가 있습니다. 텍스트 파일을 읽고 각 단어가 나타나는 횟수를 세고 상위 결과를 보여주는 것이 필요합니다. 모든 내용을 수동으로 읽지 않고 어떤 주제가 계속 나타나는지 알아내고 싶습니다.
빌드할 내용
텍스트를 입력하거나 읽을 파일명을 입력하세요: sample.txt
상위 10개 단어:
the 42
and 31
python 18
is 16
you 14
...필요한 것
- Strings - 텍스트를 단어로 분할, 구두점 제거, 소문자 변환
- Dictionaries - 각 단어가 나타나는 횟수 계산
- Lists - 상위 결과 정렬 및 슬라이싱
- Files and exceptions - 텍스트 파일에서 읽기
- Lambda, comprehensions, and zip - 리스트 컴프리헨션과 키와 함께
sorted()사용
힌트
계산하기 전에 정규화하세요. 계산을 시작하기 전에 모든 항목을 소문자로 변환하고 구두점을 제거하세요. 그렇지 않으면 "Python", "python", "Python," 이 모두 다른 단어로 계산됩니다.
딕셔너리로 계산하세요. 단어를 반복합니다. 단어가 이미 키인 경우 해당 개수를 증가시킵니다. 없으면 개수 1로 추가합니다. 기본값과 함께 .get()을 사용하면 깔끔합니다.
딕셔너리를 값으로 정렬하세요. sorted()는 key= 인수를 받습니다. 빈도로 정렬하기 위해 각 키의 값을 반환하는 람다를 전달하세요.
더 나아가기
핵심 분석이 작동하면:
- 불용어. "the", "and", "is" 같은 일반적인 단어를 무시합니다. 불용어 세트를 정의하고 포함된 모든 단어를 건너뜁니다.
- 구성 가능한 상위 N. 항상 10을 표시하는 대신 사용자가 표시할 결과 수를 지정하도록 합니다.
- 시각적 출력. 각 단어를 개수에 비례하는 반복된 문자로 만든 막대와 함께 인쇄합니다. 간단한 버전도 출력을 훨씬 더 읽기 쉽게 만듭니다.

