Mạng từ NLTK: Tìm từ đồng nghĩa từ Mạng từ NLTK trong Python

⚡ Tóm tắt thông minh

WordNet là một cơ sở dữ liệu từ vựng và trình đọc ngữ liệu NLTK dành cho tiếng Anh, nhóm các danh từ, động từ, tính từ và trạng từ thành các tập từ đồng nghĩa, cho phép Python Các chương trình này tra cứu từ đồng nghĩa, từ trái nghĩa, từ loại cao hơn và nghĩa của từ để xử lý ngôn ngữ tự nhiên.

  • 🧩 Người đọc ngữ liệu: WordNet được nhập từ nltk.corpus và hoạt động như một từ điển tiếng Anh theo ngữ nghĩa.
  • 🔁 Synsets: Synset là một tập hợp các từ đồng nghĩa, chẳng hạn như tám nghĩa được tìm thấy cho từ "chó".
  • 🔗 Mối quan hệ từ vựng: Các liên kết ngữ nghĩa tương hỗ kết nối các từ đồng nghĩa, trái nghĩa, siêu loại và hạ loại.
  • 🧪 Từ đồng nghĩa và trái nghĩa: Looping Tập hợp các từ đồng nghĩa và từ gốc (synsets and lemmas) thu thập mọi từ đồng nghĩa và trái nghĩa của một từ.
  • 🌳 Hệ thống cấp bậc: Các từ loại rộng hơn, từ loại hẹp hơn, từ loại bao hàm và từ loại bộ phận giúp phân loại từ ngữ thành các nhóm con gồm danh từ, động từ, tính từ và trạng từ.
  • 🤖 Lợi ích của AI: WordNet hỗ trợ các tác vụ phân tích văn bản như sửa lỗi chính tả, dịch thuật và phát hiện thư rác.

NLTK WordNet

Mạng từ là gì?

Mạng từ WordNet là một trình đọc ngữ liệu NLTK, một cơ sở dữ liệu từ vựng cho tiếng Anh. Nó có thể được sử dụng để tìm nghĩa của từ, từ đồng nghĩa hoặc từ trái nghĩa. Có thể định nghĩa nó như một từ điển tiếng Anh theo ngữ nghĩa. WordNet được nhập bằng lệnh sau:

from nltk.corpus import wordnet as guru

Vì WordNet được cung cấp dưới dạng một kho ngữ liệu hoàn chỉnh, bạn chỉ cần tải nó một lần và ngay lập tức bắt đầu truy vấn mối quan hệ giữa các từ mà không cần tự xây dựng bất kỳ từ điển nào.

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

Số liệu thống kê cho thấy có 155287 từ và 117659 từ đồng nghĩa Các bộ từ vựng được bao gồm trong WordNet tiếng Anh. Bạn có thể tìm thấy các phương pháp khác nhau có sẵn với WordNet bằng cách gõping dir(guru), liệt kê mọi thuộc tính trình tải và phương thức hỗ trợ được trình đọc ngữ liệu cung cấp.

Synset: Nó còn được gọi là tập hợp từ đồng nghĩa hoặc bộ sưu tập các từ đồng nghĩa. Chúng ta hãy xem một ví dụ.

from nltk.corpus import wordnet
syns = wordnet.synsets("dog")
print(syns)

Đầu ra:

[Synset('dog.n.01'), Synset('frump.n.01'), Synset('dog.n.03'), Synset('cad.n.01'), Synset('frank.n.02'), Synset('pawl.n.01'), Synset('andiron.n.01'), Synset('chase.v.01')]

Mối quan hệ từ vựng: Đây là các mối quan hệ ngữ nghĩa có tính chất tương hỗ. Nếu có mối quan hệ giữa {x1,x2,…xn} và {y1,y2,…yn}, thì cũng có mối quan hệ giữa {y1,y2,…yn} và {x1,x2,…xn}. Ví dụ, từ đồng nghĩa là trái nghĩa với từ trái nghĩa, trong khi từ siêu loại và từ hạ loại là một loại khái niệm từ vựng.

Chúng ta hãy viết một chương trình sử dụng Python Tìm từ đồng nghĩa và trái nghĩa của từ “active” bằng WordNet.

from nltk.corpus import wordnet
synonyms = []
antonyms = []
for syn in wordnet.synsets("active"):
    for l in syn.lemmas():
        synonyms.append(l.name())
        if l.antonyms():
            antonyms.append(l.antonyms()[0].name())
print(set(synonyms))
print(set(antonyms))

Đầu ra của mã:

