Hướng dẫn is there word count in python? - có đếm từ trong python không?

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để đếm số lượng từ và tần số từ trong cả chuỗi và tệp văn bản. Có thể đếm các từ và tần số từ là một kỹ năng hữu ích. Ví dụ, biết cách làm điều này có thể quan trọng trong các thuật toán học máy phân loại văn bản.you’ll learn how to use Python to count the number of words and word frequencies in both a string and a text file. Being able to count words and word frequencies is a useful skill. For example, knowing how to do this can be important in text classification machine learning algorithms.

Đến cuối hướng dẫn này, bạn sẽ học được:

  • Cách đếm số lượng từ trong chuỗi
  • Cách đếm số lượng từ trong tệp văn bản
  • Cách tính tần số từ bằng cách sử dụng python

  • Đọc một tệp văn bản trong Python
  • Đếm số lượng từ trong python bằng cách sử dụng split ()
  • Đếm số lượng từ trong python bằng regex
  • Tính toán tần số từ trong Python
  • Sự kết luận
  • Tài nguyên bổ sung

Đọc một tệp văn bản trong Python

Đếm số lượng từ trong python bằng cách sử dụng split ()

Đếm số lượng từ trong python bằng regex

# Reading a Text File in Python
file_path = '/Users/datagy/Desktop/sample_text.txt'

with open(file_path) as file:
    text = file.read()

Tính toán tần số từ trong Python

Đếm số lượng từ trong python bằng cách sử dụng split ()

Đếm số lượng từ trong python bằng regex

# Understanding the split() function
str.split(
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
)

Tính toán tần số từ trong Python

# Splitting a string with .split()
text = 'Welcome to datagy! Here you will learn Python and data science.'
print(text.split())

# Returns: ['Welcome', 'to', 'datagy!', 'Here', 'you', 'will', 'learn', 'Python', 'and', 'data', 'science.']

Sự kết luận

# Counting words with .split()
text = 'Welcome to datagy! Here you will learn Python and data science.'
print(len(text.split()))

# Returns: 11

Đếm số lượng từ trong python bằng regex

Tính toán tần số từ trong Python

Sự kết luận

Tài nguyên bổ sung

Các quy trình để đếm các từ và tính toán các tần số từ được hiển thị bên dưới là giống nhau cho dù bạn đang xem xét một chuỗi hay toàn bộ tệp văn bản. Bởi vì điều này, phần này sẽ mô tả ngắn gọn cách đọc một tệp văn bản trong Python.

# Counting words with regular expressions
import re
text = 'Welcome to datagy! Here you will learn Python and data science.'
print(len(re.findall(r'\w+', text)))

# Returns: 11

Tính toán tần số từ trong Python

Sự kết luận

Tài nguyên bổ sung

Các quy trình để đếm các từ và tính toán các tần số từ được hiển thị bên dưới là giống nhau cho dù bạn đang xem xét một chuỗi hay toàn bộ tệp văn bản. Bởi vì điều này, phần này sẽ mô tả ngắn gọn cách đọc một tệp văn bản trong Python.

Nếu bạn muốn có một hướng dẫn chuyên sâu hơn về cách đọc tệp văn bản trong Python, hãy xem hướng dẫn này ở đây. Dưới đây là một đoạn mã nhanh mà bạn có thể sử dụng để tải nội dung của tệp văn bản vào chuỗi Python:

# Creating word frequencies with defaultdict
from collections import defaultdict
import re

text = 'welcome to datagy! datagy will teach data. data is fun. data data data!'

counts = defaultdict(int)
for word in re.findall('\w+', text):
    counts[word] += 1

print(counts)

# Returns:
# defaultdict(, {'welcome': 1, 'to': 1, 'datagy': 2, 'will': 1, 'teach': 1, 'data': 5, 'is': 1, 'fun': 1})

