Rate this post

Trong hướng dẫn Lập trình Python này, chúng ta sẽ thảo luận về Lập trình và Bổ sung trong Ngôn ngữ Lập trình Python – hai điều cơ bản khi làm việc với khoa học dữ liệu trong Python. Hơn nữa, chúng ta sẽ thảo luận về các ví dụ Python NLTK và Python Stemming. Cùng với điều này, chúng ta sẽ học Python Stemming vs Lemmatization.

Các bài viết liên quan:

Vì vậy, hãy bắt đầu Lập trình và bổ sung Python.

Điều kiện tiên quyết để lập trình và bổ sung Python

Vì mục đích của chúng tôi, chúng tôi sẽ sử dụng thư viện sau-

Python NLTK

Python NLTK là từ viết tắt của Natural Language Toolkit . Đây là một bộ thư viện cho phép chúng tôi thực hiện Xử lý ngôn ngữ tự nhiên (NLP) trên tiếng Anh với Python. Nó cho phép chúng tôi làm như vậy theo cách tượng trưng và thống kê. Nó cũng cung cấp dữ liệu mẫu và hỗ trợ biểu diễn đồ họa.

Xem thêm Các related entities trong SEO

Bạn có làm thế nào để đổi tên tệp trong Python – Một và nhiều tệp với ví dụ

Bạn có thể cài đặt nó bằng cách sử dụng pip

pip install nltk

Sau đó, để nhập nó, bạn có thể nhập trình thông dịch

import nltk

Cuối cùng, để cài đặt các gói từ NLTK, bạn cần sử dụng trình tải xuống của nó.

nltk.download()

Bạn có thể tải xuống tất cả các gói hoặc chọn những gói bạn muốn tải xuống. Khám phá tab ‘Tất cả các gói’.

Xem thêm Statistical(thống kê) sử dụng Python

Python Stemming là gì?

Python Stemming là hành động lấy một từ và rút gọn nó thành từ gốc. Thân cây giống như cái rễ của một từ – writing là writing . Nhưng điều này không phải lúc nào cũng là một từ; các từ như study , studiesstudying đều bắt nguồn từ từ studi, thực ra không phải là một từ.

Nó gần giống như những từ này là từ đồng nghĩa; điều này cho phép chúng tôi bình thường hóa các câu và giúp tìm kiếm các từ dễ dàng hơn và nhanh hơn. Các thuật toán gốc Python mà chúng tôi có thường dựa trên các quy tắc áp dụng cho việc tước bỏ hậu tố. Phổ biến nhất là Porter-Stemmer, xuất hiện từ năm 1979.

Xem thêm Đọc file CSV, JSON, XLSX bằng Python

Python lập các từ riêng lẻ

import nltk #import nltk
from nltk.stem import PorterStemmer #import nltk.stem
words=['write','writer','writing','writers'] # khai báo 1 array gồm 4 phần từ
ps=PorterStemmer() # tạo mới đối tượng PorterStemmer()
for word in words: #chạy vòng for
    print(f"{word}: {ps.stem(word)}")# in ra từng word
ps.stem('written')
ps.stem('wrote')
ps.stem('writable')
ps.stem('writes')

Một ví dụ khác về lập trình Python

Hãy thử nhiều từ hơn.

ps.stem('game')

‘trò chơi’

ps.stem('gaming')
ps.stem('gamed')
ps.stem('games')

Python tạo toàn bộ một câu

from nltk.tokenize import word_tokenize # khai báo sử dụng nltk.tokenize
nltk.download('punkt')# download 'punkt'
#khai báo 1 câu bất kì
sentence='I am enjoying writing this tutorial; I love to write and I have written 266 words so far. I wrote more than you did; I am a writer.'
#tách các từ tư câu
words=word_tokenize(sentence)
#in từ gốc trong câu
for word in words:
          print(f"{word}: {ps.stem(word)}")             

Xem thêm Hướng dẫn python

Bổ ngữ Python là gì?

Việc bổ sung Python cho phép chúng ta nhóm các dạng từ được tổng hợp lại với nhau. Nó liên kết các từ có nghĩa tương tự với một từ và ánh xạ các từ khác nhau vào một gốc.

Hãy thảo luận về các biểu thức chính quy trong Python | Hướng dẫn Python Regex

Python Stemming và Lemmatization

Nhưng cách Lemmatization Python khác với stemming như thế nào? Mặc dù việc tạo từ gốc có thể tạo ra các từ không thực sự tồn tại, nhưng việc lemmatization Python sẽ chỉ dẫn đến các từ đúng. bổ đề là các từ thực tế.

ps.stem('indetify')
lemmatizer.lemmatize('identify')

Ví dụ về Python Lemmatization

from nltk.stem import WordNetLemmatizer # khai báo thư viện nltk.stem
lemmatizer=WordNetLemmatizer() # tạo mới đối tượng WordNetLemmatizer
nltk.download('wordnet') # download wordnet
lemmatizer.lemmatize('dogs') # lemmatize từ dogs
lemmatizer.lemmatize('geese')
lemmatizer.lemmatize('cacti')
lemmatizer.lemmatize('erasers')
lemmatizer.lemmatize('children')
lemmatizer.lemmatize('feet')

Sử dụng Pos

lemmatizer.lemmatize('better',pos='a')

Ở đây, pos là một tham số lời nói, là danh từ theo mặc định. Điều này có nghĩa là Python sẽ cố gắng tìm danh từ gần nhất.

lemmatizer.lemmatize('redder','a')

Vì, bổ ngữ Python xem xét liệu một từ có phải là danh từ, động từ, tính từ, trạng từ hay không, và do đó, Python cần tìm hiểu về ngữ cảnh của từ.

Xem thêm Dữ liệu đồ thị & bản đồ địa lý Python

Xử lý văn bản trong NLTK

Trước khi xử lý văn bản trong Hướng dẫn sử dụng Python NLTK, bạn nên mã hóa nó. Ý của chúng tôi là bạn nên chia nó thành các phần nhỏ hơn – đoạn văn thành câu, câu thành từ. Chúng ta có hai loại tokenizers- cho câu và cho từ.

NLTK Sentence Tokenizer

Hãy thử mã hóa một câu.

text="Today is a great day. And yesterday was the best day ever."
from nltk.tokenize import sent_tokenize
sent_tokenize(text)

Được rồi, một câu nữa trong Hướng dẫn sử dụng Python NLTK. Làm thế nào về việc chúng ta sử dụng những từ trong văn bản? Tokenizer sẽ có thể bắt được nó?

nltk.sent_tokenize("Last night, I went to Mrs. Martinez's housewarming. It was a disaster.")

NLTK Word Tokenizer

Đầu tiên, hãy mã hóa văn bản tôi n Hướng dẫn sử dụng Python NLTK .

nltk.word_tokenize(text)
nltk.word_tokenize("Last night, I went to Mrs. Martinez's housewarming. It was a disaster.")

Tìm từ đồng nghĩa từ WordNet NLTK

WordNet là một cơ sở dữ liệu NLP với các từ đồng nghĩa, trái nghĩa và định nghĩa ngắn gọn. Chúng tôi đã tải xuống tệp này bằng trình tải xuống NLTK.

from nltk.corpus import wordnet
syn=wordnet.synsets('love')
syn

Hãy chọn từ đầu tiên từ cái này

syn[0].definition()
syn[0].examples()
syn=wordnet.synsets('life')
syn[0].definition()

Để nhận danh sách các từ đồng nghĩa:

synonyms=[]
for syn in wordnet.synsets('AI'):
        for lemma in syn.lemmas():
               synonyms.append(lemma.name())
synonyms

Xem thêm Trình thông dịch Python là gì – Môi trường, Lời mời Làm việc

Tìm từ trái nghĩa từ WordNet NLTK

Để có được danh sách các từ trái nghĩa, trước tiên chúng ta cần kiểm tra các bổ đề- có từ trái nghĩa không?

from nltk.corpus import wordnet
antonyms=[]
for syn in wordnet.synsets('depressed'):
        for l in syn.lemmas():
                 if l.antonyms():
                          antonyms.append(l.antonyms()[0].name())
antonyms
for syn in wordnet.synsets('ugly'):
        for l in syn.lemmas():
                  if l.antonyms():
                            antonyms.append(l.antonyms()[0].name())
antonyms

Kết luận

Do đó, trong hướng dẫn Python này, chúng tôi đã nghiên cứu về Python Stemming và Lemmatization. Ngoài ra, chúng tôi đã nghiên cứu NLTK, một ví dụ về Lập trình và bổ sung hóa trong Python, và sự khác biệt giữa Lập trình gốc và bổ sung hóa Python. Hãy cho chúng tôi biết bạn nghĩ gì về hướng dẫn bổ sung và tạo gốc cho Python này, trong hộp nhận xét.

Xem thêm Tự học HTML: HTML ngữ nghĩa(semantic)

Leave a Reply

Call now
%d bloggers like this: