Hướng dẫn how do you remove punctuation from python using nltk? - làm cách nào để xóa dấu câu khỏi python bằng nltk?

Hướng dẫn how do you remove punctuation from python using nltk? - làm cách nào để xóa dấu câu khỏi python bằng nltk?

Giới thiệu về NLTK Xóa dấu câu

NLTK loại bỏ dấu câu với một khối lượng đáng kể dữ liệu văn bản; Chúng tôi biết khó khăn như thế nào khi khám phá và loại bỏ các từ hoặc chữ cái bên ngoài. Ngay cả với sự trợ giúp của các bộ xử lý văn bản hiện đại, việc thực hiện nhiệm vụ này theo cách thủ công có thể tốn thời gian và khó chịu. May mắn thay, các gói xử lý văn bản mạnh có sẵn trong các ngôn ngữ máy tính như Python, cho phép chúng tôi hoàn thành các nhiệm vụ như vậy một cách nhanh chóng. Do đó, NLTK loại bỏ dấu câu là rất quan trọng trong Python.

Tổng quan về NLTK xóa dấu câu

  • Khi một câu được mã hóa và tất cả các dấu chấm câu được xóa khỏi nó, tất cả các dấu chấm câu được xóa khỏi mỗi từ.
  • Loại bỏ dấu câu là một bước chuẩn bị tiêu chuẩn trong các hoạt động học tập và phân tích dữ liệu.
  • Ví dụ, tạo một mô hình phân loại văn bản là vô dụng; Do đó, chúng tôi loại bỏ nó trong bước xử lý trước.
  • Khi làm việc với dữ liệu văn bản do người dùng tạo, chẳng hạn như các bài đăng trên phương tiện truyền thông xã hội, chúng tôi sẽ gặp rất nhiều dấu câu có thể không có lợi cho nhiệm vụ trong tay; Do đó, loại bỏ nó trở thành một việc vặt trước khi xử lý cần thiết.

Làm thế nào để loại bỏ dấu câu với NLTK?

Có bốn cách để loại bỏ dấu câu trong Python từ một chuỗi. Đầu tiên, chúng ta có thể xóa dấu câu bằng cách sử dụng chuỗi.

1. Xóa dấu câu bằng cách sử dụng regex

  • Gói Regex trong Python cho phép chúng tôi quản lý, kiểm soát và thao túng các biểu thức chính quy của nhiều loại khác nhau.
  • Regex là một chuỗi các chữ cái xác định một mẫu để tìm kiếm. Thông thường, các thuật toán tìm kiếm chuỗi sử dụng các mẫu này cho các hoạt động tìm kiếm và tìm kiếm và thay thế các hoạt động trên các chuỗi và đầu vào tín hiệu. Nó là một cách tiếp cận bắt nguồn từ lý thuyết ngôn ngữ chính thức và khoa học máy tính lý thuyết.
  • Ví dụ dưới đây cho thấy việc loại bỏ dấu câu bằng cách sử dụng regex.

Code:

import re
py_str = "nltk@%,^remove#!punctualtion"
py_opstr = re.sub(r'[^\w\s]','',py_str)
print ('String: ', py_str)
print ('Without punctuation string: ', py_opstr)

Output:

Hướng dẫn how do you remove punctuation from python using nltk? - làm cách nào để xóa dấu câu khỏi python bằng nltk?

2. Xóa dấu câu từ chuỗi bằng cách sử dụng phương thức dịch

  • Trong Python, hàm chuỗi là cách nhanh nhất để loại bỏ dấu chấm câu. Để sử dụng hàm dịch, trước tiên chúng ta phải nhập mô -đun chuỗi.
  • Hãy để tôi giải thích nếu chúng ta không chắc chắn chức năng dịch làm gì. Phương thức dịch tạo ra một chuỗi trong đó một số ký tự được thay thế bằng các ký tự từ từ điển hoặc bảng ánh xạ.
  • Ví dụ dưới đây cho thấy việc loại bỏ dấu câu từ các chuỗi bằng phương thức dịch.

Code:

import string
py_str = "nltk @%,^ remove #! punctualtion"
py_opstr = py_str.translate (str.maketrans ('', '', string.punctuation))
print ('String: ', py_str)
print ('Without punctuation string: ', py_opstr)

Output:

Hướng dẫn how do you remove punctuation from python using nltk? - làm cách nào để xóa dấu câu khỏi python bằng nltk?

