Phương pháp thu thập thông tin từ trang mạng xã hội

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu giải pháp phục vụ công tác đánh giá tin tức trên một số trang mạng xã hội trong phạm vi tỉnh ninh bình (Trang 53)

Lập một công cụ ứng dụng vào công việc rà soát cho kỹ thuật viên hàng ngày để sớm có biện pháp báo cáo xử lý những vụ vi phạm hàng ngày trên các trang mạng xã hội và trang thông tin điện tử. Thông qua đó, người dùng có thể dễ dàng hình dung nắm bắt được tổng quát những nội dung công việc.

2.3 Phương pháp thu thập thông tin từ trang mạng xã hội có liên quan tới tỉnh Ninh Bình

Dữ liệu trên mạng xã hội có liên quan đến Ninh Bình Thu thập dữ liệu Duyệt và phân tích nội dung Chuẩn hóa các URL Lưu dữ liệu Dữ liệu tin Cán bộ đánh giá tin Đánh giá tin Báo cáo thống kê Hệ thống tự động Hình 2.5: Mô hình hệ thống

Diễn giải: Hàng ngày hệ thống được lập trình tự động rà quét tổng quan trên mạng xã hội gồm group Facebook(….) Fanpage Facebook(…..) và API Google tìm có từ Ninh Bình sau đó hệ thống sẽ phân tích tin bằng cách chuẩn hóa tin (tên tin, trích dẫn, nội dung, ảnh,thời gian đăng tin, các nội dung bình luận, nguồn tin) sau đó hệ thống sẽ đưa vào cơ sở dữ liệu. Bước tiếp theo cán bộ đánh giá tin đọc nội dung, và các bình luận tin này (nếu có), sau đó cán bộ đánh giá tin sẽ đưa ra nhận xét tin này vào hệ thống ( tin tốt, bình thường, tiêu cực, tin có yếu tố chính trị). Kết quả cuối cùng sẽ xuất ra các báo cáo tổng kết các tin mình thu thập được để báo cáo tới nhà quản lý hoặc các cơ quan, cá nhân có nhu cầu cần tìm hiểu thông tin.

2.3.1 Xác định các từ khóa cần thu thập

Để thu thập thông tin về Ninh Bình chúng ta cần xác định các từ khóa liên quan tới tỉnh Ninh Bình.

Các từ khóa liên quan địa danh: Ninh Bình, Nho quan,Tam Điệp,Yên Mô,Yên Khánh, Kim Sơn, Hoa Lư, Gia Viễn. 148 xã phường thị trấn trong tỉnh Ninh Bình: Thanh Bình, Nam Bình, Văn Phú….

Các từ khóa liên quan đến tên người: Nguyễn Văn A, Trần Thị B, Phạm Văn C, Lý Quang D. Đây là những người thuộc nhóm người có chức vụ quan trọng thường xuyên xuất hiện trên tin tức báo đài, mạng xã hội có ảnh hưởng lớn tới truyền thông, chính trị kinh tế xã hội.

2.3.2. Phương pháp thu thập thông tin bằng phương pháp chuẩn hóa cấu trúc Mạng Xã hội trên Web.

Kích thước quá lớn và bản chất thay đổi không ngừng của Web đã đặt ra nhu cầu to lớn trong việc hỗ trợ và cập nhật một cách không ngừng các hệ thống trích chọn các thông tin dựa trên nền Web.

Bước 1: Lấy toàn bộ nội dung mạng Xã hội trên nên web về

Phương pháp chọn các thông tin cần dụng đáp ứng được nhu cầu này bằng cách đi theo các siêu liên kết trên các trang mạng xã hội để download một cách tự động nội dung các trang Mạng xã hội.

Ta sử dụng các thuật toán tạo ra các chương trình khai thác sơ đồ cấu trúc của Web bằng cách chuyển từ trang web này sang trang web khác có cấu trúc gồm tiêu đề, trích dẫn, ảnh , video, nội dung chính

Bước 2: Duyệt và phân tích nội dung (parsing)

Sau khi trang web đã được tải về, chúng ta cần duyệt nội dung của nó để lấy ra các thông tin sẽ được nạp trở lại và giúp định hướng việc đi theo các đường dẫn tiếp theo của việc phân tích nội dung . Việc duyệt nội dung có thể đơn giản chỉ bao hàm việc trích ra các URL/liên kết mà trang web link tới hay nó có thể bao hàm các xử lý phức tạp như làm sạch các nội dung HTML để phân tích cấu trúc cây của các thẻ. Việc duyệt có thể bao gồm các bước để chuẩn hóa các URL được lấy ra, loại bỏ

các từ dừng khỏi nội dung trang web ... Các thành phần của bộ duyệt được mô tả ở phần sau.

Bước 3: Quá trình lấy ra và chuẩn hóa các URL.

Bộ duyệt HTML đã được xây dựng sẵn trong rất nhiều ngôn ngữ. Chúng cung cấp các tính năng để dễ dàng xác định các thẻ HTML và liên kết giá trị các cặp thuộc tính trong một văn bản HTML cho trước. Để lấy ra được các URL hyperlink từ một trang web, ta có thể sử dụng các bộ duyệt ở trên để tìm các thẻ anchor và lấy ra các giá trị của thuộc tính href tương ứng. Tuy nhiên, chúng ta cần chuyển các URL tương đối sang các địa chỉ URL tuyệt đối sử dụng URL cơ sở của trang web nơi chúng được trích ra.

Các URL khác nhau tương ứng với cùng một trang web có thể được ánh xạ vào một dạng chuẩn đơn nhất. Điều này rất quan trọng nhằm tránh được việc nạp cùng một trang web nhiều lần. Sau đây là các bước được sử dụng trong các cách chuẩn hóa:

- Chuyển giao thức và tên máy chủ sang dạng chữ thường. Ví dụ: HTTP: // www.FACEBOOK.COM được chuyển thành https://www.facebook.com/

- Loại bỏ phần anchor hoặc reference của URL. Do đó:

https://www.facebook.com/minhchau.phung.16/faq.htm# được thu gọn thành https://www.facebook.com/minhchau.phung.16 /faq.htm

- Thực hiện việc mã hóa URL bằng các ký tự thông dụng như ‘~’. Điều này sẽ ngăn chặn các crawler khỏi bịđánh lừa http://dollar.biz.uiowa.edu/~pant/ là một URL khác với http://dollar.biz.uiowa.edu/%7Epant/.

- Đối với một số URL, thêm vào dấu ‘/’. http://dollar.biz.uiowa.edu và http://dollar.biz.uiowa.edu/ phải cùng ánh xạ vào cùng một dạng chuẩn. Việc thêm vào dấu ‘/’ hay không trong nhiều trường hợp đòi hỏi kinh nghiệm.

- Sử dụng các kinh nghiệm để nhận ra các trang web mặc định. Các tên file như index.html hay index.htm có thể bị loại khỏi URL bởi chúng vẫn được coi là các file mặc định. Nếu điều này là đúng, chúng có thể được lấy ra bằng cách chỉ sử dụng URL cơ sở.

Bước 4: Loại bỏ các từ dừng và chuyển các dạng thức của từ sang dạng gốc.

Khi duyệt một trang web để trích ra các thông tin nội dung hoặc để tính điểm các URL mà trang đó trỏ tới, thông thường ta nên loại bỏ các từ được dùng thường xuyên hay từ dừng (stopwords) như ‘it’ hay ‘can’ trong Tiếng Anh... Tiến trình xử lý việc loại bỏ các từ dừng khỏi văn bản được gọi là stoplisting. Ngoài việc xử lý các từ dừng, ta cũng cần lấy ra từ gốc của các từ có trong văn bản. Quá trình stemming chuẩn hóa các từ bằng cách đúc kết các hình thái của các từ thành một từ ở dạng gốc hay stem. Ví dụ: từ connect, connected hay connection đều được đưa về dạng connect.

