Giúp xử lý ngôn ngữ tự nhiên dễ dàng với TextBlob

Nút nguồn: 1126032

Bài báo này đã được xuất bản như một phần của Blogathon Khoa học Dữ liệu

Giới thiệu

Ảnh Bìa | văn bản
Hình ảnh 1

Trước hết, đừng để danh hiệu đánh lừa bạn! Xử lý ngôn ngữ tự nhiên là một lĩnh vực rộng lớn o bằng chứng là có thể dễ dàng thực hiện nhiều phép tính và phân tích ngôn ngữ bằng các công cụ và ứng dụng NLP hiện đại. Từ các nhiệm vụ cơ bản là phân tích văn bản đến nhiệm vụ phức tạp là thực hiện phân tích tình cảm trên một câu đầu vào, NLP có rất nhiều ứng dụng thực tế và có phạm vi rộng lớn trong lĩnh vực nghiên cứu.

Nhưng Python cung cấp cho chúng ta nhiều thư viện khác nhau để thực hiện các tác vụ Xử lý ngôn ngữ tự nhiên theo cách thuận tiện nhất có thể. Một trong những thư viện nổi bật và dễ sử dụng là văn bảnBlob. Như tài liệu chính thức cho thấy:

văn bảnBlob là một thư viện Python (2 và 3) để xử lý dữ liệu dạng văn bản. Nó cung cấp một API đơn giản để đi sâu vào các tác vụ xử lý ngôn ngữ tự nhiên (NLP) phổ biến như gắn thẻ từng phần của giọng nói, trích xuất cụm danh từ, phân tích tình cảm, phân loại, dịch thuật và hơn thế nữa.

Hôm nay chúng ta sẽ khám phá cơ chế hoạt động cơ bản và các chức năng khác nhau của TextBlob. Chúng ta sẽ bắt đầu với kỹ thuật cài đặt thông qua PIP, Conda và Github. Sau đó chúng ta sẽ đi sâu vào phần hướng dẫn cơ bản. Phần này sẽ trình bày một số khái niệm cơ bản về NLP mà người ta phải biết để bắt đầu Xử lý ngôn ngữ tự nhiên. Một trong những quy trình liên quan đến chức năng được gọi là Gắn thẻ POS hoặc Một phần của gắn thẻ bằng giọng nói. Kỹ thuật này chỉ định từ đã cho với nó là một phần của bài phát biểu. Chúng ta sẽ chuyển sang các cụm danh từ để sử dụng các từ danh từ trong văn bản hoặc câu. Sau đó, chúng ta sẽ chuyển sang một trường hợp sử dụng NLP phổ biến được gọi là phân tích tình cảm, nơi chúng ta sẽ xem xét thông số phân cực và chủ quan của văn bản để tìm ra cảm xúc của văn bản. Sau đó, chúng tôi sẽ xem xét mã thông báo, một phương pháp tạo mã thông báo từ để phân tích khác nhau. Chúng ta cũng sẽ thấy khái niệm về sự biến đổi từ cũng như sự bổ sung. Những khía cạnh này liên quan đến việc tìm ra nguồn gốc từ hoặc cấu trúc cơ sở. Tiếp tục, chúng tôi sẽ nhanh chóng điều tra các điểm tương đồng của TextBlog với các chuỗi gốc của python và khả năng tương thích chéo. Ý tưởng rằng thư viện tương thích với chuỗi Python chắc chắn làm cho việc triển khai một loạt các ứng dụng sử dụng Python dễ dàng hơn. Cuối cùng chúng ta sẽ thấy các khái niệm như phân tích cú pháp trong đó văn bản hoặc câu được phân tích cú pháp để có khả năng thực hiện một số trường hợp sử dụng học sâu. Nhưng không kém phần quan trọng, chúng ta cũng sẽ xem xét khái niệm và ý tưởng đằng sau cách tiếp cận n-gram và các cách để thực hiện chúng một cách dễ dàng về cơ bản.

Hãy tiếp tục và thử một số chức năng NLP dễ dàng và thú vị với TextBlob.

Mục lục

