Python liệt kê các từ trong văn bản

Thật dễ dàng để có được hàng triệu từ văn bản. Chúng ta có thể làm gì với nó, giả sử chúng ta có thể viết một số chương trình đơn giản?

Chương này được chia thành các phần bỏ qua giữa hai phong cách khá khác nhau. Trong phần "tính toán với ngôn ngữ", chúng ta sẽ thực hiện một số nhiệm vụ lập trình có động cơ ngôn ngữ mà không nhất thiết phải giải thích cách thức hoạt động của chúng. Trong phần "xem xét kỹ hơn về Python", chúng ta sẽ xem xét một cách có hệ thống các khái niệm lập trình chính. Chúng tôi sẽ đánh dấu hai phong cách trong tiêu đề của phần, nhưng các chương sau sẽ kết hợp cả hai phong cách mà không cần nói trước về nó. Chúng tôi hy vọng phong cách giới thiệu này mang đến cho bạn cảm nhận đích thực về những gì sẽ đến sau này, đồng thời bao gồm một loạt các khái niệm cơ bản trong ngôn ngữ học và khoa học máy tính. Nếu bạn đã quen cơ bản với cả hai lĩnh vực, bạn có thể bỏ qua phần 5; . //nltk. tổ chức/. Nếu tài liệu hoàn toàn mới đối với bạn, chương này sẽ đặt ra nhiều câu hỏi hơn là câu trả lời, những câu hỏi sẽ được giải quyết trong phần còn lại của cuốn sách này

Tất cả chúng ta đều rất quen thuộc với văn bản, vì chúng ta đọc và viết nó hàng ngày. Ở đây chúng tôi sẽ coi văn bản là dữ liệu thô cho các chương trình chúng tôi viết, các chương trình thao tác và phân tích văn bản theo nhiều cách thú vị. Nhưng trước khi làm được điều này, chúng ta phải bắt đầu với trình thông dịch Python

1. 2   Bắt đầu với NLTK

Trước khi đi xa hơn, bạn nên cài đặt NLTK 3. 0, có thể tải xuống miễn phí từ http. //nltk. tổ chức/. Làm theo hướng dẫn ở đó để tải xuống phiên bản cần thiết cho nền tảng của bạn

Khi bạn đã cài đặt NLTK, hãy khởi động trình thông dịch Python như trước và cài đặt dữ liệu cần thiết cho sách bằng cách nhập hai lệnh sau tại dấu nhắc Python, sau đó chọn bộ sưu tập sách như trong hình 1. 1

>>> import nltk
>>> nltk.download[]

Hình 1. 1. Tải xuống Bộ sưu tập sách NLTK. duyệt các gói có sẵn bằng nltk. Tải xuống[]. Tab Bộ sưu tập trên trình tải xuống hiển thị cách các gói được nhóm thành các bộ và bạn nên chọn dòng có nhãn sách để lấy tất cả dữ liệu cần thiết cho các ví dụ và bài tập trong sách này. Nó bao gồm khoảng 30 tệp nén cần khoảng 100Mb dung lượng ổ đĩa. Việc thu thập đầy đủ dữ liệu [i. e. , tất cả trong trình tải xuống] gần gấp mười lần kích thước này [tại thời điểm viết] và tiếp tục mở rộng

Sau khi dữ liệu được tải xuống máy của bạn, bạn có thể tải một số dữ liệu đó bằng trình thông dịch Python. Bước đầu tiên là gõ một lệnh đặc biệt tại dấu nhắc Python để yêu cầu trình thông dịch tải một số văn bản để chúng ta khám phá. từ nltk. nhập sách *. Điều này nói rằng "từ mô-đun sách của NLTK, tải tất cả các mục. " Mô-đun sách chứa tất cả dữ liệu bạn cần khi đọc chương này. Sau khi in thông báo chào mừng, nó sẽ tải văn bản của một số cuốn sách [quá trình này sẽ mất vài giây]. Đây là lệnh một lần nữa, cùng với đầu ra mà bạn sẽ thấy. Hãy cẩn thận để viết đúng chính tả và chấm câu, đồng thời nhớ rằng bạn không nhập >>>

>>> from nltk.book import *
*** Introductory Examples for the NLTK Book ***
Loading text1, ..., text9 and sent1, ..., sent9
Type the name of the text or sentence to view it.
Type: 'texts[]' or 'sents[]' to list the materials.
text1: Moby Dick by Herman Melville 1851
text2: Sense and Sensibility by Jane Austen 1811
text3: The Book of Genesis
text4: Inaugural Address Corpus
text5: Chat Corpus
text6: Monty Python and the Holy Grail
text7: Wall Street Journal
text8: Personals Corpus
text9: The Man Who Was Thursday by G . K . Chesterton 1908
>>>

Bất cứ khi nào chúng ta muốn tìm hiểu về những văn bản này, chúng ta chỉ cần nhập tên của chúng tại dấu nhắc Python

>>> text1

>>> text2

>>>

Bây giờ chúng ta có thể sử dụng trình thông dịch Python và có một số dữ liệu để làm việc, chúng ta đã sẵn sàng để bắt đầu

1. 3   Tìm kiếm văn bản

Có nhiều cách để kiểm tra ngữ cảnh của một văn bản ngoài việc chỉ đọc nó. Chế độ xem phù hợp cho chúng ta thấy mọi lần xuất hiện của một từ nhất định, cùng với một số ngữ cảnh. Ở đây, chúng tôi tra cứu từ quái dị trong Moby Dick bằng cách nhập văn bản1 theo sau là dấu chấm, sau đó là thuật ngữ phù hợp, rồi đặt "quái dị" trong ngoặc đơn

>>> text1.concordance["monstrous"]
Displaying 11 of 11 matches:
ong the former , one was of a most monstrous size . .. This came towards us ,
ON OF THE PSALMS . " Touching that monstrous bulk of the whale or ork we have r
ll over with a heathenish array of monstrous clubs and spears . Some were thick
d as you gazed , and wondered what monstrous cannibal and savage could ever hav
that has survived the flood ; most monstrous and most mountainous ! That Himmal
they might scout at Moby Dick as a monstrous fable , or still worse and more de
th of Radney .'" CHAPTER 55 Of the monstrous Pictures of Whales . I shall ere l
ing Scenes . In connexion with the monstrous pictures of whales , I am strongly
ere to enter upon those still more monstrous stories of them which are to be fo
ght have been rummaged out of this monstrous cabinet there is no telling . But
of Whale - Bones ; for Whales of a monstrous size are oftentimes cast up dead u
>>>

Lần đầu tiên bạn sử dụng sự phù hợp trên một văn bản cụ thể, sẽ mất thêm vài giây để tạo chỉ mục để các lần tìm kiếm tiếp theo được nhanh chóng

Ghi chú

Lượt của bạn. Hãy thử tìm kiếm các từ khác; . Bạn cũng có thể thử tìm kiếm trên một số văn bản khác mà chúng tôi đã đưa vào. Ví dụ, tìm kiếm Sense và Sensibility cho từ tình cảm, sử dụng text2. sự phù hợp ["tình cảm"]. Tìm kiếm sách Sáng thế ký để biết một số người đã sống được bao lâu, sử dụng văn bản3. sự phù hợp ["sống"]. Bạn có thể xem text4, Tập văn bản diễn văn nhậm chức, để xem các ví dụ về tiếng Anh từ năm 1789 và tìm kiếm các từ như quốc gia, khủng bố, chúa để xem những từ này đã được sử dụng khác nhau như thế nào theo thời gian. Chúng tôi cũng đã bao gồm text5, NPS Chat Corpus. tìm kiếm những từ độc đáo như im, ur, lol. [Lưu ý rằng kho văn bản này không bị kiểm duyệt. ]

