Sử dụng ứng dụng R trong việc hỗ trợ người học tìm kiếm thông tin, tài liệu phục vụ học tập và nghiên cứu
lượt xem 3
download
Bài viết "Sử dụng ứng dụng R trong việc hỗ trợ người học tìm kiếm thông tin, tài liệu phục vụ học tập và nghiên cứu" chia sẻ ứng dụng sử dụng R với một số gói mã lệnh thông dụng để tiếp cận nguồn thông tin, tài liệu dồi dào trên các trang mạng một cách nhanh chóng, hiệu quả. Điều này sẽ giúp các bạn sinh viên nâng cao hiệu quả tìm kiếm nguồn thông tin, có thêm dữ liệu để phục vụ học tập, nghiên cứu hay tham gia các hoạt động xã hội. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Sử dụng ứng dụng R trong việc hỗ trợ người học tìm kiếm thông tin, tài liệu phục vụ học tập và nghiên cứu
- SỬ DỤNG ỨNG DỤNG R TRONG VIỆC HỖ TRỢ NGƯỜI HỌC TÌM KIẾM THÔNG TIN, TÀI LIỆU PHỤC VỤ HỌC TẬP VÀ NGHIÊN CỨU Hà Thị Minh Huệ Trường Đại học Kinh tế Quốc dân Tóm tắt: Bài viết chia sẻ ứng dụng sử dụng R với một số gói mã lệnh thông dụng để tiếp cận nguồn thông tin, tài liệu dồi dào trên các trang mạng một cách nhanh chóng, hiệu quả. Điều này sẽ giúp các bạn sinh viên nâng cao hiệu quả tìm kiếm nguồn thông tin, có thêm dữ liệu để phục vụ học tập, nghiên cứu hay tham gia các hoạt động xã hội. Bài viết tập trung vào sử dụng R để tự động cào dữ liệu dạng bảng, dạng ký tự chữ viết ở nhiều trang mạng, từ đó thu thập được nguồn tài liệu, dữ liệu hay thông tin lớn hơn rất nhiều so với cách thủ công thông thường. Từ khóa: trang mạng, đường dẫn, gói mã lệnh, thu thập, dữ liệu. 1. Đặt vấn đề Trong thời đại 4.0, với sự phát triển ngày càng cao của khoa học và công nghệ, việc cập nhật hay ứng dụng các công cụ công nghệ thông tin, khoa học dữ liệu để hỗ trợ xử lý các công việc khác nhau trở nên phổ biến và dần trở thành điều kiện tiên quyết để thành công. Tất cả chúng ta đều biết công nghệ thông tin, khoa học dữ liệu là các lĩnh vực đã đang và sẽ còn phát triển nhanh chóng, mở ra cho sinh viên những con đường lập nghiệp thú vị và cơ hội học tập nâng cao. Không riêng các bạn sinh viên đang theo học các ngành này, tất cả chúng ta đều có thể và nên trang bị cho mình những kiến thức công nghệ thông tin, khoa học dữ liệu cơ bản nhất để có thể thúc đẩy nâng cao hiệu quả học tập và làm việc. Các bạn sinh viên hiện nay đã rất may mắn khi có thể tiếp cận nguồn thông tin, tài liệu vô hạn trên các trang mạng chỉ với một vài từ khóa, một cú nhấp chuột. Tuy vậy, việc sử dụng nhanh chóng và hiệu quả nguồn thông tin, tài liệu này đôi khi lại gây khó khăn cho chúng ta. Hiện nay, R, Python hay một số ngôn ngữ lập trình khác được sử dụng rất nhiều trong việc làm sạch, hình ảnh hóa, phân tích dữ liệu. Không chỉ có vậy, chúng ta còn có thể sử dụng chúng để thu thập nguồn tài liệu và thông tin khổng lồ có trên các trang mạng. Điều này sẽ giúp chúng ta có thêm công cụ để học tập và nghiên cứu. Bài viết chia sẻ một vài ứng dụng của việc sử dụng R thông qua một số ví dụ cụ thể về việc thu thập tài liệu, thông tin trên các trang mạng hay còn gọi là “scraping data”, thông qua một số gói mã lệnh của phần mềm R. Tác giả không trình bày cụ thể cách viết mã, bạn đọc quan tâm có thể tìm đọc tại [1] và tìm hiểu thêm các gói mã lệnh theo các đường dẫn ở mục tài liệu tham khảo. 62
- 2. Nội dung Tác giả sử dụng 3 gói mã chính sau của R: • Rvest là gói mã sử dụng để cào dữ liệu từ trang mạng [2] [3]. Nếu bạn chưa biết gì về nó, chúng ta có thể hiểu đơn giản như sau: Ở đây, ta cần đường dẫn tới trang mạng, địa chỉ khu vực mà ta muốn tìm kiếm thông tin trên trang mạng đó, dạng dữ liệu thông tin mà ta muốn thu thập, ví dụ trong bài viết là ta thu thập dữ liệu dạng bảng và chữ viết. • Dplyr là gói mã sử dụng để xử lý dữ liệu dạng bảng [4] [5]. Ta có thể lập bảng, thêm bớt dòng, cột, sắp xếp hay lọc dữ liệu trong bảng,… • Stringr là gói mã sử dụng để xử lý dữ liệu dạng ký tự chữ viết [5] [6]. Ta có thể đếm số ký tự, tìm kiếm vị trí ký tự, nối chuỗi ký tự,… Từng gói lệnh đọc qua có vẻ làm các công việc khá đơn giản, nhưng ta phải kết hợp các gói lệnh, ứng dụng uyển chuyển, linh hoạt để mang lại hiệu quả tối đa. Ví dụ, một vài dòng mã dưới đây có thể giúp ta thu về một bảng gồm tất cả các đường dẫn xuất hiện trên một vùng của trang mạng: url %>% read_html() %>% html_element(css_page) %>% html_nodes(“a”) %>% html_attr(“href”) %>% matrix(ncol = 1) %>% as.data.frame() -> links Ở đây, “url” chính là đường dẫn tới trang mạng, “css_page” là chỉ điểm tới vị trí khu vực ta muốn lấy thông tin, và “a”, “href” chính là dấu hiệu nhận biết để chỉ tới các đường dẫn; sau đó, ta cho các đường dẫn này vào một bảng gồm 1 cột. Các ví dụ sau đây, tác giả đều thực hiện việc thu thập các đường dẫn có cùng một kiểu thông tin, dữ liệu mà tác giả quan tâm, sau đó tự động thu thập dữ liệu trên các đường dẫn đã lấy được. Ta hãy xem xét lần lượt các ví dụ. 2.1. Tải (download) tài liệu Giả sử tác giả đang học ôn luyện tiếng Anh và đang muốn làm bài đọc dạng “multiple choice cloze”. Tác giả nhận thấy trang mạng [7]: https://www.intercambioidiomasonline.com/english/multiple-choice-cloze/ Có rất nhiều bài luyện được phân cấp từ B1 đến C1, mỗi bài là một đường dẫn, như một số đường dẫn ví dụ dưới đây: (NEW) C1 MULTIPLE CHOICE: ABLAUT REDUPLICATION C1 MULTIPLE CHOICE: BUSINESS 63
- C1 MULTIPLE CHOICE: CELEBRITY LIFESTYLES C1 MULTIPLE CHOICE: CHILDHOOD OBESITY Các đường dẫn này sẽ mở ra một tập tin dạng .pdf và ta có thể tải về. Nếu làm thủ công ta sẽ phải vào lần lượt từng đường dẫn sau đó tải về, điều này cũng khá mất thời gian và nhàm chán. Nhưng ta có thể sử dụng R để tự động thu thập các đường dẫn, và sau đó tải tập tin về một thư mục mà ta mong muốn nhờ lệnh “download.file” trong R Ta thu được bảng chứa 45 đường dẫn (Urls), sử dụng gói mã dplyr và stringr để tạo thêm 2 cột chứa tên tệp (Name_file) và vị trí thư mục ta muốn tải về (Destination). Bảng 1 dưới đây chứa thông tin của đường dẫn đầu tiên trong 45 đường dẫn ta thu được, tương ứng ta sẽ có một thư mục chứa 45 tệp .pdf mà đã tải được về ở vị trí ta đã định. Bảng 1: Thông tin một đường dẫn, tên tệp và vị trí lưu tệp Đường dẫn b1-reading-part-5_-basketball.pdf (intercambioidiomasonline.com) Tên tệp b1-reading-part-5_-basketball.pdf Địa chỉ thư mục ./multiple_choice/b1-reading-part-5_-albacete.pdf 2.2. Thu thập dữ liệu dạng bảng (table) Ở ví dụ tiếp theo ta sẽ sử dụng thêm lệnh “html_table” để thu nhập các bảng số liệu có trên trang mạng. Tương tự như trên một bảng số liệu, ta hoàn toàn có thể sao chép thủ công, nhưng với nhiều bảng số liệu việc sao chép như vậy là hoàn toàn không nên; và quan trọng hơn là khi tập hợp được nhiều bảng thì ta có một bảng dữ liệu lớn. Cũng vẫn là một ví dụ để có thêm tài liệu học tiếng Anh. Lần này, ta muốn luyện tập về phrasal verb. Trên trang mạng [8]: https://www.englishrevealed.co.uk/advanced_vocabulary.php Có các bài tập về phrasal verb như một số đường dẫn dưới đây: Phrasal Verbs (OUT) 1 Phrasal Verbs (OUT) 2 Phrasal Verbs (UP) 1 Phrasal Verbs (UP) 2 Phrasal Verbs (OFF) 1 Phrasal Verbs (OFF) 2 Mỗi bài tập sẽ có đáp án là một bảng gồm 10 phrasal verbs kèm nghĩa hoặc từ đi kèm, mục đích của tác giả là lập bảng gộp tất cả các bảng đáp án này lại. 64
- Bảng 2: Một bảng kết quả đáp án 1 drop out of leave school, college, etc. without finishing your studies 2 churn out produce something in large quantities quickly and often carelessly 3 hold out offer a chance, hope or possibility of something 4 take it out on behave in an unpleasant way towards sb because you feel angry 5 bear out show that something is true or that someone is telling the truth 6 eke out get just enough money or food to be able to continue to exist 7 fizzle out gradually become less successful and end in a disappointing way 8 work out at add up to a particular amount 9 grow out of become too tall or too big to wear or use something 10 opt out of decide not to be part of a group or system Hoàn toàn tương tự ta sẽ lấy được tất cả 29 đường dẫn bài tập, ở mỗi bài tập, ta lấy bảng kết quả, gộp các bảng này lại, ta thu một bảng gồm 290 phrasal verb như Bảng 3 dưới đây. Bảng 3: Mười dòng đầu tiên của bảng 290 kết quả 1 abide by to accept and act according to a law, an agreement, etc. 2 accede to agree to do what people have asked you to do 3 account for be the reason why something exists or happens 4 act up (of a thing) fail to function properly 5 adhere to sth continue to behave according to a particular rule or belief 6 amount to sth add up to something, to make something as a total 7 answer for accept responsibility or blame for something 8 arrive at sth decide on or find something, especially after discussion and thought 9 ascribe sth to sb refer to a supposed cause, source, or author 10 ask sb out invite somebody to something, such as dinner or a date 2.3. Thu thập dữ liệu dạng ký tự và lập bảng Trong ví dụ tiếp theo, ta sẽ xem báo chí nói gì về ĐH Kinh tế Quốc dân, ta sẽ lấy các bài báo của vietnamnet.vn [9] và tìm kiếm với từ khóa “Kinh tế Quốc dân”, sau đó một danh sách các bài báo sẽ hiện ra Mỗi trang kết quả hiện ra có 20 đường dẫn của 20 bài báo, ta sẽ thử lấy 5 trang kết quả để có 100 bài báo. Với mỗi bài báo, ta dùng html_text để lấy các thông tin sau: • Ngày, tháng, năm đăng bài (Date) • Lĩnh vực (Field): Giáo dục, Thời sự, Chính trị,... • Tiêu đề (Title) • Nội dung tóm tắt đầu bài (Main_content) • Đường dẫn của bài báo (URL) Ta thu được bảng dữ liệu với các thông tin cơ bản nhất của các bài báo nói về ĐH Kinh tế Quốc dân, nếu muốn ta có thể đọc lại đầy đủ bất cứ bài nào mà ta thấy quan tâm. Chú ý rằng, đây 65
- là dạng thông tin động (dynamic) nên mỗi lần thực hiện ta sẽ thu được các kết quả khác nhau vì các bài báo sẽ được cập nhật liên tục. Bảng dưới đây là ví dụ một trong 100 bài báo ta thu được. Bảng 4: Kết quả thông tin một bài báo thu thập được Ngày đăng 21/08/2013 10:00 (GMT+07:00) Lĩnh vực Giáo dục Tiêu đề ĐH Kinh tế Quốc dân tuyển sinh cử nhân quốc tế Là chương trình đào tạo liên kết đầu tiên tại Việt Nam cho phép sinh viên Nội dung mở đầu lấy bằng Đại học của Anh quốc, chương trình Cử nhân Quốc tế tại Trường Đại học Kinh tế Quốc dân (IBD@NEU) đang tuyển sinh khóa thứ 9. Đường dẫn ĐH Kinh tế Quốc dân tuyển sinh cử nhân quốc tế (vietnamnet.vn) 3. Kết luận Trong bài viết tác giả không hướng dẫn chi tiết cách sử dụng R để thực hiện mà chủ yếu nói về ý tưởng và kết quả thu được qua các ví dụ thực tế. Bạn đọc quan tâm có thể tham khảo phần mã lệnh của tác giả và tìm hiểu thêm về các gói mã được sử dụng trong các ví dụ trong bài nói riêng và các ứng dụng khác của R nói chung. Tác giả trình bày đơn giản nhưng để hiểu được phần mã mà tác giả viết, chúng ta cũng sẽ phải mất chút thời gian và công sức để tìm tòi thêm các kiến thức R cơ bản. Còn rất nhiều ứng dụng khác trong việc cào dữ liệu mạng và sử dụng R trong việc khai thác và phân tích dữ liệu mà bạn đọc có thể tìm hiểu thêm. Ví dụ, chúng ta có thể vào một trang thương mại điên tử như Shopee, Lazada để tìm hiểu về: các loại mặt hàng, doanh số bán hàng hay thu thập phản hồi của khách hàng để phân tích kinh doanh. Các kết quả thu được trên đây chỉ là thông tin, tài liệu ban đầu để phục vụ học tập, nghiên cứu, nó như một viên ngọc thô mà nếu biết mài rũa, phân tích sử dụng đúng cách, chúng ta còn có thể thu được nhũng thành quả rực rỡ hơn nữa. Tác giả hy vọng tất cả các bạn sinh viên sẽ trang bị cho mình những công cụ hữu ích, để làm việc, học tập sáng tạo, hiệu quả hơn. Tài liệu tham khảo 1. [Trực tuyến]. Địa chỉ: https://github.com/hhdsml/scraping_example 2. [Trực tuyến]. Địa chỉ: https://rvest.tidyverse.org/. 3. Simon Munzert, Christian Rubba, Peter Meißner, Dominic Nyhuis (2015), Automated Data Collection with R - A Practical Guide to Web Scraping, John Wiley & Sons. 4. [Trực tuyến]. Địa chỉ: https://dplyr.tidyverse.org/. 5. Garrett Grolemund, Hadley Wickham (2016), R for Data Science, O'Reilly. 6. [Trực tuyến]. Địa chỉ: https://stringr.tidyverse.org/. 7. [Trực tuyến]. Địa chỉ: ttps://www.englishrevealed.co.uk/advanced_vocabulary.php. 8. [Trực tuyến]. Địa chỉ: https://www.intercambioidiomasonline.com/english/ multiple-choice-cloze/. 9. [Trực tuyến]. Địa chỉ: https://vietnamnet.vn/. 66
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Áp dụng mô hình IRT 3 tham số vào đo lường và phân tích độ khó, độ phân biệt và mức độ dự đoán của các câu hỏi trong đề thi trắc nghiệm khách quan
11 p | 179 | 16
-
Các thang đo hành vi thích ứng trên thế giới và khả năng sử dụng ở Việt Nam
6 p | 87 | 5
-
Các đặc trưng cấp hai của tính lồi cho các hàm không trơn với đạo hàm Schwarz trên
8 p | 23 | 4
-
Đánh giá sự thích ứng tâm lý nghề nghiệp ở thủy thủ tàu ngầm
8 p | 48 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn