Счётчик частоты слов
Анализируйте текст и считайте, как часто встречается каждое слово, с ранжированием.
Счётчик частоты слов анализирует текст и показывает, как часто встречается каждое слово, от наиболее к наименее частому. Это мощный инструмент для писателей, редакторов, студентов и аналитиков данных, которым нужно понять распределение словарного запаса документа или выявить чрезмерно используемые слова.
Вставьте текст — инструмент разбивает его на отдельные слова, нормализует регистр («The», «the» и «THE» считаются одним словом) и отображает таблицу частот, отсортированную по количеству. Стоп-слова можно отфильтровать, чтобы сосредоточиться на значимых словах.
Анализ частоты слов имеет применение и за пределами письма: в лингвистике он лежит в основе показателей читаемости, в маркетинге раскрывает, какие термины чаще всего используют клиенты, а в SEO помогает определить естественную плотность ключевых слов в контенте.
Часто задаваемые вопросы
Реализация кода
from collections import Counter
import re
STOP_WORDS = {
"a", "an", "the", "and", "or", "but", "in", "on", "at", "to",
"for", "of", "with", "by", "from", "is", "are", "was", "were",
"it", "this", "that", "be", "as", "not", "i", "you", "he", "she",
}
def word_frequency(text: str, stop_words: bool = True, top_n: int = 10) -> list[tuple[str, int]]:
# Lowercase and extract words
words = re.findall(r"[a-z']+", text.lower())
if stop_words:
words = [w for w in words if w not in STOP_WORDS]
counter = Counter(words)
return counter.most_common(top_n)
text = """To be or not to be, that is the question.
Whether tis nobler in the mind to suffer
the slings and arrows of outrageous fortune."""
for word, count in word_frequency(text):
print(f"{word:<20} {count}")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.