Cài đặt TextBlob

- Cài đặt bằng PIP

- Cài đặt bằng Conda

- Cài đặt từ nguồn Github

Hướng dẫn cơ bản

- Gắn thẻ POS

- Cụm danh từ

- Phân tích tình cảm

- Mã hóa

- Suy ngẫm từ

- Bổ đề hóa

- Định nghĩa

- Synsets

- Tần số từ

- Phân tích cú pháp

- Điểm tương đồng với chuỗi Python

- N-gam

Cài đặt TextBlob

Cài đặt với PIP

pip install -U textblob python -m textblob.download_corpora

Thao tác này sẽ cài đặt thư viện cũng như kho tài liệu NLTK (Bộ công cụ ngôn ngữ tự nhiên) cần thiết.

Để tải xuống kho tài liệu tối thiểu thay vào đó, hãy chạy:

python -m textblob.download_corpora lite

Cài đặt với Conda

conda install -c conda-forge textblob python -m textblob.download_corpora

Cài đặt từ nguồn Github

git clone https://github.com/sloria/TextBlob.git python setup.py install # bên trong thư mục nhân bản

Bây giờ chúng ta đã cài đặt TextBlob, chúng ta có thể tạo một tệp Jupyter Notebook mới và thực hiện cùng hướng dẫn. Khi bạn đã khởi tạo một tệp sổ ghi chép mới, chúng ta có thể bắt đầu viết mã.

Hướng dẫn cơ bản

Hãy bắt đầu bằng cách nhập thư viện.

từ textblob nhập TextBlob

Chúng ta bắt đầu bằng cách tạo một TextBlob đơn giản. Cú pháp khá đơn giản. Hãy thoải mái sử dụng một câu tùy chỉnh mà bạn chọn.

my_sentence = TextBlob ("Tôi đang đọc một bài đăng blog trên AnalyticsVidhya. Tôi thích nó!")

Bây giờ TextBlob của chúng ta đã sẵn sàng, hãy thực hiện một số thao tác NLP thú vị.

Gắn thẻ POS bằng Textblob

Kỹ thuật gán một trong các phần của lời nói cho một từ nhất định được gọi là gắn thẻ (PoS). Với gắn thẻ POS hoặc Part-of-speech, chúng tôi có thể liệt kê các thẻ part-of-speech thông qua thuộc tính tags. Nó còn được gọi là gắn thẻ “điểm bán hàng” ở dạng dài. Theo thuật ngữ của giáo dân, gắn thẻ POS là nhiệm vụ gắn nhãn mỗi từ trong một cụm từ với phần lời nói thích hợp của nó. Danh từ, động từ, trạng từ, tính từ, đại từ, liên từ và các tiểu loại của chúng đều là những phần đã biết của lời nói. Gắn thẻ POS dựa trên quy tắc, gắn thẻ POS ngẫu nhiên và gắn thẻ dựa trên chuyển đổi là các loại gắn thẻ POS phổ biến nhất.

Gắn thẻ POS dựa trên quy tắc là một trong những phương pháp gắn thẻ cổ xưa nhất. Để tìm các thẻ có thể có cho mỗi từ, trình gắn thẻ dựa trên quy tắc tham khảo từ điển hoặc từ vựng. Trình gắn thẻ dựa trên quy tắc sử dụng các quy tắc viết tay để chọn đúng thẻ nếu từ có thể có nhiều hơn một thẻ. Các thuộc tính ngôn ngữ của một từ, cũng như các từ đi trước và tiếp theo của nó, có thể được phân tích trong việc gắn thẻ dựa trên quy tắc để phân biệt từ đó.

Gắn thẻ POS Stochastic là một cách tiếp cận gắn thẻ khác. Stochastic đề cập đến một mô hình bao gồm tần suất hoặc xác suất (thống kê). Trình gắn thẻ ngẫu nhiên đề cập đến nhiều phương pháp thay thế cho vấn đề gắn thẻ một phần giọng nói. Tần suất từ ​​và trình tự thẻ được áp dụng trong trình gắn thẻ ngẫu nhiên đơn giản nhất.