{'dynamic', 'fighting', 'combat-ready', 'active_voice', 'active_agent', 'participating', 'alive', 'active'} -- Synonym
{'stative', 'passive', 'quiet', 'passive_voice', 'extinct', 'dormant', 'inactive'} -- Antonym

Giải thích mã:

  • WordNet là một kho ngữ liệu, vì vậy nó được nhập từ gói nltk.corpus.
  • Hai danh sách từ đồng nghĩa và từ trái nghĩa được coi là trống, và chúng sẽ được sử dụng để thêm vào.
  • Các từ đồng nghĩa của từ “active” được tìm kiếm trong phương pháp synsets và được thêm vào danh sách từ đồng nghĩa. Quá trình tương tự cũng được sử dụng để thu thập các từ trái nghĩa.
  • Kết quả được in ra như sau: Python Cài đặt sao cho các mục trùng lặp được tự động xóa.

Ngoài các từ đồng nghĩa và trái nghĩa, WordNet còn hiển thị cả các từ siêu loại (các thuật ngữ rộng hơn), từ hạ loại (các thuật ngữ cụ thể hơn), từ toàn thể và từ bộ phận, do đó một truy vấn duy nhất có thể đặt một từ vào toàn bộ hệ thống phân cấp "là một". Những mối quan hệ này làm cho WordNet trở thành một từ điển đồng nghĩa thực tiễn cho các công cụ kiểm tra chính tả, dịch thuật, phát hiện thư rác và các nhiệm vụ phân tích văn bản khác trong trí tuệ nhân tạo.

Câu Hỏi Thường Gặp

WordNet là một trình đọc ngữ liệu NLTK và cơ sở dữ liệu từ vựng dành cho tiếng Anh. Nó hoạt động như một từ điển định hướng ngữ nghĩa, cho phép bạn tra cứu nghĩa, từ đồng nghĩa và từ trái nghĩa của một từ một cách đơn giản. Python lệnh.

Synset, viết tắt của synonym set (tập hợp từ đồng nghĩa), là một nhóm từ có cùng khái niệm. Gọi wordnet.synsets(“dog”) sẽ trả về một số synset, mỗi synset đại diện cho một nghĩa khác nhau của từ “dog”.

Lặp qua wordnet.synsets(word), sau đó lặp qua từng lemmas() của synset. Thêm lemma.name() để thu thập từ đồng nghĩa và gọi lemma.antonyms() để thu thập từ trái nghĩa. Kết thúcping Kết quả trong hàm set() loại bỏ các mục trùng lặp.

Thuật ngữ siêu loại (hypernym) là một thuật ngữ rộng hơn, bao quát hơn (bữa ăn là siêu loại của bữa sáng), trong khi thuật ngữ hạ loại (hyponym) là một thuật ngữ cụ thể hơn (cơm là hạ loại của bữa ăn). WordNet liên kết chúng để tạo thành một hệ thống phân cấp "là một".

Từ điển WordNet tiếng Anh bao gồm khoảng 155,287 từ được sắp xếp thành khoảng 117,659 bộ từ đồng nghĩa. Cơ sở dữ liệu này bao gồm bốn loại từ: danh từ, động từ, tính từ và trạng từ, mỗi loại được lưu trữ trong một mạng con riêng biệt.

Trong lĩnh vực trí tuệ nhân tạo, WordNet hỗ trợ các tác vụ phân tích văn bản như phân giải nghĩa từ, sửa lỗi chính tả, dịch ngôn ngữ và phát hiện thư rác. Các mối quan hệ có cấu trúc của nó cung cấp cho các mô hình học máy nhiều đặc điểm ngôn ngữ phong phú hơn so với chỉ sử dụng các từ thô.

Đúng vậy. Các thuật toán trí tuệ nhân tạo và học máy sử dụng các thước đo độ tương đồng của WordNet như độ tương đồng đường dẫn và độ tương đồng Wu-Palmer. Chúng đánh giá mức độ gần gũi giữa hai tập từ đồng nghĩa bằng cách đo đường dẫn ngắn nhất giữa chúng trong hệ thống phân cấp siêu từ và hạ từ.

Một từ điển thông thường liệt kê các định nghĩa theo thứ tự bảng chữ cái. Thay vào đó, WordNet liên kết các từ theo nghĩa thông qua các tập từ đồng nghĩa và các mối quan hệ từ vựng, vì vậy nó hoạt động như một từ điển và từ điển đồng nghĩa kết hợp mà máy móc có thể duyệt qua bằng lập trình.

Tóm tắt bài viết này với: