Trình phân tích cú pháp ngôn ngữ Python
Nếu bạn muốn xử lý ngôn ngữ tự nhiên (NLP) bằng Python, thì không đâu khác ngoài spaCy, một thư viện nguồn mở và miễn phí với rất nhiều khả năng tích hợp sẵn. Nó ngày càng trở nên phổ biến để xử lý và phân tích dữ liệu trong lĩnh vực NLP Show
Văn bản phi cấu trúc được sản xuất bởi các công ty, chính phủ và người dân nói chung ở quy mô đáng kinh ngạc. Điều quan trọng là phải tự động hóa quá trình xử lý và phân tích văn bản mà con người không thể xử lý. Để tự động hóa quá trình xử lý và phân tích văn bản, bạn cần thể hiện văn bản ở định dạng mà máy tính có thể hiểu được. spaCy có thể giúp bạn làm điều đó Trong hướng dẫn này, bạn sẽ học cách
Nếu bạn chưa quen với NLP, đừng lo lắng. Trước khi bắt đầu sử dụng spaCy, trước tiên bạn sẽ tìm hiểu về các thuật ngữ và khái niệm cơ bản trong NLP. Tuy nhiên, bạn nên làm quen với những điều cơ bản trong Python. Mã trong hướng dẫn này chứa từ điển, danh sách, bộ dữ liệu, vòng lặp 4, khả năng hiểu, lập trình hướng đối tượng và hàm lambda, trong số các khái niệm Python cơ bản khácMã nguồn miễn phí. Nhấp vào đây để tải xuống mã nguồn miễn phí mà bạn sẽ sử dụng để xử lý ngôn ngữ tự nhiên (NLP) trong spaCy Giới thiệu về NLP và spaCyNLP là một lĩnh vực con của trí tuệ nhân tạo và tất cả là về việc cho phép máy tính hiểu được ngôn ngữ của con người. NLP liên quan đến việc phân tích, định lượng, hiểu và rút ra ý nghĩa từ các ngôn ngữ tự nhiên Ghi chú. Hiện tại, các mô hình NLP mạnh mẽ nhất đều dựa trên máy biến áp. BERT của Google và OpenAI là những ví dụ về các mô hình như vậy Kể từ khi phát hành phiên bản 3. 0, spaCy hỗ trợ các mô hình dựa trên máy biến áp. Các ví dụ trong hướng dẫn này được thực hiện với một mô hình nhỏ hơn, được tối ưu hóa cho CPU. Tuy nhiên, bạn có thể chạy các ví dụ thay thế. Tất cả các mẫu máy biến áp Hugging Face đều có thể được sử dụng với spaCy NLP giúp bạn trích xuất thông tin chi tiết từ văn bản phi cấu trúc và có nhiều trường hợp sử dụng, chẳng hạn như
spaCy là một thư viện mã nguồn mở, miễn phí dành cho NLP bằng Python được viết bằng Cython. spaCy được thiết kế để giúp dễ dàng xây dựng các hệ thống khai thác thông tin hoặc xử lý ngôn ngữ tự nhiên cho mục đích chung Loại bỏ các quảng cáoCài đặt spaCyTrong phần này, bạn sẽ cài đặt spaCy vào một môi trường ảo, sau đó tải xuống dữ liệu và mô hình cho ngôn ngữ tiếng Anh Bạn có thể cài đặt spaCy bằng cách sử dụng 5, trình quản lý gói Python. Bạn nên sử dụng môi trường ảo để tránh phụ thuộc vào các gói trên toàn hệ thống. Để tìm hiểu thêm về môi trường ảo và 5, hãy xem Sử dụng pip của Python để quản lý các phần phụ thuộc của dự án và môi trường ảo Python. sơn lótĐầu tiên, bạn sẽ tạo một môi trường ảo mới, kích hoạt nó và cài đặt spaCy. Chọn hệ điều hành của bạn bên dưới để tìm hiểu cách
Với spaCy được cài đặt trong môi trường ảo của bạn, bạn gần như đã sẵn sàng để bắt đầu với NLP. Nhưng còn một thứ nữa bạn sẽ phải cài đặt
Có nhiều mô hình spaCy cho các ngôn ngữ khác nhau. Mô hình mặc định cho ngôn ngữ tiếng Anh được chỉ định là 7. Vì các mô hình khá lớn nên tốt nhất bạn nên cài đặt riêng chúng—bao gồm tất cả các ngôn ngữ trong một gói sẽ khiến quá trình tải xuống quá lớnKhi mô hình 7 đã tải xuống xong, hãy mở REPL Python và xác minh rằng quá trình cài đặt đã thành công>>>
Nếu những dòng này chạy mà không có bất kỳ lỗi nào, điều đó có nghĩa là spaCy đã được cài đặt và các mô hình và dữ liệu đã được tải xuống thành công. Bây giờ bạn đã sẵn sàng đi sâu vào NLP với spaCy Đối tượng >>> import spacy >>> nlp = spacy.load("en_core_web_sm") 9 cho văn bản đã xử lýTrong phần này, bạn sẽ sử dụng spaCy để giải cấu trúc một chuỗi đầu vào nhất định và bạn cũng sẽ đọc cùng một văn bản từ một tệp Trước tiên, bạn cần tải phiên bản mô hình ngôn ngữ trong spaCy >>>
Hàm 0 trả về một đối tượng 1, đối tượng này thường được gán cho một biến có tên là 2Để bắt đầu xử lý đầu vào của bạn, bạn xây dựng một đối tượng 9. Một đối tượng 9 là một chuỗi gồm 5 đối tượng đại diện cho một. Mỗi đối tượng 5 có thông tin về một phần cụ thể—thường là một từ—của văn bản. Bạn có thể khởi tạo một đối tượng 9 bằng cách gọi đối tượng 1 với chuỗi đầu vào làm đối số>>>
Trong ví dụ trên, văn bản được sử dụng để khởi tạo một đối tượng 9. Từ đó, bạn có thể truy cập cả đống thông tin về văn bản đã xử lýChẳng hạn, bạn đã lặp lại đối tượng 9 với khả năng hiểu danh sách tạo ra một loạt đối tượng 5. Trên mỗi đối tượng 5, bạn đã gọi thuộc tính 3 để lấy văn bản chứa trong mã thông báo đóTuy nhiên, thông thường bạn sẽ không sao chép và dán văn bản trực tiếp vào hàm tạo. Thay vào đó, bạn có thể sẽ đọc nó từ một tệp >>>
Trong ví dụ này, bạn đọc nội dung của tệp 4 với phương thức 5 của đối tượng 6. Vì tệp chứa thông tin giống như ví dụ trước nên bạn sẽ nhận được kết quả tương tựLoại bỏ các quảng cáophát hiện câuPhát hiện câu là quá trình xác định nơi bắt đầu và kết thúc câu trong một văn bản nhất định. Điều này cho phép bạn chia văn bản thành các đơn vị có nghĩa về mặt ngôn ngữ. Bạn sẽ sử dụng các đơn vị này khi đang xử lý văn bản của mình để thực hiện các tác vụ như gắn thẻ một phần lời nói (POS) và nhận dạng thực thể có tên, mà bạn sẽ đề cập sau trong hướng dẫn Trong spaCy, thuộc tính 7 được sử dụng để trích xuất các câu từ đối tượng 9. Đây là cách bạn trích xuất tổng số câu và bản thân các câu cho một đầu vào nhất định>>>
Trong ví dụ trên, spaCy có thể xác định chính xác các câu của đầu vào. Với 7, bạn nhận được danh sách 0 đối tượng đại diện cho các câu riêng lẻ. Bạn cũng có thể cắt các đối tượng 0 để tạo các phần của câuBạn cũng có thể tùy chỉnh hành vi phát hiện câu bằng cách sử dụng dấu phân cách tùy chỉnh. Đây là một ví dụ trong đó dấu chấm lửng ( 2) được sử dụng làm dấu phân cách, bên cạnh dấu chấm hoặc dấu chấm ( 3)>>>
Đối với ví dụ này, bạn đã sử dụng trình trang trí 4 để xác định một hàm mới lấy đối tượng 9 làm đối số. Công việc của chức năng này là xác định các mã thông báo trong 9 là phần đầu của câu và đánh dấu thuộc tính 7 của chúng thành 8. Sau khi thực hiện xong, hàm phải trả lại đối tượng 9Sau đó, bạn có thể thêm chức năng ranh giới tùy chỉnh vào đối tượng 1 bằng cách sử dụng phương thức 1. Phân tích cú pháp văn bản với đối tượng 1 đã sửa đổi này giờ đây sẽ coi từ sau hình elip là bắt đầu của một câu mớiMã thông báo trong spaCyXây dựng vùng chứa 9 liên quan đến việc mã hóa văn bản. Quá trình mã thông báo chia nhỏ văn bản thành các đơn vị cơ bản—hoặc mã thông báo—được thể hiện trong spaCy dưới dạng đối tượng 5Như bạn đã thấy, với spaCy, bạn có thể in mã thông báo bằng cách lặp qua đối tượng 9. Nhưng đối tượng 5 cũng có sẵn các thuộc tính khác để khám phá. Chẳng hạn, vị trí chỉ mục ban đầu của mã thông báo trong chuỗi vẫn có sẵn dưới dạng thuộc tính trên 5>>>
Trong ví dụ này, bạn lặp lại trên 9, in cả thuộc tính 5 và 0, đại diện cho vị trí bắt đầu của mã thông báo trong văn bản gốc. Giữ thông tin này có thể hữu ích cho việc thay thế từ tại chỗ xuống dòng, ví dụspaCy cung cấp nhiều thứ khác cho lớp 5>>> 0Trong ví dụ này, bạn sử dụng định dạng chuỗi f để xuất bảng truy cập một số thuộc tính phổ biến từ mỗi 5 trong 9
Cũng như nhiều khía cạnh của spaCy, bạn cũng có thể tùy chỉnh quy trình mã thông báo để phát hiện mã thông báo trên các ký tự tùy chỉnh. Điều này thường được sử dụng cho các từ có gạch nối như London-based Để tùy chỉnh mã thông báo, bạn cần cập nhật thuộc tính 8 trên đối tượng 1 có thể gọi bằng một đối tượng 0 mớiĐể xem những gì liên quan, hãy tưởng tượng bạn có một số văn bản sử dụng ký hiệu 1 thay vì dấu gạch nối thông thường ( 2) làm phụ tố để liên kết các từ với nhau. Vì vậy, thay vì có trụ sở tại Luân Đôn, bạn có trụ sở tại London@>>> 1Trong ví dụ này, phân tích cú pháp mặc định đọc văn bản có trụ sở tại London@ dưới dạng một mã thông báo, nhưng nếu bạn sử dụng dấu gạch nối thay vì ký hiệu 1 thì bạn sẽ nhận được ba mã thông báoĐể bao gồm ký hiệu 1 làm trung tố tùy chỉnh, bạn cần xây dựng đối tượng 0 của riêng mình>>> 2Trong ví dụ này, trước tiên bạn khởi tạo một đối tượng 1 mới. Để xây dựng một 0 mới, bạn thường cung cấp cho nó
Các hàm liên quan thường là các hàm regex mà bạn có thể truy cập từ các đối tượng regex đã biên dịch. Để xây dựng các đối tượng biểu thức chính quy cho các tiền tố và hậu tố—mà bạn không muốn tùy chỉnh—bạn có thể tạo chúng với các giá trị mặc định, được hiển thị trên các dòng 5 đến 10 Để tạo hàm trung tố tùy chỉnh, trước tiên, bạn xác định một danh sách mới trên dòng 12 với bất kỳ mẫu biểu thức chính quy nào mà bạn muốn đưa vào. Sau đó, bạn tham gia danh sách tùy chỉnh của mình với thuộc tính 04 của đối tượng 1, thuộc tính này cần được chuyển thành danh sách trước khi tham gia. Bạn muốn làm điều này để bao gồm tất cả các trung tố hiện có. Sau đó, bạn chuyển bộ dữ liệu mở rộng làm đối số cho 05 để lấy đối tượng biểu thức chính quy mới cho các phần bổ sungKhi bạn gọi hàm tạo 0, bạn chuyển phương thức 07 trên các đối tượng biểu thức chính quy tiền tố và hậu tố, và hàm 08 trên đối tượng biểu thức chính quy trung tố. Bây giờ bạn có thể thay thế tokenizer trên đối tượng 09Sau khi hoàn thành, bạn sẽ thấy rằng biểu tượng 1 hiện đã được mã hóa riêngLoại bỏ các quảng cáoNgưng từTừ dừng thường được định nghĩa là từ phổ biến nhất trong ngôn ngữ. Trong tiếng Anh, một số ví dụ về các từ dừng là the, are, but, and they. Hầu hết các câu cần chứa các từ dừng để trở thành câu đầy đủ có ý nghĩa ngữ pháp Với NLP, các từ dừng thường bị loại bỏ vì chúng không quan trọng và chúng làm sai lệch nghiêm trọng bất kỳ phân tích tần suất từ nào. spaCy lưu trữ danh sách các từ dừng cho ngôn ngữ tiếng Anh >>> 3Trong ví dụ này, bạn đã kiểm tra danh sách 11 từ 12. Tuy nhiên, bạn không cần truy cập trực tiếp vào danh sách này. Bạn có thể xóa các từ dừng khỏi văn bản đầu vào bằng cách sử dụng thuộc tính 7 của mỗi mã thông báo>>> 4Ở đây bạn sử dụng cách hiểu danh sách với biểu thức điều kiện để tạo danh sách tất cả các từ không phải là từ dừng trong văn bản Mặc dù bạn không thể chắc chắn chính xác câu đang cố nói gì mà không có từ dừng, nhưng bạn vẫn có nhiều thông tin về nội dung chung của câu đó. bổ đềLemmatization là quá trình rút gọn các dạng biến cách của một từ trong khi vẫn đảm bảo rằng dạng rút gọn đó thuộc về ngôn ngữ. Dạng rút gọn này, hay từ gốc, được gọi là bổ đề Ví dụ: tổ chức, tổ chức và tổ chức là tất cả các hình thức tổ chức. Ở đây, tổ chức là bổ đề. Biến thể của một từ cho phép bạn diễn đạt các phạm trù ngữ pháp khác nhau, như thì (tổ chức so với tổ chức), số (tàu hỏa so với tàu hỏa), v.v. Việc bổ đề là cần thiết vì nó giúp bạn giảm bớt các dạng biến cách của một từ để chúng có thể được phân tích thành một mục duy nhất. Nó cũng có thể giúp bạn bình thường hóa văn bản spaCy đặt một thuộc tính 14 trên lớp 5. Thuộc tính này có dạng từ vựng của mã thông báo>>> 5Trong ví dụ này, bạn kiểm tra xem từ gốc có khác bổ đề không, nếu đúng thì bạn in cả từ gốc và bổ đề của nó Ví dụ, bạn sẽ lưu ý rằng 16 rút gọn về dạng bổ đề của nó, 17. Nếu bạn không bổ sung ngữ pháp cho văn bản, thì 17 và 16 sẽ được tính là các mã thông báo khác nhau, mặc dù cả hai đều đề cập đến cùng một khái niệm. Lemmatization giúp bạn tránh các từ trùng lặp có thể trùng lặp về mặt khái niệmTần số từGiờ đây, bạn có thể chuyển đổi một văn bản nhất định thành mã thông báo và thực hiện phân tích thống kê về văn bản đó. Phân tích này có thể cung cấp cho bạn những hiểu biết khác nhau, chẳng hạn như các từ phổ biến hoặc các từ độc đáo trong văn bản >>> 6Bằng cách chỉ nhìn vào những từ phổ biến, bạn có thể đoán rằng văn bản nói về 20, 21 và 22. Đó là một phát hiện quan trọng. Nếu bạn chỉ cần nhìn vào những từ phổ biến nhất, điều đó có thể giúp bạn tiết kiệm rất nhiều thời gian đọc, bởi vì bạn có thể biết ngay văn bản có nói về điều gì đó mà bạn quan tâm hay khôngĐiều đó không có nghĩa là quá trình này được đảm bảo mang lại cho bạn kết quả tốt. Rốt cuộc, bạn đang mất một số thông tin trên đường đi Điều đó nói rằng, để minh họa tại sao việc loại bỏ các từ dừng có thể hữu ích, đây là một ví dụ khác về cùng một văn bản bao gồm cả các từ dừng >>> 7Bốn trong số năm từ phổ biến nhất là từ dừng không thực sự cho bạn biết nhiều về văn bản tóm tắt. Đây là lý do tại sao các từ dừng thường được coi là tiếng ồn cho nhiều ứng dụng Loại bỏ các quảng cáoGắn thẻ một phần của bài phát biểuMột phần của bài phát biểu hoặc POS là một vai trò ngữ pháp giải thích cách sử dụng một từ cụ thể trong câu. Thông thường có tám phần của bài phát biểu
Gắn thẻ một phần của bài phát biểu là quá trình gán thẻ POS cho mỗi mã thông báo tùy thuộc vào cách sử dụng của nó trong câu. Thẻ POS rất hữu ích để gán một danh mục cú pháp như danh từ hoặc động từ cho mỗi từ Trong spaCy, các thẻ POS có sẵn như một thuộc tính trên đối tượng 5>>> 8Ở đây, hai thuộc tính của lớp 5 được truy cập và in ra bằng f-strings
Bạn cũng sử dụng 27 để cung cấp chi tiết mô tả về một thẻ POS cụ thể, đây có thể là một công cụ tham khảo có giá trịBằng cách sử dụng thẻ POS, bạn có thể trích xuất một loại từ cụ thể >>> 9Bạn có thể sử dụng kiểu phân loại từ này để rút ra những hiểu biết sâu sắc. Chẳng hạn, bạn có thể đánh giá tình cảm bằng cách phân tích tính từ nào được sử dụng phổ biến nhất bên cạnh danh từ Hình dung. Sử dụng dislaCyspaCy đi kèm với một trình hiển thị tích hợp có tên là displaCy. Bạn có thể sử dụng nó để trực quan hóa phân tích cú pháp phụ thuộc hoặc các thực thể được đặt tên trong trình duyệt hoặc sổ ghi chép Jupyter Bạn có thể sử dụng displaCy để tìm thẻ POS cho mã thông báo >>> 0Đoạn mã trên sẽ tạo ra một máy chủ web đơn giản. Sau đó, bạn có thể xem hình ảnh trực quan bằng cách truy cập 28 trong trình duyệt của mìnhTrong hình trên, mỗi mã thông báo được gán một thẻ POS được viết ngay bên dưới mã thông báo Bạn cũng có thể sử dụng displaCy trong sổ ghi chép Jupyter >>> 1Thử chơi với các văn bản khác nhau để xem cách spaCy giải cấu trúc câu. Ngoài ra, hãy xem một số có sẵn để tùy chỉnh trực quan hóa Loại bỏ các quảng cáoChức năng tiền xử lýĐể đưa văn bản của bạn sang định dạng lý tưởng để phân tích, bạn có thể viết các hàm tiền xử lý để gói gọn quy trình làm sạch của mình. Ví dụ: trong phần này, bạn sẽ tạo một bộ tiền xử lý áp dụng các thao tác sau
Chức năng tiền xử lý chuyển đổi văn bản thành định dạng có thể phân tích. Nó là điển hình cho hầu hết các nhiệm vụ NLP. Đây là một ví dụ >>> 2Lưu ý rằng 29 không chứa bất kỳ từ dừng hoặc ký hiệu dấu chấm câu nào và nó hoàn toàn bao gồm các mã thông báo chữ thường được bổ nghĩaSo khớp dựa trên quy tắc bằng spaCyĐối sánh dựa trên quy tắc là một trong những bước trích xuất thông tin từ văn bản phi cấu trúc. Nó được sử dụng để xác định và trích xuất các mã thông báo và cụm từ theo các mẫu (chẳng hạn như chữ thường) và các đặc điểm ngữ pháp (chẳng hạn như một phần của bài phát biểu) Mặc dù bạn có thể sử dụng các biểu thức chính quy để trích xuất các thực thể (chẳng hạn như số điện thoại), nhưng so khớp dựa trên quy tắc trong spaCy mạnh hơn so với chỉ biểu thức chính quy, bởi vì bạn có thể bao gồm các bộ lọc ngữ nghĩa hoặc ngữ pháp Ví dụ: với đối sánh dựa trên quy tắc, bạn có thể trích xuất tên và họ, những danh từ này luôn là danh từ riêng >>> 3Trong ví dụ này, 30 là danh sách các đối tượng xác định tổ hợp mã thông báo sẽ được so khớp. Cả hai thẻ POS trong đó là 31 (danh từ riêng). Vì vậy, 30 bao gồm hai đối tượng trong đó thẻ POS cho cả hai mã thông báo phải là 31. Sau đó, mẫu này được thêm vào 34 bằng phương pháp 35, phương pháp này lấy mã định danh 36 và danh sách các mẫu. Cuối cùng, các trận đấu thu được với chỉ số bắt đầu và kết thúc của chúngBạn cũng có thể sử dụng đối sánh dựa trên quy tắc để trích xuất số điện thoại >>> 4Trong ví dụ này, mẫu được cập nhật để khớp với số điện thoại. Ở đây, một số thuộc tính của mã thông báo cũng được sử dụng
Kết hợp các từ điển này với nhau giúp bạn linh hoạt hơn trong việc lựa chọn các tiêu chí phù hợp của mình Ghi chú. Để đơn giản, trong ví dụ này, các số điện thoại được coi là có định dạng cụ thể. 42. Bạn có thể thay đổi điều này tùy thuộc vào trường hợp sử dụng của bạnMột lần nữa, đối sánh dựa trên quy tắc giúp bạn xác định và trích xuất các mã thông báo và cụm từ bằng cách đối sánh theo các mẫu từ vựng và đặc điểm ngữ pháp. Điều này có thể hữu ích khi bạn đang tìm kiếm một thực thể cụ thể Phân tích cú pháp phụ thuộc bằng spaCyPhân tích cú pháp phụ thuộc là quá trình trích xuất biểu đồ phụ thuộc của một câu để thể hiện cấu trúc ngữ pháp của nó. Nó xác định mối quan hệ phụ thuộc giữa các tiêu đề và những người phụ thuộc của chúng. Đầu câu không có tính phụ thuộc gọi là gốc câu. Động từ thường là gốc của câu. Tất cả các từ khác được liên kết với từ đầu Các phụ thuộc có thể được ánh xạ trong biểu diễn đồ thị có hướng trong đó
Phân tích cú pháp phụ thuộc giúp bạn biết vai trò của một từ trong văn bản và các từ khác nhau liên quan với nhau như thế nào Đây là cách bạn có thể sử dụng phân tích cú pháp phụ thuộc để tìm mối quan hệ giữa các từ >>> 5Trong ví dụ này, câu chứa ba quan hệ
Danh sách các mối quan hệ không dành riêng cho spaCy. Thay vào đó, nó là một lĩnh vực nghiên cứu ngôn ngữ học đang phát triển Bạn cũng có thể sử dụng displaCy để trực quan hóa cây phụ thuộc của câu >>> 6Mã này sẽ tạo ra một hình ảnh trực quan mà bạn có thể truy cập bằng cách mở 28 trong trình duyệt của mìnhHình ảnh này cho bạn thấy một cách trực quan rằng chủ ngữ của câu là danh từ riêng 20 và nó có mối quan hệ 48 với 49Loại bỏ các quảng cáoĐiều hướng cây và cây conBiểu đồ phụ thuộc có tất cả các thuộc tính của cây. Cây này chứa thông tin về cấu trúc câu và ngữ pháp và có thể được duyệt theo nhiều cách khác nhau để trích xuất các mối quan hệ spaCy cung cấp các thuộc tính như 50, 51, 52 và 53 để giúp điều hướng cây phân tích cú pháp dễ dàng hơn. Dưới đây là một vài ví dụ về việc sử dụng các thuộc tính đó>>> 7Trong các ví dụ này, bạn đã biết nhiều cách khác nhau để điều hướng cây phụ thuộc của câu Phân tích cú pháp nôngPhân tích cú pháp nông, hoặc phân đoạn, là quá trình trích xuất các cụm từ từ văn bản phi cấu trúc. Điều này liên quan đến việc chia nhóm các mã thông báo liền kề thành các cụm từ trên cơ sở thẻ POS của chúng. Có một số cụm tiêu chuẩn nổi tiếng như cụm danh từ, cụm động từ và cụm giới từ Phát hiện cụm từ danh từCụm danh từ là cụm có danh từ đứng đầu. Nó cũng có thể bao gồm các loại từ khác, chẳng hạn như tính từ, thứ tự và từ hạn định. Các cụm danh từ rất hữu ích để giải thích ngữ cảnh của câu. Chúng giúp bạn hiểu câu nói về cái gì spaCy có thuộc tính 54 trên đối tượng 9. Bạn có thể sử dụng thuộc tính này để trích xuất các cụm danh từ>>> 8Bằng cách nhìn vào các cụm danh từ, bạn có thể nhận được thông tin về văn bản của mình. Ví dụ: 56 cho biết rằng văn bản đề cập đến một hội nghị, trong khi ngày 57 cho bạn biết rằng hội nghị được lên kế hoạch cho 57Đây là một phương pháp khác để tóm tắt một văn bản và có được thông tin quan trọng nhất mà không cần phải đọc tất cả Phát hiện cụm từ động từCụm động từ là một đơn vị cú pháp bao gồm ít nhất một động từ. Động từ này có thể được nối bởi các đoạn khác, chẳng hạn như cụm danh từ. Các cụm động từ rất hữu ích để hiểu các hành động mà danh từ tham gia. spaCy không có chức năng tích hợp để trích xuất các cụm động từ, vì vậy bạn sẽ cần một thư viện có tên là 59. Bạn có thể sử dụng 5 để cài đặt 59 9Bây giờ bạn đã cài đặt 59, bạn có thể sử dụng nó để trích xuất các cụm động từ dựa trên các quy tắc ngữ pháp>>> 0Trong ví dụ này, cụm động từ 63 chỉ ra rằng một cái gì đó sẽ được giới thiệu. Bằng cách nhìn vào các cụm danh từ, bạn có thể ghép lại những gì sẽ được giới thiệu lại với nhau mà không cần phải đọc toàn bộ văn bảnLoại bỏ các quảng cáoNhận dạng thực thể được đặt tênNhận dạng thực thể được đặt tên (NER) là quá trình định vị các thực thể được đặt tên trong văn bản phi cấu trúc và sau đó phân loại chúng thành các danh mục được xác định trước, chẳng hạn như tên người, tổ chức, địa điểm, giá trị tiền tệ, tỷ lệ phần trăm và biểu thức thời gian Bạn có thể sử dụng NER để tìm hiểu thêm về ý nghĩa của văn bản của bạn. Ví dụ: bạn có thể sử dụng nó để điền thẻ cho một bộ tài liệu nhằm cải thiện tìm kiếm từ khóa. Bạn cũng có thể sử dụng nó để phân loại phiếu hỗ trợ khách hàng thành các danh mục có liên quan spaCy có thuộc tính 64 trên 9 đối tượng. Bạn có thể sử dụng nó để trích xuất các thực thể được đặt tên>>> 1Trong ví dụ trên, 66 là một đối tượng 0 với các thuộc tính khác nhau
72 cung cấp chi tiết mô tả về từng nhãn thực thể. Bạn cũng có thể sử dụng displaCy để trực quan hóa các thực thể này>>> 2Nếu bạn mở 28 trong trình duyệt của mình, thì bạn sẽ có thể xem hình ảnh trực quanMột trường hợp sử dụng cho NER là sắp xếp lại tên của mọi người từ một văn bản. Ví dụ: bạn có thể muốn làm điều này để ẩn thông tin cá nhân được thu thập trong một cuộc khảo sát. Hãy xem ví dụ sau >>> 3Trong ví dụ này, 74 sử dụng 75, cung cấp mã IOB của thẻ thực thể được đặt tên bằng cách sử dụng gắn thẻ từ trong ra ngoài (IOB)Hàm 76 sử dụng a để điều chỉnh mô hình mã thông báo. Nó nhận tất cả các mã thông báo và chuyển văn bản qua 77 để thay thế bất kỳ mã thông báo mục tiêu nào bằng 78Vì vậy, cứ như vậy, bạn sẽ có thể sắp xếp lại một lượng lớn văn bản trong vài giây, trong khi thực hiện thủ công có thể mất nhiều giờ. Điều đó nói rằng, bạn luôn cần phải cẩn thận với việc chỉnh sửa, bởi vì các mô hình không hoàn hảo Phần kết luậnspaCy là một thư viện mạnh mẽ và tiên tiến đang trở nên phổ biến rộng rãi cho các ứng dụng NLP do tốc độ, tính dễ sử dụng, độ chính xác và khả năng mở rộng của nó Trong hướng dẫn này, bạn đã học cách
Giờ đây, bạn đã có một số công cụ hữu ích để bắt đầu khám phá thế giới xử lý ngôn ngữ tự nhiên Mã nguồn miễn phí. Nhấp vào đây để tải xuống mã nguồn miễn phí mà bạn sẽ sử dụng để xử lý ngôn ngữ tự nhiên (NLP) trong spaCy Đánh dấu là đã hoàn thành 🐍 Thủ thuật Python 💌 Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python Gửi cho tôi thủ thuật Python » Giới thiệu về Taranjeet Singh Taranjeet là một kỹ sư phần mềm, có kinh nghiệm về Django, NLP và Tìm kiếm, đã xây dựng công cụ tìm kiếm cho sinh viên K12 (nổi bật trong Google IO 2019) và trẻ em mắc chứng Tự kỷ » Tìm hiểu thêm về TaranjeetMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là Aldren Geir Arne Ian Joanna kate Mike Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Chuyên gia Kỹ năng Python trong thế giới thực Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Bạn nghĩ sao? Đánh giá bài viết này Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì? Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi Trình phân tích cú pháp ngôn ngữ là gì?Trong trường hợp ngôn ngữ lập trình, trình phân tích cú pháp là một thành phần của trình biên dịch hoặc trình thông dịch, phân tích cú pháp mã nguồn của ngôn ngữ lập trình máy tính để tạo ra một số dạng biểu diễn bên trong< . ; the parser is a key step in the compiler frontend.
Phân tích cú pháp Python hoạt động như thế nào?Phân tích cú pháp Python được thực hiện bằng nhiều cách khác nhau, chẳng hạn như sử dụng mô-đun trình phân tích cú pháp, phân tích cú pháp bằng biểu thức chính quy, phân tích cú pháp bằng một số phương thức chuỗi như split() và strip(), phân tích cú pháp bằng gấu trúc chẳng hạn như đọc tệp CSV thành văn bản bằng cách sử dụng read. csv, v.v.
Trình phân tích cú pháp trong bộ xử lý ngôn ngữ là gì?Trình phân tích cú pháp là một phần của trình biên dịch chia mã nguồn thành các phần nhỏ của chuỗi ký tự được gọi là mã thông báo . Thuật ngữ này có nguồn gốc từ ngôn ngữ học. Trong ngôn ngữ học, phân tích cú pháp liên quan đến việc lập sơ đồ vật lý cấu trúc cơ bản của một câu. |