Gắn thẻ dựa trên chuyển đổi còn được gọi là gắn thẻ Brill. Đó là một ví dụ về học tập dựa trên chuyển đổi (TBL), là một hệ thống dựa trên quy tắc để tự động gắn nhãn POS cho văn bản nhất định. TBL chuyển đổi trạng thái này sang trạng thái khác bằng cách sử dụng các quy tắc chuyển đổi, cho phép chúng ta có kiến ​​thức ngôn ngữ một cách dễ đọc.

Hãy thử thao tác gắn thẻ POS với đối tượng “my_sentence” của chúng tôi.

my_sentence.tags

Đầu ra:

[('I', 'PRP'), ('am', 'VBP'), ('reading', 'VBG'), ('a', 'DT'), ('blog', 'NN') , ('post', 'NN'), ('on', 'IN'), ('AnalyticsVidhya', 'NNP'), ('I', 'PRP'), ('am', 'VBP') , ('thương', 'VBG'), ('nó', 'PRP')] 

Cụm danh từ sử dụng Textblob

Merriam-webster định nghĩa Danh từ là:

Bất kỳ thành viên nào của một nhóm từ thường có thể được kết hợp với các bộ xác định để làm chủ ngữ của động từ, có thể được hiểu là số ít hoặc số nhiều, có thể được thay thế bằng đại từ và chỉ một thực thể, chất lượng, trạng thái, hành động, hoặc khái niệm.

Giả sử chúng ta muốn trích xuất các cụm danh từ trong câu của chúng ta. Điều này có thể dễ dàng được thực hiện bằng cách sử dụng thuộc tính cụm danh từ.

my_sentence.noun_phrase

Đầu ra:

WordList (['bài đăng trên blog', 'analyticsvidhya']) 

Phân tích tình cảm bằng Textblob

Hình ảnh phân tích tình cảm
Hình ảnh 2

Phân tích cảm xúc có thể giúp chúng tôi xác định tâm trạng và cảm xúc của công chúng cũng như thu được thông tin hữu ích về bối cảnh. Phân tích tình cảm là quá trình đánh giá dữ liệu và phân loại dữ liệu theo nhu cầu.

Tính phân cực và tính chủ quan của một câu lệnh được trả về bởi TextBlob. Phạm vi phân cực là [-1,1], với -1 biểu thị tình cảm tiêu cực và 1 biểu thị tình cảm tích cực. Các từ phủ định được sử dụng để thay đổi cực của câu. Các nhãn ngữ nghĩa trong TextBlob hỗ trợ phân tích chi tiết. Ví dụ: biểu tượng cảm xúc, dấu chấm than và biểu tượng cảm xúc. tính chủ quan thuộc phạm vi số [0,1]. Mức độ của ý kiến ​​cá nhân và thông tin thực tế trong một văn bản được đo lường bằng tính chủ quan. Do tính chủ quan của văn bản được nâng cao, nó chứa đựng ý kiến ​​cá nhân hơn là thông tin thực tế. Có một cài đặt khác trong TextBlob: cường độ. 'Cường độ' được TextBlob sử dụng để tính toán tính chủ quan. Cường độ của một từ ảnh hưởng đến việc liệu nó có sửa đổi từ tiếp theo hay không. Trạng từ được dùng làm bổ ngữ trong tiếng Anh.

Bằng cách cung cấp một câu đầu vào, thuộc tính tình cảm của TextBlob trả về một bộ giá trị được đặt tên với điểm phân cực và chủ quan. Điểm cực tính nằm trong khoảng từ -1.0 đến 1.0 và tính chủ quan nằm trong khoảng từ 0.0 đến 1.0, trong đó 0.0 là một tuyên bố khách quan và 1 là một tuyên bố chủ quan.

my_sentence.sentiment

Đầu ra:

Cảm xúc (cực = 0.75, chủ quan = 0.95) 

Mã hóa bằng Textblob