Khi bạn đã dành một ít thời gian để xem xét các văn bản này, chúng tôi hy vọng bạn sẽ có một cảm nhận mới về sự phong phú và đa dạng của ngôn ngữ. Trong chương tiếp theo, bạn sẽ học cách truy cập nhiều loại văn bản hơn, bao gồm cả văn bản bằng các ngôn ngữ khác ngoài tiếng Anh

Một sự phù hợp cho phép chúng ta nhìn thấy các từ trong ngữ cảnh. Ví dụ: chúng tôi thấy rằng quái dị xảy ra trong các ngữ cảnh như ___ hình ảnh và kích thước ___. Những từ nào khác xuất hiện trong một phạm vi ngữ cảnh tương tự?

>>> text1.similar["monstrous"]
mean part maddens doleful gamesome subtly uncommon careful untoward
exasperate loving passing mouldy christian few true mystifying
imperial modifies contemptible
>>> text2.similar["monstrous"]
very heartily so exceedingly remarkably as vast a great amazingly
extremely good sweet
>>>

Quan sát rằng chúng tôi nhận được kết quả khác nhau cho các văn bản khác nhau. Austen sử dụng từ này hoàn toàn khác với Melville;

Thuật ngữ common_contexts cho phép chúng ta kiểm tra chỉ những ngữ cảnh được chia sẻ bởi hai hoặc nhiều từ, chẳng hạn như monstrous và very. Chúng ta phải đặt những từ này bằng dấu ngoặc vuông cũng như dấu ngoặc đơn và ngăn cách chúng bằng dấu phẩy

>>> text2.common_contexts[["monstrous", "very"]]
a_pretty is_pretty am_glad be_glad a_lucky
>>>

Ghi chú

Lượt của bạn. Chọn một cặp từ khác và so sánh cách sử dụng của chúng trong hai văn bản khác nhau, sử dụng các hàm similar[] và common_contexts[]

Đó là một việc để tự động phát hiện một từ cụ thể xuất hiện trong văn bản và hiển thị một số từ xuất hiện trong cùng một ngữ cảnh. Tuy nhiên, chúng ta cũng có thể xác định vị trí của một từ trong văn bản. có bao nhiêu từ ngay từ đầu nó xuất hiện. Thông tin vị trí này có thể được hiển thị bằng biểu đồ phân tán. Mỗi sọc đại diện cho một phiên bản của một từ và mỗi hàng đại diện cho toàn bộ văn bản. Trong 1. 2 chúng ta thấy một số kiểu sử dụng từ nổi bật trong 220 năm qua [trong một văn bản nhân tạo được xây dựng bằng cách nối các văn bản của Tập văn bản Diễn văn nhậm chức từ đầu đến cuối]. Bạn có thể tạo âm mưu này như hình dưới đây. Bạn có thể muốn thử nhiều từ hơn [e. g. , tự do, hiến pháp], và các văn bản khác nhau. Bạn có thể dự đoán sự phân tán của một từ trước khi bạn xem nó không?

>>> text4.dispersion_plot[["citizens", "democracy", "freedom", "duties", "America"]]
>>>

Hình 1. 2. Âm mưu phân tán từ vựng cho các từ trong U. S. Diễn văn nhậm chức của tổng thống. Điều này có thể được sử dụng để điều tra những thay đổi trong việc sử dụng ngôn ngữ theo thời gian

Ghi chú

Quan trọng. Bạn cần cài đặt các gói NumPy và Matplotlib của Python để tạo ra các sơ đồ đồ họa được sử dụng trong cuốn sách này. Vui lòng xem http. //nltk. org/ để được hướng dẫn cài đặt

Ghi chú

Bạn cũng có thể vẽ biểu đồ tần suất sử dụng từ theo thời gian bằng https. //sách. Google. com/ngram

Bây giờ, để giải trí, hãy thử tạo một số văn bản ngẫu nhiên theo các kiểu khác nhau mà chúng ta vừa thấy. Để thực hiện việc này, chúng tôi nhập tên của văn bản theo sau là thuật ngữ tạo. [Chúng ta cần bao gồm các dấu ngoặc đơn, nhưng không có gì ở giữa chúng. ]

Chủ Đề