IDF trong Python là gì?

TF-IDF là viết tắt của thuật ngữ tần suất tài liệu nghịch đảo tần số và nó là thước đo, được sử dụng trong các lĩnh vực truy xuất thông tin [IR] và học máy, có thể định lượng tầm quan trọng hoặc mức độ liên quan của các biểu diễn chuỗi [từ, cụm từ, bổ đề, v.v.]

Tổng quan về TF-IDF

TF-IDF có thể được chia thành hai phần TF [tần số thuật ngữ] và IDF [tần số tài liệu nghịch đảo]

TF [tần số thuật ngữ] là gì?

Tần suất thuật ngữ hoạt động bằng cách xem xét tần suất của một thuật ngữ cụ thể mà bạn quan tâm liên quan đến tài liệu. Có nhiều biện pháp hoặc cách xác định tần suất

  • Số lần từ xuất hiện trong tài liệu [số thô]
  • Tần suất thuật ngữ được điều chỉnh theo độ dài của tài liệu [số lần xuất hiện thô chia cho số từ trong tài liệu]
  • Tần số theo tỷ lệ logarit [e. g. nhật ký [1 + số lượng thô]]
  • Tần số Boolean [e. g. 1 nếu thuật ngữ xuất hiện hoặc 0 nếu thuật ngữ không xuất hiện trong tài liệu]

IDF [tần số tài liệu nghịch đảo] là gì?

Tần suất tài liệu nghịch đảo xem xét mức độ phổ biến [hoặc không phổ biến] của một từ trong kho văn bản. IDF được tính như sau trong đó t là thuật ngữ [từ] mà chúng tôi đang tìm kiếm để đo mức độ phổ biến của và N là số lượng tài liệu [d] trong kho văn bản [D]. Mẫu số chỉ đơn giản là số lượng tài liệu trong đó thuật ngữ t xuất hiện trong.  

Nguồn hình ảnh. https. // khỉhọc. com/blog/what-is-tf-idf/

Ghi chú. Có thể một thuật ngữ hoàn toàn không xuất hiện trong văn bản, điều này có thể dẫn đến lỗi chia cho 0. Một cách để xử lý việc này là lấy số hiện có và thêm 1. Do đó làm cho mẫu số [1 + số]. Bạn có thể xem ví dụ về cách scikit-learning trong thư viện phổ biến xử lý vấn đề này bên dưới

Nguồn hình ảnh. https. // hướng tới khoa học dữ liệu. com/how-sklearns-tf-idf-is-different-from-the-standard-tf-idf-275fa582e73d

Lý do chúng tôi cần IDF là để giúp sửa các từ như “of”, “as”, “the”, v.v. vì chúng xuất hiện thường xuyên trong ngữ liệu tiếng Anh. Do đó, bằng cách sử dụng tần suất tài liệu nghịch đảo, chúng tôi có thể giảm thiểu trọng số của các thuật ngữ thường xuyên trong khi làm cho các thuật ngữ không thường xuyên có tác động cao hơn

Cuối cùng, các IDF cũng có thể được lấy từ kho văn bản nền, giúp điều chỉnh sai lệch lấy mẫu hoặc tập dữ liệu đang được sử dụng trong thử nghiệm

Đặt nó lại với nhau. TF-IDF

Để tóm tắt trực giác quan trọng thúc đẩy TF-IDF là tầm quan trọng của một thuật ngữ tỷ lệ nghịch với tần suất xuất hiện của nó trên các tài liệu. TF cung cấp cho chúng tôi thông tin về tần suất xuất hiện của một thuật ngữ trong tài liệu và IDF cung cấp cho chúng tôi thông tin về độ hiếm tương đối của một thuật ngữ trong bộ sưu tập tài liệu. Bằng cách nhân các giá trị này với nhau, chúng ta có thể nhận được giá trị TF-IDF cuối cùng

Nguồn hình ảnh. https. // khỉhọc. com/blog/what-is-tf-idf/

Điểm TF-IDF càng cao thì thuật ngữ càng quan trọng hoặc có liên quan;

Nơi sử dụng TF-IDF

Như chúng ta có thể thấy, TF-IDF có thể là một thước đo rất hữu ích để xác định tầm quan trọng của một thuật ngữ trong tài liệu. Nhưng TF-IDF được sử dụng như thế nào? . Đây là trong học máy, truy xuất thông tin và tóm tắt văn bản/trích xuất từ ​​khóa

Sử dụng TF-IDF trong học máy & xử lý ngôn ngữ tự nhiên

