Python văn bản được mã hóa

Mã thông báo là quá trình một lượng lớn văn bản được chia thành các phần nhỏ hơn được gọi là mã thông báo. Các mã thông báo này rất hữu ích để tìm các mẫu và được coi là bước cơ bản để bắt đầu và từ vựng. Tokenization cũng giúp thay thế các phần tử dữ liệu nhạy cảm bằng các phần tử dữ liệu không nhạy cảm

Xử lý ngôn ngữ tự nhiên được sử dụng để xây dựng các ứng dụng như Phân loại văn bản, chatbot thông minh, phân tích cảm xúc, dịch ngôn ngữ, v.v. Điều quan trọng là phải hiểu mô hình trong văn bản để đạt được mục đích đã nêu ở trên

Hiện tại, đừng lo lắng về việc bắt nguồn và từ vựng mà hãy coi chúng như các bước để làm sạch dữ liệu văn bản bằng NLP [Xử lý ngôn ngữ tự nhiên]. Chúng ta sẽ thảo luận về từ gốc và từ vựng ở phần sau của hướng dẫn. Các tác vụ như Phân loại văn bản hoặc lọc thư rác sử dụng NLP cùng với các thư viện học sâu như Keras và Tensorflow

Bộ công cụ Ngôn ngữ tự nhiên có mô-đun NLTK mã hóa các câu rất quan trọng bao gồm thêm các mô-đun phụ

  1. mã hóa từ
  2. mã hóa câu

Token hóa các từ

Chúng tôi sử dụng phương thức word_tokenize[] để chia một câu thành các từ. Đầu ra của mã thông báo từ có thể được chuyển đổi thành Khung dữ liệu để hiểu văn bản tốt hơn trong các ứng dụng máy học. Nó cũng có thể được cung cấp làm đầu vào cho các bước làm sạch văn bản tiếp theo, chẳng hạn như loại bỏ dấu chấm câu, loại bỏ ký tự số hoặc gốc. Các mô hình học máy cần dữ liệu số để được đào tạo và đưa ra dự đoán. Mã thông báo Word trở thành một phần quan trọng của chuyển đổi văn bản [chuỗi] thành dữ liệu số. Vui lòng đọc về Bag of Words hoặc CountVectorizer. Vui lòng tham khảo ví dụ word tokenize NLTK bên dưới để hiểu rõ hơn về lý thuyết

from nltk.tokenize import word_tokenize
text = "God is Great! I won a lottery."
print[word_tokenize[text]]

Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']

Giải thích mã

  1. mô-đun word_tokenize được nhập từ thư viện NLTK
  2. Một biến “văn bản” được khởi tạo với hai câu
  3. Biến văn bản được chuyển vào mô-đun word_tokenize và in kết quả. Mô-đun này ngắt từng từ bằng dấu chấm câu mà bạn có thể thấy ở đầu ra

Token hóa các câu

Mô-đun phụ có sẵn cho phần trên là send_tokenize. Một câu hỏi rõ ràng trong đầu bạn sẽ là tại sao cần mã hóa câu khi chúng tôi có tùy chọn mã hóa từ. Hãy tưởng tượng bạn cần đếm số từ trung bình mỗi câu, bạn sẽ tính như thế nào? . Đầu ra như vậy đóng vai trò là một tính năng quan trọng để đào tạo máy vì câu trả lời sẽ là số

Kiểm tra ví dụ mã thông báo NLTK bên dưới để tìm hiểu cách mã thông báo câu khác với mã thông báo từ

from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print[sent_tokenize[text]]

Output: ['God is Great!', 'I won a lottery ']

Chúng tôi có 12 từ và hai câu cho cùng một đầu vào

Giải thích về chương trình

  1. Trong một dòng giống như chương trình trước, đã nhập mô-đun send_tokenize
  2. Chúng tôi đã lấy cùng một câu. Mã thông báo câu tiếp theo trong mô-đun NLTK đã phân tích cú pháp câu đó và hiển thị đầu ra. Rõ ràng hàm này ngắt từng câu

Các ví dụ về Python mã thông báo từ ở trên là những viên đá cài đặt tốt để hiểu cơ chế của mã thông báo từ và câu

Lượng dữ liệu văn bản trên Internet đã tăng lên rất nhiều trong những thập kỷ qua và không còn nghi ngờ gì nữa, bất kỳ phân tích thông tin nào cũng cần phải được tự động hóa. Đây là khi gói TextBlob trở thành một công cụ hữu ích phục vụ mục tiêu này

Tokenization là một kỹ thuật khoa học dữ liệu chia các từ trong một câu thành một danh sách các từ hoặc giá trị riêng biệt được phân tách bằng dấu phẩy. Đây là bước đầu tiên quan trọng trong việc tiền xử lý dữ liệu văn bản trong Xử lý ngôn ngữ tự nhiên hoặc NLP