Bước 5: Xây dựng cây các thẻ HTML

Các chương trình theo chuẩn URL của HTML có thể đánh giá giá trị của một URL hoặc một từ trong nội dung trang web bằng cách xem xét ngữ cảnh của các thẻ HTML mà nó thuộc vào. Để làm được điều này, cần sử dụng cây các thẻ hoặc cấu trúc DOM của trang HTML chỉ ra cấu trúc cây của các thẻ tương ứng với văn bản HTML nguồn. Thẻ <html> được lấy làm gốc của cây các thẻ khác và text tạo thành các nút của cây. Đáng tiếc là, rất nhiều trang web có cấu trúc HTML không chuẩn. Ví dụ, một thẻ bắt đầu có thể không có thẻ đóng, hoặc các thẻ không được lồng nhau một cách hợp lý. Trong nhiều trường hợp, thẻ <html> hoặc <body> đều bị thiếu trong trang HTML. Do đó các tiêu chuẩn dựa trên cấu trúc (structure-based criteria) thường cần có một bước tiền xử lý để chuẩn hóa một văn bản HTML có cấu trúc không chuẩn, quá trình xử lý này gọi là làm sạch (tidying) các trang HTML. Nó bao gồm cả việc chèn thêm các thẻ bị thiếu và sắp xếp lại thứ tự các thẻ trong trang. Việc làm sạch một trang HTML là cần thiết để ánh xạ nội dung của trang vào trong một cấu trúc cây để đảm bảo tính toàn vẹn, mỗi nút có một cha duy nhất, từ đó phân tích nên cấu trúc cây của các thẻ. Chú ý rằng việc phân tích cấu trúc DOM chỉ cần thiết nếu có ý định sử dụng cấu trúc của trang HTML cho những phân tích phức tạp. Còn nếu việc trích xuất thẻ HTML chỉ cần các liên kết trong một trang, các từ khóa và vị trí xuất hiện của chúng trong trang web thì chỉ cần sử

dụng các bộ duyệt HTML thông thường. Các bộ duyệt này sẽ ngôn ngữ lập trình xử lý . Ví dụ: <html> <head> <title>Projects</title> </head> <body> <h4>Projects</h4> <ul> <li>

<a href="blink.html">LAMP</a> Linkage analysis with multiple processors.</li> <li> <a href="nice.html">NICE</a> The network infrastructure for combinatorial exploration.</li> <li>

<a href="amass.html">AMASS</a> A DNA sequence assembly algorithm.</li> <li> <a href="dali.html">DALI</a> A distributed, adaptive, first-order logic theorem prover.</li>

</ul> </body> </html>

Hình 2.6: Chuẩn hóa cấu trúc Html

Bước 6: Sử dụng các hàm API của Facebooks để đọc dữ liệu

Facebook API là cách chủ yếu để lấy dữ liệu vào và ra khỏi đồ thị của Facebook. Đó là một HTTP API dựa trên mức độ thấp mà bạn có thể sử dụng để truy vấn dữ liệu, gửi những câu chuyện mới, tải lên hình ảnh và một loạt các nhiệm vụ khác mà một ứng dụng có thể cần phải làm.

Cụ thể:

API Facebook được đặt tên theo ý tưởng của một "đồ thị" là một đại diện của các thông tin trên Facebook bao gồm:

• Node (nút): Một cách cơ bản là những "thứ" người ta sử dụng, một hình ảnh, một trang, một nhận xét trong facebook

• Edge (cạnh): Là các kết nối giữa những "thứ", chẳng hạn như kết nối giữa hình ảnh và trang chứa ảnh đó, hoặc một ghi chú và bức ảnh được ghi chú đó

• Field (trường/lĩnh vực): Thông tin về những "thứ", chẳng hạn như ngày sinh nhật của người sử dụng, hoặc tên của một trang.