Tiếp theo là mã hóa. Trong bất kỳ đường ống NLP nào, tokenization được coi là bước đầu tiên của quá trình đường ống. Tokenizer chia dữ liệu phi cấu trúc và văn bản ngôn ngữ tự nhiên thành các phần thông tin có thể được coi là các phần tử rời rạc. Các lần xuất hiện mã thông báo của tài liệu có thể được sử dụng để tạo vectơ phản ánh tài liệu. Một chuỗi không có cấu trúc (tài liệu văn bản) được chuyển thành một cấu trúc dữ liệu số thích hợp cho việc học máy chỉ trong vài giây. Chúng cũng có thể được sử dụng để chỉ đạo các hoạt động và phản hồi hữu ích của máy tính. Chúng có khả năng được sử dụng như các tính năng trong đường dẫn máy học để đưa ra các quyết định hoặc hành động phức tạp hơn.

Các thuật toán NLP được hỗ trợ bởi học sâu gần đây đã giải thích các mã thông báo trong ngữ cảnh mà chúng xuất hiện, ngay cả trong các ngữ cảnh rất rộng. Bởi vì hệ thống có thể suy ra "ý nghĩa" của các mã thông báo bất thường dựa trên ngữ cảnh của chúng, khả năng này giảm thiểu vấn đề "Từ đồng nghĩa" và làm cho hệ thống NLP mạnh mẽ hơn khi đối mặt với các mã thông báo hiếm. Cách chúng tôi mã hóa văn bản đã thay đổi do những khả năng tương đối mới này trong lĩnh vực NLP. Phương pháp tiếp cận theo đường ống thường được sử dụng để mã hóa các hệ thống không học sâu. Sau khi tách văn bản thành các ứng cử viên mã thông báo (bằng cách tách trên khoảng trắng hoặc sử dụng các phép thử phức tạp hơn), các mã thông báo liên quan được hợp nhất và các mã thông báo ồn ào sẽ bị loại bỏ.

Các hệ thống mã hóa hiện đại, chẳng hạn như phần Câu hoặc thuật toán BPE, tách và hợp nhất các mã thông báo thành các dạng phức tạp hơn và được gọi là bộ tách mật khẩu phụ. Ví dụ, BPE là một kỹ thuật mã hóa cho phép có vốn từ vựng không giới hạn bằng cách diễn đạt một số mã thông báo dưới dạng các cặp mã thông báo trở lên. Một cách tiếp cận mới là gần như tránh hoàn toàn việc mã hóa và chạy các thuật toán NLP ở cấp độ ký tự. Do đó, các mô hình của chúng tôi phải xử lý các ký tự và hiểu ý nghĩa của chúng để xử lý các chuỗi dài hơn đáng kể. NLP ở cấp độ ký tự cho phép chúng ta tránh các sắc thái của mã hóa và các lỗi mà nó có thể gây ra, với kết quả đôi khi đáng kinh ngạc.

Chúng ta có thể dễ dàng chia nhỏ các câu thành từ hoặc câu. Chúng tôi có các thuộc tính từ và câu cho điều đó.

my_sentence.words

Đầu ra

WordList (['I', 'am', 'reading', 'a', 'blog', 'post', 'on', 'AnalyticsVidhya', 'I', 'am', 'love', 'it' ])

Đối với các câu:

my_sentence.sentences

Đầu ra:

[Câu ("Tôi đang đọc một bài đăng blog trên AnalyticsVidhya."), Câu ("Tôi yêu nó!")] 

Word Inflection sử dụng Textblob

Chúng ta có thể dễ dàng phân biệt và đa dạng hóa các từ với sự trợ giúp của các thuộc tính “kỳ dị” và “đa phân hóa” tương ứng.

my_sentence.words [4] .pluralized () # từ "blog"

Đầu ra:

'blog' 

Bổ sung hóa bằng Textblob