Các thuật toán học máy thường sử dụng dữ liệu số, do đó, khi xử lý dữ liệu văn bản hoặc bất kỳ tác vụ xử lý ngôn ngữ tự nhiên [NLP] nào, một trường con của ML/AI xử lý văn bản, dữ liệu đó trước tiên cần được chuyển đổi thành một vectơ dữ liệu số bằng cách . Quá trình vector hóa TF-IDF liên quan đến việc tính điểm TF-IDF cho mỗi từ trong kho văn bản của bạn so với tài liệu đó và sau đó đưa thông tin đó vào một véc tơ [xem hình ảnh bên dưới sử dụng tài liệu mẫu “A” và “B”]. Do đó, mỗi tài liệu trong kho văn bản của bạn sẽ có vectơ riêng và vectơ sẽ có điểm TF-IDF cho từng từ trong toàn bộ bộ sưu tập tài liệu. Khi bạn có các vectơ này, bạn có thể áp dụng chúng cho các trường hợp sử dụng khác nhau, chẳng hạn như xem liệu hai tài liệu có giống nhau hay không bằng cách so sánh vectơ TF-IDF của chúng bằng cách sử dụng độ tương tự cosine

A = “Xe chạy trên đường”; . //www. freecodecamp. org/news/how-to-process-textual-data-using-tf-idf-in-python-cd2bbc0a94a3/]

Sử dụng TF-IDF trong truy xuất thông tin

TF-IDF cũng có các trường hợp sử dụng trong lĩnh vực truy xuất thông tin, với một ví dụ phổ biến là công cụ tìm kiếm. Vì TF-IDF có thể cho bạn biết về tầm quan trọng liên quan của một thuật ngữ dựa trên tài liệu, công cụ tìm kiếm có thể sử dụng TF-IDF để giúp xếp hạng kết quả tìm kiếm dựa trên mức độ liên quan, với kết quả phù hợp hơn với người dùng có TF-IDF cao hơn

Sử dụng TF-IDF trong tóm tắt văn bản và khai thác từ khóa

Vì TF-IDF đánh giá các từ dựa trên mức độ liên quan, người ta có thể sử dụng kỹ thuật này để xác định rằng các từ có mức độ liên quan cao nhất là từ quan trọng nhất. Điều này có thể được sử dụng để giúp tóm tắt các bài báo hiệu quả hơn hoặc đơn giản là xác định từ khóa [hoặc thậm chí cả thẻ] cho tài liệu

Vectơ & Từ nhúng. TF-IDF so với Word2Vec so với Túi từ so với BERT

Như đã thảo luận ở trên, TF-IDF có thể được sử dụng để vector hóa văn bản thành định dạng phù hợp hơn cho các kỹ thuật ML & NLP. Tuy nhiên, mặc dù nó là một thuật toán NLP phổ biến nhưng nó không phải là thuật toán duy nhất hiện có

túi từ

Bag of Words [BoW] chỉ đơn giản là đếm tần suất của các từ trong tài liệu. Do đó, vectơ cho một tài liệu có tần số xuất hiện của mỗi từ trong kho văn bản cho tài liệu đó. Sự khác biệt chính giữa túi từ và TF-IDF là cái trước không kết hợp bất kỳ loại tần suất tài liệu nghịch đảo [IDF] nào và chỉ là số lượng tần suất [TF]

Word2Vec

Word2Vec là một thuật toán sử dụng các mạng thần kinh 2 lớp nông, không sâu, để nhập một kho văn bản và tạo ra các bộ vectơ. Một số điểm khác biệt chính giữa TF-IDF và word2vec là TF-IDF là thước đo thống kê mà chúng ta có thể áp dụng cho các thuật ngữ trong tài liệu và sau đó sử dụng nó để tạo thành một vectơ trong khi word2vec sẽ tạo một vectơ cho một thuật ngữ và sau đó có thể cần nhiều công việc hơn . Ngoài ra, TF-IDF không xem xét ngữ cảnh của các từ trong ngữ liệu trong khi word2vec thì có

BERT - Biểu diễn bộ mã hóa hai chiều từ Transformers

BERT là một kỹ thuật ML/NLP do Google phát triển, sử dụng mô hình ML dựa trên biến áp để chuyển đổi các cụm từ, từ, v.v. thành các vectơ. Sự khác biệt chính giữa TF-IDF và BERT như sau. TF-IDF không tính đến ý nghĩa ngữ nghĩa hoặc ngữ cảnh của các từ trong khi BERT thì có. Ngoài ra, BERT sử dụng các mạng nơ-ron sâu như một phần kiến ​​trúc của nó, nghĩa là nó có thể đắt hơn nhiều về mặt tính toán so với TF-IDF không có yêu cầu như vậy.  

Ưu và nhược điểm của việc sử dụng TF-IDF

Ưu điểm của việc sử dụng TF-IDF

Ưu điểm lớn nhất của TF-IDF đến từ cách sử dụng đơn giản và dễ dàng. Nó đơn giản để tính toán, nó rẻ về mặt tính toán và là điểm khởi đầu đơn giản để tính toán độ tương tự [thông qua vector hóa TF-IDF + độ tương tự cosine]

Nhược điểm của việc sử dụng TF-IDF