3. Xóa dấu câu bằng cách sử dụng phương thức tham gia

  • Phương pháp nối cũng có thể được sử dụng để loại bỏ dấu câu. Nếu chúng ta không quen thuộc với phương pháp tham gia, hãy để tôi mô tả nó trong thời gian ngắn. Phương pháp tham gia cho phép chúng tôi tạo các chuỗi từ các đối tượng có thể sử dụng theo nhiều cách khác nhau. Nó kết hợp từng thành phần của một điều khác.
  • Ví dụ dưới đây cho thấy loại bỏ dấu câu bằng cách sử dụng phương thức tham gia.

Code:

import string
py_str = "nltk @%,^ remove #! punctualtion"
exclude = set(string.punctuation)
py_str = ''.join(ch for ch in py_str if ch not in exclude)
print (py_str)

Output:

Hướng dẫn how do you remove punctuation from python using nltk? - làm cách nào để xóa dấu câu khỏi python bằng nltk?

4. Xóa dấu câu bằng cách sử dụng phương thức thay thế

  • Phương pháp thay thế là một kỹ thuật nhanh chóng và dễ dàng để loại bỏ dấu câu. Nó cung cấp cho chúng ta một đối tượng cho iterator.
  • Nhiều kỹ thuật hữu ích có sẵn trong chuỗi Python. Thay thế là một ví dụ về một thủ tục như vậy.
  • Chúng ta có thể sử dụng phương pháp này để thay thế một chuỗi các ký tự trong một chuỗi bằng một chuỗi khác. Hàm này mặc định xóa chuỗi của tất cả các ký tự hoặc phần phụ xuất hiện cụ thể.
  • Chúng tôi có thể giới hạn các lần xuất hiện bằng cách cung cấp giá trị đếm cho phương thức thay thế làm tham số thứ ba.
  • Ví dụ dưới đây cho thấy việc loại bỏ dấu chấm câu bằng phương pháp xóa như sau.

Code:

py_str = "nltk @emove punctuation"
print (py_str)
py_ls = py_str.replace ('@', 'r')
print (py_ls)

Output:

Hướng dẫn how do you remove punctuation from python using nltk? - làm cách nào để xóa dấu câu khỏi python bằng nltk?

  • Chúng ta có thể thay đổi chúng ở giữa một quá trình như chúng ta có thể với danh sách.
  • Do đó, tất cả các kỹ thuật sửa đổi chuỗi tạo ra một chuỗi mới, được sửa đổi, chúng tôi lưu trong một biến mới. Nhưng, trước tiên, chúng tôi phải liệt kê mọi dấu câu mà chúng tôi không quan tâm và muốn thoát khỏi.
  • Phương thức thay thế được gọi trên chuỗi đầu vào và chúng tôi lặp lại các dấu chấm câu.

NLTK xóa dấu chấm câu

  • NLTK, một thư viện NLP nguồn mở nổi bật được viết bằng Python, là một trong những thư viện NLP được sử dụng rộng rãi nhất. Nó bao gồm một số lượng lớn bộ dữ liệu, ngôn ngữ và nhiều tính năng NLP khác. Ví dụ, để cung cấp các mẫu mã thông báo với regex, chúng ta có thể sử dụng regexptokenzer NLTK.
  • Word tokenize là một phương thức trong nltkthat phá vỡ một từ. Một trong những nhiệm vụ ban đầu là xác định vấn đề.
  • Bộ mã thông báo mặc định của NLTK giữ dấu chấm câu và các mã thông báo riêng biệt theo khoảng trắng và dấu câu.
  • NLTK Stopwords được sử dụng rộng rãi các từ mà công cụ tìm kiếm đã được cấu hình để coi thường trong khi lập chỉ mục và truy xuất các mục.
  • Chúng tôi có thể xóa các điểm dừng dấu câu trong NLTK. Ví dụ dưới đây cho thấy việc loại bỏ dấu câu bằng cách sử dụng các từ dừng như sau.

Code:

from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
print ("Text:", py_st)
py_nltk = word_tokenize (py_st.lower ())
print ("Tokens:", py_nltk)
py_nltk1 = stopwords.words ('english')
py_nltk2 = [t for t in py_nltk if t not in py_nltk1]
print ("Text without stopwords:", " ".join (py_nltk2))

Output:

Hướng dẫn how do you remove punctuation from python using nltk? - làm cách nào để xóa dấu câu khỏi python bằng nltk?

Ví dụ về NLTK xóa dấu chấm câu

Dưới đây là các ví dụ khác nhau để xóa dấu câu từ NLTK:

Ví dụ 1

Ví dụ dưới đây cho thấy loại bỏ dấu câu từ mã như sau. Trong ví dụ dưới đây, chúng tôi đang sử dụng phương pháp Regex để loại bỏ dấu câu từ các chuỗi.

Code:

import re
py_str1 = "python #* nltk@%,^ remove#! punctualtion"
py_opstr1 = re.sub(r'[^\w\s]','',py_str1)
print ('String: ', py_str1)
print ('Without punctuation string: ', py_opstr1)

Output:

Hướng dẫn how do you remove punctuation from python using nltk? - làm cách nào để xóa dấu câu khỏi python bằng nltk?

Ví dụ #2

Ví dụ dưới đây cho thấy việc loại bỏ dấu câu từ đầu và cuối câu. Ví dụ dưới đây cho thấy rằng nó sẽ loại bỏ dấu câu từ đầu và cuối dòng.

Code:

import re
py_str1 = "@python nltk remove punctualtion#!"
py_opstr1 = re.sub(r'[^\w\s]','',py_str1)
print ('String: ', py_str1)
print ('Without punctuation string: ', py_opstr1)

Output:

Hướng dẫn how do you remove punctuation from python using nltk? - làm cách nào để xóa dấu câu khỏi python bằng nltk?

Sự kết luận

Khi một câu được mã hóa và tất cả các dấu chấm câu được xóa khỏi nó, tất cả các dấu chấm câu được xóa khỏi mỗi từ. NLTK loại bỏ dấu câu với một khối lượng đáng kể dữ liệu văn bản. Trong khi tạo ra một mô hình phân loại văn bản là vô dụng; Do đó, chúng tôi loại bỏ nó trong bước xử lý trước.

Bài viết đề xuất

Đây là một hướng dẫn để NLTK xóa dấu câu. Ở đây chúng tôi cũng thảo luận về định nghĩa, tổng quan và cách xóa dấu câu với NLTK, cùng với các ví dụ. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm -

  1. Cài đặt NLTK
  2. Phiên bản Anaconda
  3. Ngôn ngữ Coq
  4. Bộ công cụ Widget Gui Java Swing

Làm thế nào để tôi thoát khỏi dấu câu trong Python?

Một trong những cách dễ nhất để loại bỏ dấu câu từ một chuỗi trong python là sử dụng phương thức str.translate (). Phương thức dịch () thường lấy một bảng dịch, mà chúng ta sẽ sử dụng. Phương pháp maketrans ().use the str. translate() method. The translate() method typically takes a translation table, which we'll do using the . maketrans() method.

Làm cách nào để loại bỏ các ký tự đặc biệt khỏi một chuỗi trong Python NLTK?

Loại bỏ các ký tự đặc biệt bao gồm các chuỗi sử dụng python isalnum.Python có một phương thức chuỗi đặc biệt,.isalnum (), trả về true nếu chuỗi là một ký tự alpha-numeric và trả về sai nếu không.Chúng ta có thể sử dụng điều này, để lặp qua một chuỗi và nối vào một chuỗi mới, chỉ có các ký tự alpha-numeric.Using Python isalnum. Python has a special string method, . isalnum() , which returns True if the string is an alpha-numeric character, and returns False if it is not. We can use this, to loop over a string and append, to a new string, only alpha-numeric characters.

Bạn có nên xóa NLP dấu câu không?

Thay thế sự lặp lại của các dấu chấm câu có kiến thức về biểu thức chính quy sẽ giúp mã hóa nhanh hơn và dễ dàng hơn.Để loại bỏ sự lặp lại của dấu chấm câu là rất hữu ích vì nó không chứa bất kỳ thông tin quan trọng nào nếu chúng ta giữ nhiều dấu câu trong từ, ví dụ, dữ liệu !!!Cần chuyển đổi sang dữ liệu.To remove the repetition of punctuations is very helpful because it doesn't hold any vital information if we keep more than one punctuation in the word, for example, data!!! need to convert to data.

Tokenization có loại bỏ dấu câu không?

Đối với đầu vào tài liệu tokenized, chức năng xóa dấu câu từ các mã thông báo với loại 'dấu câu' và 'khác'.Ví dụ, chức năng không xóa dấu chấm câu và ký tự biểu tượng khỏi URL và địa chỉ email.the function erases punctuation from tokens with type 'punctuation' and 'other' . For example, the function does not erase punctuation and symbol characters from URLs and email addresses.