Bổ đề hóa là quá trình tập hợp các dạng dẫn xuất của một từ lại với nhau thành một thành phần hoặc mục duy nhất. Thuộc tính "lemmatize" giúp chúng tôi đạt được chức năng này. Trong Xử lý ngôn ngữ tự nhiên (NLP) và học máy, lemmatization là một trong những kỹ thuật văn bản được sử dụng nhiều nhất trong giai đoạn tiền xử lý. Lập trình là một khái niệm Xử lý ngôn ngữ tự nhiên gần như có thể so sánh với khái niệm này. Chúng tôi cố gắng giảm một thuật ngữ nhất định thành từ gốc của nó trong cả cách tạo gốc và bổ ngữ. Trong quá trình tạo gốc, từ gốc được gọi là gốc, và trong quá trình bổ đề, nó được gọi là bổ đề.

Bổ sung hóa có ưu điểm là chính xác hơn. Việc bổ sung hóa là điều quan trọng nếu bạn đang làm việc với một ứng dụng NLP như bot trò chuyện hoặc trợ lý ảo khi hiểu được ý nghĩa của cuộc thảo luận là rất quan trọng. Tuy nhiên, độ chính xác này phải trả giá.

Vì việc bổ ngữ đòi hỏi việc xác định nghĩa của một từ từ một nguồn như từ điển, nên mất nhiều thời gian. Kết quả là, hầu hết các phương pháp lemmatization đều chậm hơn so với các kỹ thuật chiết cành. Mặc dù có một chi phí xử lý cho việc lemmatization, các tài nguyên tính toán hiếm khi được xem xét trong một thử thách ML.

từ textblob nhập Word w = Word ("bán kính") w.lemmatize ()

Đầu ra:

'bán kính'

Một ví dụ khác:

w = Word ("đã") w.lemmatize ("v")

Đầu ra:

'đi' 

Định nghĩa bằng Textblob

TextBlob cũng cung cấp chức năng xác định từ đã cho. Thuộc tính được gọi là "định nghĩa" thực hiện công việc cho nó.

Định nghĩa Word ("blog").

Đầu ra:

['nhật ký trực tuyến được chia sẻ nơi mọi người có thể đăng các mục nhật ký về trải nghiệm và sở thích cá nhân của họ', 'đọc, viết hoặc chỉnh sửa nhật ký trực tuyến được chia sẻ']

bộ đồng bộ

Thuộc tính “synsets” trả về danh sách các đối tượng synset cho một từ cụ thể.

word = Word ("phone") word.synsets

Đầu ra:

[Synset ('phone.n.01'), Synset ('phone.n.02'), Synset ('earphone.n.01'), Synset ('call.v.03')] 

Sửa chính tả bằng Textblob

Kiểm tra chính tả | văn bản
Hình ảnh 3

Thao tác kiểm tra lỗi chính tả được thực hiện bởi phương thức “đúng ()”. Nó sử dụng cách tiếp cận cổ điển của "Làm thế nào để viết một sửa chính tả?"

my_sentence = TextBlob ("Tôi không ở trong denger. Tôi là dyangr.") my_sentence.correct ()

Đầu ra:

TextBlob ("Tôi không gặp nguy hiểm. Tôi là mối nguy hiểm.")

Tương tự, phương thức `spellcheck ()` trả về một danh sách các từ có thể đúng cùng với độ tin cậy ở dạng một bộ.

w = Word ('neumonia') w.spellcheck ()

Đầu ra:

[('viêm phổi', 1.0)] 

Tần suất từ ​​sử dụng Textblob

Phép toán “word_counts” trả về số lượt đếm của một từ cụ thể trong câu.

betty = TextBlob ("Betty Botter đã mua một ít bơ. Nhưng cô ấy nói Bơ đắng. Nếu tôi cho nó vào bột của mình, nó sẽ làm cho bột của tôi đắng. Nhưng một chút bơ tốt hơn sẽ làm cho bột của tôi ngon hơn.") betty.word_counts ['bơ']

Đầu ra:

3

Để áp dụng phân biệt chữ hoa chữ thường, chúng ta có thể áp dụng các phép toán `.count (word, case_sensitive = True)`.

betty.words.count ('butter', case_sensitive = True)

Đầu ra:

2

Phân tích cú pháp bằng TextBlob