• Graph API là dựa trên HTTP, do đó, làm việc với bất kỳ ngôn ngữ nào có một thư viện HTTP, như cURL, urllib. Chúng tôi sẽ giải thích thêm một chút về những gì bạn có thể làm với điều này trong phần dưới đây, nhưng nó có nghĩa là bạn cũng có thể sử dụng Graph API trực tiếp trong trình duyệt của bạn, ví dụ như gửi một đòi

hỏi này tương đương với:

http://graph.facebook.com/facebook/picture?redirect=false

Và nhận được kết quả, nó chứa thông tin về icon của facebook graph. Copy giá trị url có trong kết quả và dán lên trình duyệt bạn sẽ có được thông tin về Facebooke đó. { "data": { "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpf1/t1.0- 1/p50x50/1377580_10152203108461729_809245696_n.png", "is_silhouette": false } }

Cách thức lấy tin bằng API Facebook

Lấy Object ID

Mỗi nút có một ID duy nhất được sử dụng để truy cập thông qua Graph API Đây là cách sử dụng cho Node:

Node: GET graph.facebook.com /{node-id} POST graph.facebook.com /{node-id} Edge: GET graph.facebook.com /{node-id}/{edge-name} POST graph.facebook.com /{node-id}/{edge-name}

sử dụng Access Token Sau đó chuyển tới "Graph API Explorer", nó cho phép bạn khám phá những gì mà Graph API mang tới cho bạn một cách trực quan.

Từ "Graph API Explorer" ta sẽ có các phần quan trọng:

Access Token: Là mã cho phép gửi đòi hỏi tới Server. Access Token là một đoạn String, nó giống như một giấy phép cho phép bạn truy cập vào Facebook Graph để lấy dữ liệu nào đó. Mỗi Access Token mang thông tin rằng bạn có quyền làm được những gì. Để có tối đa quyền khám phá Facebook Graph API trên tài khoản Facebook của bạn, hãy tạo một Access Token với quyền hạn lớn nhất.

URL gửi tới server để nhận về giá thông tin.

Kết quả thực hiện Graph API

Facebook Graph API có một bộ tài liệu tra cứu tương đối tốt, giúp bạn dễ dàng tra cứu. Chuyển tới:

https://developers.facebook.com/docs/

/abum

Abum là một Node trong Graph API.

Ta có có thể có được {album-id} từ việc truy vấn các Album của Facebook mình cần sử dụng:

Lấy thông tin các Comment cho Album:

Bước 7: Sử dụng Google để đọc dữ liệu

Ta sử dụng chức năng tìm kiếm của google với các từ tìm kiếm “ Tin tức mới nhất về Ninh Bình”.

Lúc này hệ thống sẽ cho ta khoảng 102.000.000 kết quả tìm kiếm nhưng chúng ta chỉ lấy những kết quả tìm kiếm ở trang đầu tiên để đọc dữ liệu. Ví dụ ta vào link đầu tiên https://news.skydoor.net/place/Ninh_B%C3%ACnh.

Ta sẽ được khoảng 30 tin lúc này ta sử dụng việc chuẩn hóa html ở bước 5 để lọc tin này.

Tương tự ta có thể lấy link thứ 2 của kết quả tìm kiếm trên Google ví dụ ta lấy link https://www.24h.com.vn/ninh-binh-c46e4362.html.

Lúc này ta sẽ được khoảng 20 tin tương tự như trên ta lại sử dụng bước số 5 chuẩn hóa các html để lấy tin về.

Quá trình cứ lặp đi lặp lại cho đến hết trang đầu của kết quả tìm kiếm trên google.

Bước 8: Xử lý tin lỗi và dữ liệu lấy về quá lớn.

Việc lấy tin sẽ phát sinh ra vấn đề với các tin mà ta không lấy được về lúc này hệ thống sẽ bỏ qua tin này ví dụ các tin không lấy về được là các tin không đăng theo đinh dạng chuẩn mà các website hay dùng. Khi lấy tin về bộ nhớ đệm cũng sẽ lưu quá nhiều tin làm phát sinh dữ liệu lớn do đó hệ thống sẽ tự xác định khoảng 5s phải lấy được tin về và định dạng được tin này, quá 5s sẽ bỏ qua tin này.