Trước khi bạn có thể chạy hầu hết các kỹ thuật máy học NLP, thông thường bạn sẽ cần sử dụng mã hóa dữ liệu của mình. Trong dự án nhanh này, tôi sẽ chỉ cho bạn cách bạn có thể sử dụng Bộ công cụ ngôn ngữ tự nhiên [NLTK] của Python để lấy dữ liệu văn bản từ khung dữ liệu Pandas và trả về danh sách các từ được mã hóa bằng mã thông báo

df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
7

Nhập các gói

Để bắt đầu, hãy mở sổ ghi chép Jupyter và nhập các gói

df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
8 và
df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
9. Chúng tôi sẽ sử dụng Pandas để tải và thao tác dữ liệu của chúng tôi và Bộ công cụ ngôn ngữ tự nhiên [NLTK] để thực hiện mã hóa. Nếu bạn chưa cài đặt
df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
9, bạn có thể cài đặt nó bằng cách nhập
df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
1 vào thiết bị đầu cuối của mình

import pandas as pd
import nltk

Nhập dữ liệu

Tiếp theo, nhập dữ liệu của bạn vào khung dữ liệu Pandas. Vì mục đích trình diễn, tôi đang nhập tập dữ liệu gồm tiêu đề và mô tả từ trang web Khoa học dữ liệu thực tế. Hai cột -

df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
2 và
df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
3 - chứa văn bản mà chúng tôi có thể mã hóa bằng NLTK và Python

df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]

urltitledescription0https. //khoa học dữ liệu thực tế. đồng. uk/data-khoa học. Cách tạo môi trường ảo Python cho. Tìm hiểu cách tạo môi trường ảo cho. 1https. //khoa học dữ liệu thực tế. đồng. uk/data-khoa học. Cách thiết kế các tính năng ngày bằng cách sử dụng PandasTrong bộ dữ liệu chuỗi thời gian, ngày thường giữ k. 2https. //khoa học dữ liệu thực tế. đồng. uk/máy-lea. Cách gán các giá trị số bị thiếu trong d của bạn. Khéo léo điền vào chỗ trống khi nhập dữ liệu số. 3https. //khoa học dữ liệu thực tế. đồng. uk/máy-lea. Cách diễn giải ma trận nhầm lẫnMa trận nhầm lẫn có thể cho bạn biết thêm về y. 4https. //khoa học dữ liệu thực tế. đồng. uk/máy-lea. Cách sử dụng mã hóa trung bình trong máy học của bạn. Tìm hiểu cách sử dụng kỹ thuật mã hóa trung bình t

Nối văn bản vào một cột duy nhất

Mặc dù không cần thiết, nhưng khi sử dụng NLP, bạn thường muốn phân tích tất cả văn bản có sẵn thay vì văn bản trong một cột. Chúng ta có thể hợp nhất văn bản trong hai cột lại với nhau bằng phép nối thông qua toán tử

df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
4. Thêm
df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
5 có nghĩa là khi phần cuối của
df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
2 được nối với phần đầu của
df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
3, một khoảng trắng sẽ được thêm vào, vì vậy chúng tôi không vô tình phát minh ra từ mới

from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print[sent_tokenize[text]]

Output: ['God is Great!', 'I won a lottery ']
1

Xóa các giá trị NaN và truyền thành chuỗi

Tiếp theo, chúng tôi cần đảm bảo rằng mọi giá trị

df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
8 đã bị xóa khỏi cột và chúng tôi chỉ xử lý các giá trị chuỗi. Nếu bạn bỏ lỡ bước này, NLTK sẽ báo lỗi với nội dung
df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
9

from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print[sent_tokenize[text]]

Output: ['God is Great!', 'I won a lottery ']
4

urltitledescriptiontexttokenized0https. //khoa học dữ liệu thực tế. đồng. uk/data-khoa học. Cách tạo môi trường ảo Python cho. Tìm hiểu cách tạo môi trường ảo cho. Cách tạo môi trường ảo Python cho. [Cách, để, tạo, a, Python, ảo, môi trường. 1https. //khoa học dữ liệu thực tế. đồng. uk/data-khoa học. Cách thiết kế các tính năng ngày bằng cách sử dụng PandasTrong bộ dữ liệu chuỗi thời gian, ngày thường giữ k. Cách thiết kế các tính năng ngày tháng bằng Pandas In. [Làm thế nào để, kỹ sư, ngày tháng, tính năng, sử dụng, Pan. 2https. //khoa học dữ liệu thực tế. đồng. uk/máy-lea. Cách gán các giá trị số bị thiếu trong d của bạn. Khéo léo điền vào chỗ trống khi nhập dữ liệu số. Cách gán các giá trị số bị thiếu trong d của bạn. [Làm thế nào, để, gán, thiếu, số, giá trị, trong. 3https. //khoa học dữ liệu thực tế. đồng. uk/máy-lea. Cách diễn giải ma trận nhầm lẫnMa trận nhầm lẫn có thể cho bạn biết thêm về y. Cách giải thích ma trận nhầm lẫn Conf. [Làm thế nào, để, diễn giải, sự nhầm lẫn, ma trận, T. 4https. //khoa học dữ liệu thực tế. đồng. uk/máy-lea. Cách sử dụng mã hóa trung bình trong máy học của bạn. Tìm hiểu cách sử dụng kỹ thuật mã hóa trung bình t. Cách sử dụng mã hóa trung bình trong máy học của bạn. [Làm thế nào, để, sử dụng, ý nghĩa, mã hóa, trong, của bạn, machi

Tạo mã thông báo bằng NLTK

Cuối cùng, chúng ta có thể sử dụng NLTK để tạo chức năng mã thông báo của mình. Lệnh

from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print[sent_tokenize[text]]

Output: ['God is Great!', 'I won a lottery ']
10 sẽ kích hoạt trình tải xuống NLTK và yêu cầu nó cài đặt dữ liệu
df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
7, đây là mã thông báo câu nhận một câu từ và chia chúng thành các giá trị riêng lẻ

from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print[sent_tokenize[text]]

Output: ['God is Great!', 'I won a lottery ']
6

Để giúp áp dụng mã thông báo cho cột khung dữ liệu Pandas của chúng tôi dễ dàng hơn và để cho phép chúng tôi sử dụng lại chức năng này trong bất kỳ dự án NLP nào khác mà chúng tôi có thể giải quyết sau này, chúng tôi sẽ tạo một chức năng nhỏ. Cái này lấy tên cột Pandas và trả về danh sách mã thông báo từ

from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print[sent_tokenize[text]]

Output: ['God is Great!', 'I won a lottery ']
12. Bit vòng lặp
from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print[sent_tokenize[text]]

Output: ['God is Great!', 'I won a lottery ']
13 sử dụng
from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print[sent_tokenize[text]]

Output: ['God is Great!', 'I won a lottery ']
14 để trả về giá trị thay vì boolean

df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
0

Mã hóa dữ liệu văn bản của bạn bằng NLTK

Điều cuối cùng chúng ta cần làm là chạy hàm của mình trên cột Pandas

from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print[sent_tokenize[text]]

Output: ['God is Great!', 'I won a lottery ']
15, điều mà chúng ta có thể thực hiện bằng cách sử dụng hàm
from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print[sent_tokenize[text]]

Output: ['God is Great!', 'I won a lottery ']
16 trên trục tung [thông qua
from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print[sent_tokenize[text]]

Output: ['God is Great!', 'I won a lottery ']
17]. Điều này chuyển vào toàn bộ cột
from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print[sent_tokenize[text]]

Output: ['God is Great!', 'I won a lottery ']
15, sử dụng NLTK để mã hóa các giá trị và trả về một cột Pandas mới có tên là
from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print[sent_tokenize[text]]

Output: ['God is Great!', 'I won a lottery ']
19 chứa các danh sách Python chứa các mã thông báo được phân tách bằng dấu phẩy

df = pd.read_csv['//raw.githubusercontent.com/flyandlure/datasets/master/titles_and_descriptions.csv']
df.head[]
6

tokenized 0[Làm thế nào, để, tạo, a, Python, ảo, môi trường. 1[Làm thế nào, để, kỹ sư, ngày tháng, tính năng, sử dụng, Pan. 2[Làm thế nào, để, gán, thiếu, số, giá trị, trong. 3[Làm thế nào, để, diễn giải, sự nhầm lẫn, ma trận, T. 4[Làm thế nào, để, sử dụng, ý nghĩa, mã hóa, trong, của bạn, machi

Văn bản được mã hóa là gì?

Mã hóa về cơ bản là chia cụm từ, câu, đoạn hoặc toàn bộ tài liệu văn bản thành các đơn vị nhỏ hơn, chẳng hạn như các từ hoặc cụm từ riêng lẻ . Mỗi đơn vị nhỏ hơn này được gọi là mã thông báo.

Sự khác biệt giữa Split và Tokenize trong Python là gì?

Groovy. mã thông báo [] so với chia [] . split[] có thể lấy regex làm dấu phân cách trong khi tokenize thì không. tokenize[] ,which returns a list, will ignore empty string [when a delimiter appears twice in succession] where as split[] keeps such string. The split[] can take regex as delimiter where as tokenize does not.

Chủ Đề