Thuật ngữ “phân tích cú pháp” bắt nguồn từ từ “phân tích cú pháp” trong tiếng Latinh (có nghĩa là “một phần”). Nó được sử dụng để trích xuất chính xác hoặc nghĩa từ điển từ một văn bản. Phân tích cú pháp, hay phân tích cú pháp, là một tên gọi khác của nó. Phân tích cú pháp kiểm tra ý nghĩa của văn bản bằng cách so sánh văn bản với các quy tắc ngữ pháp chính thức. Do đó, phân tích cú pháp, phân tích cú pháp hoặc phân tích cú pháp có thể được định nghĩa là quá trình phân tích các chuỗi ký hiệu trong ngôn ngữ tự nhiên tương ứng với các quy tắc ngữ pháp chính thức. .

betty.parse ()

Đầu ra:

'Betty / NNP / B-NP / O Botter / NNP / I-NP / O đã mua / VBD / B-VP / O some / DT / B-NP / O butter / NN / I-NP / O././ O / OnBut / CC / O / O she / PRP / B-NP / O said / VBD / B-VP / O the / DT / B-NP / O Butter / NN / I-NP / O '/ NN / I -NP / O s / PRP / I-NP / O đắng / JJ / B-ADJP / O ././O/OnIf/IN/B-PP/B-PNP I / PRP / B-NP / I-PNP đặt / VB / B-VP / O it / PRP / B-NP / O in / IN / B-PP / B-PNP my / PRP $ / B-NP / I-PNP batter / NN / I-NP / I -PNP, /, / O / O it / PRP / B-NP / O will / MD / B-VP / O make / VB / I-VP / O my / PRP $ / B-NP / O batter / NN / I-NP / O đắng / JJ / B-ADJP / O ././O/OnBut/CC/O/O a / DT / B-NP / O bit / NN / I-NP / O of / IN / B -PP / B-PNP tốt hơn / JJR / B-NP / I-PNP butter / NN / I-NP / I-PNP will / MD / B-VP / O make / VB / I-VP / O my / PRP $ / B-NP / O batter / NN / I-NP / O better / JJR / B-ADJP / O ././O/O '

Điểm tương đồng của TextBlob với chuỗi Python

TextBlobs tương tự như chuỗi Python. Chúng có thể thực hiện các thao tác cắt cơ bản giống như các chuỗi Python thông thường.

my_sentence = TextBlob ("Đơn giản tốt hơn phức tạp.") my_sentence [0:16]

Đầu ra:

TextBlob ("Đơn giản thì tốt hơn")

Ngoài việc cắt, “upper ()” và “under ()” cũng có thể được thực hiện.

my_sentence.upper ()

Đầu ra:

TextBlob ("ĐƠN GIẢN TỐT HƠN SO VỚI COMPLEX.")

Và cũng giống như chuỗi thông thường, chúng ta cũng có thể thực hiện thao tác “find ()”.

my_sentence.find ("tốt hơn")

Đầu ra:

10

Textblob và chuỗi Python có thể dễ dàng được nối với nhau.

a = TextBlob ("Đen") b = TextBlob ("Xanh lam") a + 'và' + b

Đầu ra:

TextBlob ("Đen và Xanh lam")

Đối tượng cũng có thể được định dạng.

"{0} và {1}". Format (a, b)

Đầu ra:

'Đen và xanh' 

N-gram sử dụng TextBlob

Hãy xem xét các ví dụ sau:

1) Một con mèo ở trong túi.

2) Nói tên tôi.

3) Chúc may mắn

Một N-gam chỉ đơn giản là chuỗi các từ 'n'. Trong ví dụ trên, phát biểu đầu tiên “Một con mèo ở trong túi” là 6 gam. Tương tự, “Hãy nói tên tôi” là 3 gam và “Chúc may mắn” là 2 gam. N-gam được sử dụng cho một loạt các nhiệm vụ. Ví dụ: khi tạo mô hình ngôn ngữ, n-gram được sử dụng để tạo không chỉ các mô hình unigram (đơn n-gram) mà còn cả bigram (2 gram) và trigram (3 gram) hoặc nhiều mô hình. Các mô hình n-gram quy mô web đã được các nhà nghiên cứu xây dựng cho một số ứng dụng bao gồm sửa lỗi chính tả, ngắt chữ và tóm tắt văn bản. Một ứng dụng khác của n-gram là phát triển các tính năng cho các mô hình Học máy được giám sát như SVM và Naive Bayes, trong số những mô hình khác. Thay vì sử dụng unigram, khái niệm này là sử dụng các mã thông báo giống như bigram trong không gian tính năng.