Tôi khuyến khích bạn kiểm tra hướng dẫn để tìm hiểu lý do và cách tiếp cận này hoạt động. Tuy nhiên, nếu bạn vội vàng, chỉ cần biết rằng quá trình mở tệp, đọc nội dung của nó và sau đó đóng lại tệp.

  1. Một trong những cách đơn giản nhất để đếm số lượng từ trong chuỗi python là bằng cách sử dụng hàm split(). Chức năng phân chia trông như thế này:
  2. Theo mặc định, Python sẽ coi việc chạy khoảng trắng liên tiếp là một dấu phân cách duy nhất. Điều này có nghĩa là nếu chuỗi của chúng tôi có nhiều không gian, chúng chỉ được coi là một dấu phân cách duy nhất. Hãy để xem những gì phương thức này trả về:
  3. Chúng ta có thể thấy rằng phương thức bây giờ trả về một danh sách các mục. Bởi vì chúng tôi có thể sử dụng hàm len() để đếm số lượng mục trong danh sách, chúng tôi có thể tạo ra một số từ. Hãy để xem những gì nó trông như thế nào:

Một cách đơn giản khác để đếm số lượng từ trong chuỗi Python là sử dụng thư viện biểu thức thông thường, # Understanding the split() function str.split( sep=None # The delimiter to split on maxsplit=-1 # The number of times to split )0. Thư viện đi kèm với một chức năng, # Understanding the split() function str.split( sep=None # The delimiter to split on maxsplit=-1 # The number of times to split )1, cho phép bạn tìm kiếm các mẫu chuỗi khác nhau.

Bởi vì chúng ta có thể sử dụng biểu thức chính quy để tìm kiếm các mẫu, trước tiên chúng ta phải xác định mẫu của mình. Trong trường hợp này, chúng tôi muốn các mẫu ký tự chữ và số được phân tách bằng khoảng trắng.

# Creating word frequencies with Counter
from collections import Counter
import re

text = 'welcome to datagy! datagy will teach data. data is fun. data data data!'
counts =  Counter(re.findall('\w+', text))
print(counts)

# Returns:
# Counter({'data': 5, 'datagy': 2, 'welcome': 1, 'to': 1, 'will': 1, 'teach': 1, 'is': 1, 'fun': 1})

Tôi khuyến khích bạn kiểm tra hướng dẫn để tìm hiểu lý do và cách tiếp cận này hoạt động. Tuy nhiên, nếu bạn vội vàng, chỉ cần biết rằng quá trình mở tệp, đọc nội dung của nó và sau đó đóng lại tệp.

  1. Một trong những cách đơn giản nhất để đếm số lượng từ trong chuỗi python là bằng cách sử dụng hàm split(). Chức năng phân chia trông như thế này:
  2. Theo mặc định, Python sẽ coi việc chạy khoảng trắng liên tiếp là một dấu phân cách duy nhất. Điều này có nghĩa là nếu chuỗi của chúng tôi có nhiều không gian, chúng chỉ được coi là một dấu phân cách duy nhất. Hãy để xem những gì phương thức này trả về:
  3. Chúng ta có thể thấy rằng phương thức bây giờ trả về một danh sách các mục. Bởi vì chúng tôi có thể sử dụng hàm len() để đếm số lượng mục trong danh sách, chúng tôi có thể tạo ra một số từ. Hãy để xem những gì nó trông như thế nào:

Một cách đơn giản khác để đếm số lượng từ trong chuỗi Python là sử dụng thư viện biểu thức thông thường,

# Understanding the split() function
str.split(
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
)
0. Thư viện đi kèm với một chức năng,
# Understanding the split() function
str.split(
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
)
1, cho phép bạn tìm kiếm các mẫu chuỗi khác nhau.

# Finding the Most Common Word
from collections import Counter
import re

text = 'welcome to datagy! datagy will teach data. data is fun. data data data!'
counts =  Counter(re.findall('\w+', text))
print(counts.most_common()[0])

# Returns:
# ('data', 5)

Sự kết luận

Tài nguyên bổ sung

Tài nguyên bổ sung

Để tìm hiểu thêm về các chủ đề liên quan, hãy xem các hướng dẫn dưới đây:

  • Python
    # Splitting a string with .split()
    text = 'Welcome to datagy! Here you will learn Python and data science.'
    print(text.split())
    
    # Returns: ['Welcome', 'to', 'datagy!', 'Here', 'you', 'will', 'learn', 'Python', 'and', 'data', 'science.']
    7 - Tài liệu chính thức
  • Python DefaultDict: Tổng quan và ví dụ
  • Python: Số lượng xảy ra trong danh sách (6 cách)
  • Python: Số lượng xuất hiện trong một chuỗi (4 cách!)