Hướng dẫn lemmatization python - Bổ đề Python

Cải thiện bài viết

Lưu bài viết

Lemmatization là quá trình nhóm lại các hình thức được tạo ra khác nhau của một từ để chúng có thể được phân tích như một mục duy nhất. Lemmatization tương tự như xuất phát nhưng nó mang lại bối cảnh cho các từ. Vì vậy, nó liên kết các từ có ý nghĩa tương tự với một từ. & Nbsp; tiền xử lý văn bản bao gồm cả có cả xuất phát cũng như hóa học. Nhiều lần mọi người thấy hai thuật ngữ này khó hiểu. Một số coi hai người này là như nhau. Trên thực tế, việc lemmatization được ưa thích hơn so với xuất phát bởi vì việc phân tích hình thái của các từ. Áp dụng của sự lemmatization là: & nbsp; & nbsp;
Text preprocessing includes both Stemming as well as Lemmatization. Many times people find these two terms confusing. Some treat these two as the same. Actually, lemmatization is preferred over Stemming because lemmatization does morphological analysis of the words.
Applications of lemmatization are: 
 

  • Được sử dụng trong các hệ thống truy xuất toàn diện như công cụ tìm kiếm.
  • Được sử dụng trong lập chỉ mục nhỏ gọn
Examples of lemmatization:

-> rocks : rock
-> corpora : corpus
-> better : good

Một sự khác biệt lớn với thân cây là Lemmatize thực hiện một phần của tham số lời nói, thì POS POS Nếu không được cung cấp, mặc định là danh từ.
Below is the implementation of lemmatization words using NLTK:
 

Python3

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
1
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
22____23
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
4

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
5
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
6
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
7

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
8
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
9
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)}")             
0
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)}")             
1
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)}")             
2
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)}")             
3

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
8
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
9
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)}")             
6
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)}")             
1
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)}")             
8
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)}")             
3

Các

Hướng dẫn lemmatization python - Bổ đề Python

Đầu ra: & nbsp; & nbsp; 
 

rocks : rock
corpora : corpus
better : good

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.

Nội dung chính ShowShow

  • Điều kiện tiên quyết để lập trình và bổ sung Python
  • Python Stemming là gì?
  • Python lập các từ riêng lẻ
  • Một ví dụ khác về lập trình Python
  • Python tạo toàn bộ một câu
  • Bổ ngữ Python là gì?
  • Python Stemming và Lemmatization
  • Ví dụ về Python Lemmatization
  • Sử dụng Pos
  • Xử lý văn bản trong NLTK
  • NLTK Sentence Tokenizer
  • NLTK Word Tokenizer
  • Tìm từ đồng nghĩa từ WordNet NLTK
  • Tìm từ trái nghĩa từ WordNet NLTK
  • 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)

  • Điều kiện tiên quyết để lập trình và bổ sung Python
  • Python Stemming là gì?
  • Bổ ngữ Python là gì?
  • 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ừ.
  • Tìm từ trái nghĩa từ WordNet NLTK
  • Kết luận

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

Python Stemming là gì?

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

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.

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

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ụ

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 , studies và studying đề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

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

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

‘trò chơi’

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ế.

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')

rocks : rock
corpora : corpus
better : good
0

Sử dụng Pos

rocks : rock
corpora : corpus
better : good
1

Ở đâ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.

rocks : rock
corpora : corpus
better : good
2

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.

rocks : rock
corpora : corpus
better : good
3

Đượ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ó?

rocks : rock
corpora : corpus
better : good
4

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 .

rocks : rock
corpora : corpus
better : good
5

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.

rocks : rock
corpora : corpus
better : good
6

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

rocks : rock
corpora : corpus
better : good
7

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

rocks : rock
corpora : corpus
better : good
8

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?

rocks : rock
corpora : corpus
better : good
9
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
0

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)