Phép toán n-gram (trả về một danh sách gồm n từ liên tiếp) cũng có thể được thực hiện dễ dàng.

bob = TextBlob ("Một người đàn ông phải đi bao nhiêu con đường trước khi chúng ta có thể gọi anh ta là đàn ông?") bob.ngrams (n = 3)

Đầu ra:

[WordList (['Cách', 'nhiều', 'đường']), WordList (['nhiều', 'đường', 'nên']), WordList (['đường', 'nên', 'a'] ), WordList (['should', 'a', 'man']), WordList (['a', 'man', 'must']), WordList (['man', 'must', 'walk' ]), WordList (['must', 'walk', 'before']), WordList (['walk', 'before', 'we']), WordList (['before', 'we', 'can ']), WordList ([' chúng tôi ',' có thể ',' gọi ']), WordList ([' có thể ',' gọi ',' anh ấy ']), WordList ([' gọi ',' anh ấy ',' a ']), WordList ([' him ',' a ',' man '])]

Ổn thỏa! Chúng tôi đã thấy nhiều ứng dụng dễ dàng và thú vị với TextBlob. Tuy nhiên, vấn đề thực sự ở đây là áp dụng những chức năng này trong dự án của riêng bạn và tạo ra thứ gì đó có ý nghĩa từ kiến ​​thức mà chúng tôi thu thập được. Mặc dù NLP có rất nhiều ứng dụng, nhưng TextBlob thực sự giúp chúng tôi tạo ra những bước đệm.

Lưu ý

Chào bạn! Tên tôi là Akash và tôi đã làm việc với tư cách là nhà phát triển Python hơn 4 năm nay. Trong quá trình sự nghiệp của mình, tôi bắt đầu với tư cách là Nhà phát triển Python sơ cấp tại trang web Cổng việc làm lớn nhất Nepal, công việc. Sau đó, tôi tham gia vào Khoa học Dữ liệu và nghiên cứu tại công ty chia sẻ xe đầu tiên của Nepal, tăm xỉa răng. Hiện tại, tôi đang tích cực tham gia vào Khoa học Dữ liệu cũng như Phát triển Web với Django.

Bạn có thể tìm thấy các dự án khác của tôi trên:

https://github.com/akashadhikari

Kết nối tôi trên LinkedIn

https://www.linkedin.com/in/akashadh/

Email: [email được bảo vệ] | [email được bảo vệ]

Trang web: https://akashadhikari.github.io/

Ghi chú kết thúc

Nhờ đọc!

Tôi hy vọng bạn thích đọc bài báo. Nếu bạn thấy nó hữu ích, hãy chia sẻ nó với bạn bè của bạn trên phương tiện truyền thông xã hội. Đối với bất kỳ thắc mắc, đề xuất, phê bình mang tính xây dựng nào hoặc bất kỳ cuộc thảo luận nào khác, vui lòng gửi cho tôi tại đây trong phần nhận xét hoặc bạn có thể liên hệ trực tiếp với tôi qua email.

Nguồn hình ảnh

Hình ảnh 1: https://www.ebo.ai/tag/nlp/page/2/

Hình ảnh 2: https://www.freecodecamp.org/news/what-is-sentiment-analysis-a-complete-guide-to-for-beginners/

Image 3: https://wolfgarbe.medium.com/1000x-faster-spelling-correction-algorithm-2012-8701fcd87a5f

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định của Tác giả.

Nguồn: https://www.analyticsvidhya.com/blog/2021/10/making-natural-language-processing-easy-with-textblob/

Dấu thời gian:

Thêm từ Phân tích Vidhya