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 word1
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 word22____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 word4
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 word5
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 word6
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 word7
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 word8
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 word9
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 word8
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 word9
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
Đầ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 : good0
Sử dụng Pos
rocks : rock corpora : corpus better : good1
Ở đâ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 : good2
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 : good3
Đượ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 : good4
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 : good5
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 : good6
Hãy chọn từ đầu tiên từ cái này
rocks : rock corpora : corpus better : good7
Để nhận danh sách các từ đồng nghĩa:
rocks : rock corpora : corpus better : good8
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 : good9
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 word0
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]