Bước 9: Lưu dữ liệu sau khi đã chuẩn hóa

Sau khi tin tức được lấy về hệ thống sẽ được lập trình qua các bộ lọc Facebook API, Google API, HTML tin tức sẽ được chuẩn hóa thành dạng (tên tin, trích dẫn, ảnh, nội dung, bình luận nếu có). Tiếp theo ta sẽ so sánh các tin này xem có sự trùng lặp hay không việc so sánh sẽ dựa trên tiêu chí tên tin, nguồn tin, thời gian đăng. Bước cuối cùng ta sẽ lưu vào cơ sở dữ liệu trung tâm phục vụ cho việc đánh giá và tổng hợp báo cáo .

CHƯƠNG III: MỘT SỐ THỬ NGHIỆM 3.1 Sử dụng công cụ

3.1.1. Công cụ

Công cụ lập trình: PHP Database: MySQL.

Công cụ hỗ trợ: Html,Java,FreamWork, Microsof Excell ….

3.1.2. Cài đặt sản phẩm

Máy chủ cài đặt Hệ điều hành Linux (Cấu hình tối thiểu CPU 4.3 Ghz, Ram 8 Gb, ổ cứng 500G.

Máy chủ được cài webserver Apache (có thể dùng LAMP để thay thế). Cơ sở dữ liệu ta cài đặt MySQL.

3.2 Sản phẩm phần mềm

3.2.1. Các chức năng chính của phần mềm Các chức năng chính của phần mềm: Các chức năng chính của phần mềm:

- Chức năng lấy thông tin trên mạng xã hội (Facebook Group). - Chức năng lấy thông tin trên mạng xã hội (Facebook Fanpage).

- Chức năng lấy thông tin trên mạng có các nội dung liên quan tới Ninh Bình

- Chức năng xem tin lấy về (tên tin, trích dẫn, thời gian tin, nội dung, người đăng tin, bình luận tin tức).

- Chức năng đánh giá thông tin lấy về.

- Chức năng xuất báo cáo tổng hợp (Việc thống kê sẽ xuất ra được 3 bản report tổng hợp theo thời gian đó là thống kê thông tin về Ninh Bình trên các báo,

thống kê tin tức trên Group FaceBook và Fanpage FaceBook) - Chức năng đổi mật khẩu.

3.2.2. Cấu trúc bảng dữ liệu

Bảng người dùng

STT Thuộc tính Kiểu Chiều dài Ý nghĩa

1 id int Mã người dùng

2 name varchar Tên đăng nhập

3 pass varchar Nội dung đánh giá

4 role int Quyền

5 hoten nvarchar 50 Họ và tên

6 chucvu nvarchar 100 Chức vụ

7 sodienthoai nvarchar 12 Số điện thoại

Bảng tin Group

STT Thuộc tính Kiểu Chiều dài Ý nghĩa

1 id Int (auto) Mã group

2 tentin Nvarchar Tên tin

3 tomtat Nvarchar Tóm tat tin

4 nguon Nvarchar Nguồn tin

5 noidung Ntext Nội dung tin

6 domain Nvarchar 50 Domain chính

7 url Nvarchar 100 Link trực tiếp

8 time1 Nvarchar 30 Thời gian đăng

Bảng tin Fanpage

STT Thuộc tính Kiểu Chiều dài Ý nghĩa

1 Id Int (auto) Mã fanpage

2 tentin nvarchar Tên tin

3 tomtat nvarchar Tóm tắt tin

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu giải pháp phục vụ công tác đánh giá tin tức trên một số trang mạng xã hội trong phạm vi tỉnh ninh bình (Trang 53)

Tải bản đầy đủ (PDF)

(76 trang)