Một điều cần lưu ý là TF-IDF không thể giúp mang ý nghĩa ngữ nghĩa. Nó xem xét tầm quan trọng của các từ dựa trên trọng lượng của chúng, nhưng nó không nhất thiết phải lấy được ngữ cảnh của các từ và hiểu tầm quan trọng theo cách đó

Cũng như đã đề cập ở trên, giống như BoW, TF-IDF bỏ qua trật tự từ và do đó các danh từ ghép như “Queen of England” sẽ không được coi là một “đơn vị”. Điều này cũng áp dụng cho các tình huống như phủ định với “không thanh toán hóa đơn” so với “thanh toán hóa đơn”, trong đó đơn đặt hàng tạo ra sự khác biệt lớn. Trong cả hai trường hợp sử dụng công cụ NER và dấu gạch dưới, “queen_of_england” hoặc “not_pay” là những cách xử lý khi coi cụm từ là một đơn vị

Một nhược điểm khác là nó có thể bị thiếu hiệu quả bộ nhớ vì TF-IDF có thể bị lời nguyền về chiều. Nhớ lại rằng độ dài của vectơ TF-IDF bằng kích thước của từ vựng. Trong một số bối cảnh phân loại, đây có thể không phải là vấn đề nhưng trong các bối cảnh khác như phân cụm, điều này có thể khó sử dụng khi số lượng tài liệu tăng lên. Do đó, việc xem xét một số lựa chọn thay thế có tên ở trên [BERT, Word2Vec] có thể cần thiết

Phần kết luận

TF-IDF [Tần số thuật ngữ - Tần số tài liệu nghịch đảo] là một thuật toán tiện dụng sử dụng tần suất của các từ để xác định mức độ liên quan của các từ đó đối với một tài liệu nhất định. Đó là một cách tiếp cận tương đối đơn giản nhưng trực quan để tính trọng số từ, cho phép nó hoạt động như một điểm khởi đầu tuyệt vời cho nhiều nhiệm vụ khác nhau. Điều này bao gồm xây dựng công cụ tìm kiếm, tóm tắt tài liệu hoặc các tác vụ khác trong lĩnh vực truy xuất thông tin và máy học

Anirudha Simha , Kỹ sư phần mềm liên kết chính, Nhóm Kai Chatbot

Anirudha Simha là một kỹ sư phần mềm đầy nhiệt huyết làm việc trong một nhóm full stack chuyên phát triển và hỗ trợ chatbot hỗ trợ NLP & ML chất lượng. Anh tốt nghiệp Đại học Công nghệ Virginia năm 2017 với bằng Kỹ sư Máy tính và chuyên ngành Toán, Khoa học Máy tính và An ninh mạng. Niềm đam mê công nghệ của Anirudha có thể được tóm tắt bằng câu trích dẫn, "Sự đổi mới đến từ sự khéo léo tuyệt vời của con người và những đam mê rất cá nhân". Ngoài công việc, Anirudha đang theo học Thạc sĩ Khoa học Máy tính và Học máy tại Georgia Tech; . Bạn có thể kết nối với Anirudha trên LinkedIn [https. //www. linkin. com/in/anirudha-simha] hoặc Twitter [https. //twitter. com/__anirudha__]

TUYÊN BỐ CÔNG KHAI. © 2021 Capital One. Ý kiến ​​là của cá nhân tác giả. Trừ khi có ghi chú khác trong bài đăng này, Capital One không liên kết với, cũng như không được xác nhận bởi bất kỳ công ty nào được đề cập. Tất cả các nhãn hiệu và tài sản trí tuệ khác được sử dụng hoặc hiển thị là tài sản của chủ sở hữu tương ứng của họ

IDF được sử dụng để làm gì?

Khung phân phối trung gian [IDF] là một giá treo tường hoặc độc lập để quản lý và kết nối cáp viễn thông giữa các thiết bị của người dùng cuối và khung phân phối chính [MDF . .

Làm cách nào để tính IDF bằng Python?

Trong python, các giá trị tf-idf có thể được tính bằng cách sử dụng phương thức TfidfVectorizer[] trong mô-đun sklearn .

IDF trong cơ sở dữ liệu là gì?

IDF cho phép máy chủ Trình quản lý ảo hóa dữ liệu tham gia với tư cách là điểm cuối trong cấu hình nhiều nhà . Bất cứ khi nào SQL được thực thi trong Db2 và tên bảng gồm ba phần chỉ định điểm cuối IDF, SQL sẽ được gửi đến máy chủ Ảo hóa dữ liệu để thực thi.

IDF trong khai thác văn bản là gì?

Tần số tài liệu nghịch đảo [IDF] là gì? . Tần suất tài liệu nghịch đảo [IDF] là trọng số cho biết mức độ phổ biến của một từ được sử dụng . Việc sử dụng nó trên các tài liệu càng thường xuyên thì điểm của nó càng thấp. Điểm càng thấp, từ đó càng ít quan trọng.

Chủ Đề