GR1010585B - Web crawling and content summarization - Google Patents
Web crawling and content summarization Download PDFInfo
- Publication number
- GR1010585B GR1010585B GR20220100928A GR20220100928A GR1010585B GR 1010585 B GR1010585 B GR 1010585B GR 20220100928 A GR20220100928 A GR 20220100928A GR 20220100928 A GR20220100928 A GR 20220100928A GR 1010585 B GR1010585 B GR 1010585B
- Authority
- GR
- Greece
- Prior art keywords
- queue
- web
- content
- module
- crawling
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Ανίχνευση Ιστού και Σύνοψη Περιεχομένου Web Crawling and Content Summarization
ΠΕΡΙΓΡΑΦΗ DESCRIPTION
Στάθμη Τεχνικής: Η ανίχνευση ιστού (web crawling) είναι ένας μηχανισμός που χρησιμοποιείται ευρέως για την αναζήτηση περιεχομένου σε ιστοτόπους και ιστοσελίδες στο Διαδίκτυο. Χρησιμοποιείται ευρέως από τις μηχανές αναζήτησης για σελιδοποίηση στο Διαδίκτυο για τη διευκόλυνση των επακόλουθων αναζητήσεων ή χρησιμοποιείται ειδικά για τη συλλογή περιεχομένου που σχετίζεται με κάποια παράμετρο, όπως ένα θέμα ειδήσεων. Background: Web crawling is a widely used mechanism for searching for content on websites and web pages on the Internet. It is widely used by search engines to paginate the Internet to facilitate subsequent searches, or is used specifically to collect content related to some parameter, such as a news topic.
Τυπικά η ανίχνευση ιστού χρησιμοποιεί πολιτικές ανίχνευσης που ορίζουν τι, πού και πώς να αναζητηθεί και να ανακτηθεί περιεχόμενο στον ιστό και συχνά περιλαμβάνει ιεράρχηση της πρόσβασης σε πηγές περιεχομένου ιστού, ώστε να χρησιμοποιούνται καλύτερα οι σπάνιοι και πεπερασμένοι πόροι ανίχνευσης. Web crawling typically uses crawling policies that define what, where, and how to search for and retrieve web content, and often involves prioritizing access to web content sources to make better use of scarce and finite crawling resources.
Η δημιουργία και η συντήρηση ενός ανιχνευτή ιστού μεγάλης κλίμακας και ενός συσσωρευτή περιεχομένου είναι μια κοπιώδης εργασία που απαιτεί συνεχή ενημέρωση και προσαρμογή. Συνήθως, πολλές πηγές περιεχομένου ιστού δεν χρησιμοποιούν αυτόματες ροές (feeds) πληροφοριών, ενώ και η δομή των ιστοσελίδων τους ποικίλλει σημαντικά μεταξύ των τοποθεσιών web και αλλάζει από καιρό σε καιρό. Όλες αυτές οι πτυχές καθιστούν την ανίχνευση ιστού στην ανάγκη να δημιουργεί και να τροποποιεί συνεχώς περιτυλίγματα (wrappers) ιστοσελίδων που χρησιμοποιούνται για την ανίχνευση ιστοσελίδων. Μια τέτοια διαδικασία γίνεται είτε χειροκίνητα είτε ημιαυτόματα, απαιτώντας σημαντική χειροκίνητη εισαγωγή και επίβλεψη σε τακτική βάση. Building and maintaining a large-scale web crawler and content aggregator is a painstaking task that requires constant updating and adaptation. Typically, many web content sources do not use automatic feeds, and the structure of their web pages varies significantly between web sites and changes from time to time. All of these aspects make web crawling the need to constantly create and modify web page wrappers used to crawl web pages. Such a process is either done manually or semi-automatically, requiring significant manual input and oversight on a regular basis.
Επιπλέον, η δημιουργία πολιτικών ανίχνευσης (crawling policies) γίνεται τυπικά με βάση τη συχνότητα επίσκεψης του ιστότοπου, αγνοώντας επομένως άλλα σημαντικά ποιοτικά χαρακτηριστικά που σχετίζονται με το πραγματικό περιεχόμενο του ιστότοπου. Furthermore, the creation of crawling policies is typically done based on the frequency of website visits, thus ignoring other important qualitative characteristics related to the actual content of the website.
Ομοίως, το περιεχόμενο Ιστού πρέπει να συνοψίζεται για καλύτερη παρουσίαση και αναγνωσιμότητα. Οι τρέχουσες προσεγγίσεις είναι χειροκίνητες ή ημιαυτόματες, με εγγενές κόστος ανθρώπινης παρέμβασης και καθυστερήσεις κατά τη διαχείριση τεράστιων ποσοτήτων δεδομένων. Similarly, web content should be summarized for better presentation and readability. Current approaches are manual or semi-automated, with inherent human intervention costs and delays when managing massive amounts of data.
Ορισμός Προβλήματος: Απαιτείται ένας μηχανισμός ανίχνευσης που να μπορεί να δημιουργεί αυτόματα, και να προσαρμόζει συνεχώς, πολιτικές ανίχνευσης και περιτυλίγματα ιστοσελίδων με στόχο την αυτόματη ανίχνευση και θεματική περίληψη μεγάλου όγκου περιεχομένου ειδήσεων Ιστού από διάφορες πηγές. Problem Definition: A crawling engine is needed that can automatically generate, and continuously adapt, crawling policies and web wrappers with the goal of automatically crawling and thematically summarizing large volumes of web news content from various sources.
Προτεινόμενη Λύση - Περίληψη: Παρουσιάζεται σύστημα και μέθοδος ανίχνευσης ιστού και σύνοψης περιεχομένου. Proposed Solution - Abstract: A system and method for web crawling and content summarization is presented.
Όπως χρησιμοποιείται εδώ και στις συνημμένες αξιώσεις, οι αναφορές στον ενικό περιλαμβάνουν αναφορές στον πληθυντικό, εκτός εάν το συμφραζόμενο σαφώς υπαγορεύει διαφορετικά. Εκτός εάν ορίζεται διαφορετικά, όλοι οι τεχνικοί και επιστημονικοί όροι που χρησιμοποιούνται στο παρόν έχουν την ίδια έννοια όπως συνήθως κατανοείται από κάποιον με συνήθη εμπειρία στην τεχνική στην οποία ανήκει αυτή η εφεύρεση (ιστοί ανίχνευσης, Διαδίκτυο, υπολογιστές, επεξεργασία δεδομένων). Αν και οποιεσδήποτε τεχνικές παρόμοιες ή ισοδύναμες με αυτές που περιγράφονται εδώ μπορούν να χρησιμοποιηθούν στην πρακτική ή τη δοκιμή της εφεύρεσης, εδώ περιγράφονται οι προτιμώμενες τεχνικές. As used herein and in the appended claims, references to the singular include references to the plural unless the context clearly dictates otherwise. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains (detection webs, Internet, computers, data processing). Although any techniques similar or equivalent to those described herein may be used in the practice or testing of the invention, the preferred techniques are described herein.
Η παρούσα καινοτόμος λύση ανίχνευσης ιστού εστιάζει στην ανίχνευση για περιεχόμενο ειδήσεων και κοινωνικών μέσων, το οποίο δεν είναι διαθέσιμο για ανάκτηση μέσω ροών Rich Site Summary ή Really Simple Syndication (RSS) ή άλλων δομημένων και αυτοματοποιημένων μηχανισμών. This innovative web crawling solution focuses on crawling for news and social media content that is not available for retrieval through Rich Site Summary or Really Simple Syndication (RSS) feeds or other structured and automated mechanisms.
Η παρούσα καινοτόμος λύση εφαρμόζει έναν μηχανισμό ιεράρχησης πηγών για όλες τις πηγές περιεχομένου, ο οποίος μηχανισμός λαμβάνει υπόψη την επιρροή, την φήμη και τον αντίκτυπο της πηγής και δίνει προτεραιότητα στους ενημερωμένους ιστότοπους ειδήσεων με τη μεγαλύτερη επιρροή ανά θεματικό περιεχόμενο. Η καινοτόμος λύση λαμβάνει υπόψη τον αριθμό των αναφορών από άλλες πηγές (συμπεριλαμβανομένων των ιστοσελίδων ειδήσεων και των μέσων κοινωνικής δικτύωσης) στα άρθρα που δημοσιεύονται από έναν πρώτο ιστότοπο (π.χ. ιστότοπο ειδήσεων) και τον αριθμό των άρθρων (στον πρώτο ή σε άλλους ιστότοπους) που συζητούν το ίδιο γεγονός/θέμα/οντότητα αφού πρώτα συζητηθεί από τα άρθρα του πρώτου ιστότοπου. Η παρούσα λύση ανίχνευσης χρησιμοποιεί πολλές παράλληλες ουρές (queues) για τα στοιχεία προς ανάκτηση και πολλαπλά νήματα (threads) που καταναλώνουν τις ουρές. Αυτά τα νήματα και οι ουρές υλοποιούνται είτε σε λογισμικό, είτε σε υλικό (hardware) ή συνδυασμό αυτών και είναι είτε τοπικά σε μια υπολογιστική συσκευή (π.χ. διακομιστή όπου εκτελείται η παρούσα λύση ανίχνευσης) είτε κατανέμονται σε περισσότερες από μία υπολογιστικές συσκευές. Σε εναλλακτικά παραδείγματα υλοποίησης, οι υπολογιστικές συσκευές μπορούν να επιλέγονται μεταξύ διακομιστούν, επιτραπέζιων υπολογιστών, φορητών υπολογιστών, ταμπλετών, smartphone και παρομοίων συσκευών. This innovative solution implements a source ranking mechanism for all content sources, which takes into account the influence, reputation and impact of the source and prioritizes the most influential updated news sites by topic content. The innovative solution takes into account the number of citations from other sources (including news websites and social media) to articles published by a first site (e.g. news site) and the number of articles (on the first or other sites) that discuss the same event/topic/entity after it has been first discussed by the first site's articles. The present detection solution uses multiple parallel queues for the elements to be retrieved and multiple threads consuming the queues. These threads and queues are implemented in either software, hardware, or a combination thereof, and are either local to a computing device (eg, server where the present detection solution is running) or distributed across more than one computing device. In alternative exemplary embodiments, the computing devices may be selected from servers, desktop computers, laptops, tablets, smartphones, and the like.
Δεδομένου ότι οι πόροι μιας μηχανής ανίχνευσης δεν είναι απεριόριστοι, η διαμόρφωση μιας λύσης ανίχνευσης για τη συλλογή περιεχομένου σε ιστότοπους συνήθως περιλαμβάνει την ιεράρχηση του τι πρέπει να ανιχνευτεί, πότε και πόσοι πόροι θα διατεθούν σε κάθε πηγή περιεχομένου (είτε πρόκειται για ιστότοπο με συλλογή παρόμοιων ιστοσελίδων ή μεμονωμένης ιστοσελίδας σε έναν ιστότοπο). Since the resources of a crawler are not unlimited, configuring a crawling solution for collecting content across websites usually involves prioritizing what to crawl, when, and how many resources to allocate to each content source (whether it's a site with a collection of similar of web pages or a single web page within a website).
Τυπικά, η ιεράρχηση των εργασιών ανίχνευσης ιστοσελίδων περιλαμβάνει τη χρήση της δημοτικότητας του περιεχομένου ιστού και των πηγών Ιστού προς ανίχνευση. Ωστόσο, είναι επίσης σημαντικό να διατίθενται πόροι όχι μόνο σε πηγές Ιστού που ενημερώνουν συχνά το περιεχόμενό τους (όπως κάνουν συνήθως οι ανιχνευτές Ιστού) αλλά και σε πηγές ιστού με επιρροή (π.χ. πηγές Ιστού που είναι ευρέως αποδεκτές ως φημισμένες πηγές, προβάλλονται κατά προτίμηση κ.λπ.). Η συνεκτίμηση της επιρροής των πηγών περιεχομένου μπορεί να συμβάλει στην αύξηση της αποτελεσματικότητας της διαδικασίας ανίχνευσης και του αντίκτυπου του ανιχνευόμενου περιεχομένου, το οποίο μπορεί στη συνέχεια να υποβληθεί σε επεξεργασία για τη δημιουργία συγκεντρωτικού περιεχομένου που προβάλλεται στους τελικούς χρήστες. Typically, prioritizing web crawling tasks involves using the popularity of web content and web sources to crawl. However, it is also important to allocate resources not only to web sources that update their content frequently (as web crawlers usually do) but also to influential web sources (e.g., web sources that are widely accepted as reputable sources, viewed preferably etc.). Considering the influence of content sources can help increase the efficiency of the crawling process and the impact of crawled content, which can then be processed to create aggregated content served to end users.
Επιπλέον, η παρούσα καινοτόμος λύση αυτοματοποιεί τη διαδικασία συλλογής περιεχομένου από πηγές ιστού που δεν χρησιμοποιούν RSS ή άλλες δομημένες ή/και αυτοματοποιημένες τεχνικές για τη συλλογή περιεχομένου. Για κάθε συγκεκριμένη πηγή ιστού, η παρούσα καινοτόμος λύση χρησιμοποιεί έναν συνδυασμό μηχανικής μάθησης και τεχνικών βασισμένων σε κανόνες για τον εντοπισμό τμημάτων κειμένου ειδικού ενδιαφέροντος (π.χ. τίτλος άρθρου, σώμα, συνδέσμους σε άρθρα, συνδέσμους σε κατηγορίες άρθρων) και τον αυτόματο καθορισμό πολιτικών ανίχνευσης για κάθε πηγή περιεχομένου ιστού. Οι πολιτικές ανίχνευσης (crawling policies) (περιτυλίγματα σελίδων, προτεραιότητες ανίχνευσης κ.λπ.), οι οποίες διαφέρουν μεταξύ των πηγών ιστού δημιουργούνται αυτόματα την πρώτη φορά που ανιχνεύεται μια πηγή και ενημερώνονται όταν αλλάζει η δομή μιας πηγής (π.χ. όταν η δομή, τα στοιχεία και η σειρά τους τροποποιείται σε μια ιστοσελίδα ή ιστότοπο) . In addition, the present innovative solution automates the process of collecting content from web sources that do not use RSS or other structured and/or automated techniques for content collection. For each specific web source, this innovative solution uses a combination of machine learning and rule-based techniques to identify text segments of special interest (e.g. article title, body, links to articles, links to article categories) and automatically determine tracking policies for each web content source. Crawling policies (page wrappers, crawl priorities, etc.), which differ between web sources, are created automatically the first time a source is crawled and are updated when the structure of a source changes (e.g. when the structure, elements and their order is modified in a web page or website) .
Ελλείψει κοινής μεθόδου (όπως RSS) για πρόσβαση σε αυτό το περιεχόμενο, τα υπάρχοντα προγράμματα ανίχνευσης ειδήσεων είτε περιορίζονται σε πηγές που παρέχουν ροές RSS είτε δημιουργούν και διατηρούν με μη αυτόματο τρόπο διαφορετικές πολιτικές ανίχνευσης (περιτυλίγματα, προτεραιότητες κ.λπ.) για κάθε πηγή Ιστού. Απαιτούνται διαφορετικές πολιτικές ανίχνευσης, καθώς κάθε πηγή ειδήσεων χρησιμοποιεί το δικό της πρότυπο για την προβολή περιεχομένου. Η εργασία τόσο για τη μη αυτόματη δημιουργία όσο και για τη διατήρηση των πολιτικών ανίχνευσης είναι μεγάλη και αυτό περιορίζει τις εταιρείες που προσφέρουν υπηρεσίες ανίχνευσης ιστού και επεξεργασίας και συγκέντρωσης περιεχομένου ιστού από τη συγκέντρωση εκατοντάδων ή χιλιάδων πηγών. Παρά τις προόδους στην αυτόματη συντήρηση περιτυλίγματος που βρίσκονται στη βιβλιογραφία, η αρχική δημιουργία περιτυλίγματος εξακολουθεί να παραμένει μια χειροκίνητη εργασία. In the absence of a common method (such as RSS) to access this content, existing news crawlers are either limited to sources that provide RSS feeds or manually create and maintain different crawl policies (wrappers, priorities, etc.) for each source Web. Different crawl policies are required as each news source uses its own standard for serving content. The work involved in both manually creating and maintaining crawling policies is large, and this limits companies that offer web crawling and web content processing and aggregation services from aggregating hundreds or thousands of sources. Despite the advances in automatic wrapper maintenance found in the literature, initial wrapper generation still remains a manual task.
Επομένως, υπάρχει ανάγκη για μια αυτόματη λύση για τη δημιουργία και τη συνεχή ενημέρωση των πολιτικών ανίχνευσης ιστού. Μια τέτοια μέθοδος θα πρέπει να προσαρμόζεται αυτόματα στις αλλαγές στη δομή των πηγών περιεχομένου Ιστού, στον αντίκτυπο τους και στις προτεραιότητές τους. Therefore, there is a need for an automatic solution to create and continuously update web crawling policies. Such a method should automatically adapt to changes in the structure of Web content sources, their impact, and their priorities.
Η παρούσα καινοτόμος λύση παρέχει μια κομψή λύση στο παραπάνω πρόβλημα, διδάσκοντας έναν νέο μηχανισμό δημιουργίας και συντήρησης περιτυλίγματος σελίδας, σε συνδυασμό με έναν νέο μηχανισμό προτεραιότητας ανίχνευσης που βασίζεται στον αντίκτυπο και τη φήμη της πηγής περιεχομένου Ιστού και υλοποιείται με έναν αριθμό ή παράλληλες ουρές που καταναλώνονται για να σχηματίσουν μια τελική ουρά που χρησιμοποιείται για συνεχή ανίχνευση ιστού. Το περιεχόμενο που συλλέγεται από τη διαδικασία ανίχνευσης συγκεντρώνεται συνεχώς με μια καινοτόμο μέθοδο ομαδοποίησης/σύνοψης περιεχομένου, η οποία συγκεντρώνει παρόμοια άρθρα (που συζητούν το ίδιο συμβάν, θέμα ή οντότητα), προσδιορίζει τα κύρια υποθέματα που συζητούνται από τα άρθρα του συμπλέγματος και δημιουργεί προτάσεις που περιγράφουν κάθε υποθέμα. Μια ενότητα ομαδοποίησης/σύνοψης μπορεί να δημιουργήσει νέο περιεχόμενο από πολλαπλές αναφορές ενός γεγονότος σε παραδοσιακά μέσα ιστού. Η ενότητα ομαδοποίησης/σύνοψης συνδυάζει ένα βήμα εξαγωγής και μια αφηρημένη σύνοψη, όπου το πρώτο βήμα επιλέγει τα θέματα μιας συστάδας και τις πιο αντιπροσωπευτικές ομάδες προτάσεων για κάθε θέμα και το δεύτερο βήμα συνθέτει νέες λεξιλογικές αλυσίδες που καλύπτουν κάθε θέμα στο σύμπλεγμα. Αν και το βήμα εξαγωγής σύνοψης έχει μελετηθεί εκτενώς από ερευνητές και εμπορικά συστήματα, το αφηρημένο βήμα εκμεταλλεύεται το επαναλαμβανόμενο περιεχόμενο στο σύμπλεγμα ειδήσεων για να δημιουργήσει πιο ολοκληρωμένες περιλήψεις από τα υπάρχοντα μοντέλα seq2seq. The present novel solution provides an elegant solution to the above problem by teaching a new page wrapper creation and maintenance mechanism, combined with a new detection priority mechanism based on the impact and reputation of the web content source and implemented with a number or parallel queues that they are consumed to form a terminal queue used for continuous tissue detection. The content collected by the crawling process is continuously aggregated with an innovative content clustering/summarization method, which aggregates similar articles (discussing the same event, topic or entity), identifies the main sub-topics discussed by the articles in the cluster and generates suggestions that describe each subtopic. A grouping/summary section can generate new content from multiple reports of an event in traditional web media. The clustering/summarization module combines an extraction step and an abstract summarization, where the first step selects the topics of a cluster and the most representative groups of sentences for each topic, and the second step composes new lexical chains covering each topic in the cluster. Although the summary extraction step has been extensively studied by researchers and commercial systems, the abstract step exploits the repeated content in the news cluster to generate more comprehensive summaries than existing seq2seq models.
Στην περίπτωση εκατοντάδων ή χιλιάδων πηγών Ιστού, η επικάλυψη περιεχομένου είναι τεράστια και ο μηχανισμός ομαδοποίησης είναι σημαντικός για την παρουσίαση του περιεχομένου ειδήσεων. Οι χρήστες που ενδιαφέρονται για ένα συμβάν, λαμβάνουν μια γρήγορη ιδέα από τη σύνοψη που δημιουργείται αυτόματα και στη συνέχεια μπορούν να περιηγηθούν στο δικό τους χρόνο στα άρθρα που ομαδοποιούνται στο ίδιο σύμπλεγμα. Αυτή η διαδικασία αυτόματης σύνοψης βελτιώνει την εμπειρία ανάγνωσης και επιτρέπει την ανάπτυξη νέων υπηρεσιών παράδοσης περιεχομένου, π.χ. υπηρεσίες ειδήσεων που παρέχουν μια περίληψη των ειδήσεων και η περίληψη ενημερώνεται συνεχώς λαμβάνοντας υπόψη όχι μόνο το ποσοστό επισκέψεων ή τις πηγές ιστού αλλά και τον αντίκτυπο, την επιρροή και άλλες παραμέτρους των πηγών ιστού και περιλαμβάνει περιεχόμενο κοινωνικών μέσων, δεδομένα και μεταδεδομένα που σχετίζονται με το αρχικό περιεχόμενο ιστού. In the case of hundreds or thousands of web sources, the content overlap is huge and the grouping mechanism is important for presenting the news content. Users interested in an event get a quick idea from the automatically generated summary and can then browse at their own time the articles grouped in the same cluster. This automatic summarization process improves the reading experience and enables the development of new content delivery services, e.g. news services that provide a summary of the news and the summary is continuously updated taking into account not only the hit rate or web sources but also the impact, influence and other parameters of the web sources and includes social media content, data and metadata related to original web content.
Αρχιτεκτονική συστήματος ανίχνευσης ιστού Architecture of web detection system
Το Σχήμα 1 δείχνει ένα σχηματικό διάγραμμα μιας παραδειγματικής υλοποίησης του προτεινόμενου καινοτόμου συστήματος ανίχνευσης. Το σύστημα ανίχνευσης (100) περιλαμβάνει τουλάχιστον έναν ανιχνευτή διακομιστή σε επικοινωνία με τουλάχιστον έναν διακομιστή Ιστού και προαιρετικά με τουλάχιστον μία υπολογιστική συσκευή. Στην απεικονιζόμενη παραδειγματική υλοποίηση του Σχήματος 1, ένας πρώτος διακομιστής ανίχνευσης (160) συνδέεται με μια βάση δεδομένων (165). Η βάση δεδομένων (165) υλοποιείται είτε εσωτερικά στον διακομιστή ανίχνευσης (160) είτε εξωτερικά, π.χ. ως διακομιστής δικτυωμένης βάσης δεδομένων ή άλλη διαμόρφωση προφανής σε έναν αναγνώστη με συνηθισμένη εμπειρία στη σχετική τέχνη. Η βάση δεδομένων (165) περιλαμβάνει διάφορους τύπους δεδομένων, όπως πολιτικές ανίχνευσης, αποτελέσματα ανίχνευσης, ουρές ανίχνευσης κ.λπ. Αυτά τα δεδομένα μπορούν να αποθηκευτούν σε κρυπτογραφημένα, μη κρυπτογραφημένα, συμπιεσμένα, περιγραφικά (π.χ. μπορεί να χρησιμοποιηθεί ένας τύπος XML ή άλλη περιγραφική γλώσσα) ή συνδυασμό τους. Figure 1 shows a schematic diagram of an exemplary implementation of the proposed innovative detection system. The detection system (100) includes at least one server detector in communication with at least one web server and optionally with at least one computing device. In the illustrated exemplary embodiment of Figure 1, a first detection server (160) is connected to a database (165). The database (165) is implemented either internally in the detection server (160) or externally, e.g. as a networked database server or other configuration obvious to a reader of ordinary skill in the relevant art. The database (165) includes various types of data such as crawl policies, crawl results, crawl queues, etc. This data can be stored encrypted, unencrypted, compressed, descriptive (eg, an XML type or other descriptive language can be used), or a combination thereof.
Ο διακομιστής ανίχνευσης (160) έχει πρόσβαση στην πρώτη βάση δεδομένων (165) για ανάγνωση και εγγραφή πολιτικών και δεδομένων ανίχνευσης κατά τη διάρκεια των διαδικασιών ανίχνευσης και προβολής των αποτελεσμάτων στους ενδιαφερομένους φορείς. Ο διακομιστής ανίχνευσης (160) συνδέεται επίσης με μια δεύτερη βάση δεδομένων (170), η οποία βάση δεδομένων μπορεί να περιέχει πρόσθετες πολιτικές και/ή αποτελέσματα ανίχνευσης και έχει διαμορφωθεί παρόμοια με την πρώτη βάση δεδομένων (165) και σε έναν προαιρετικό δεύτερο διακομιστή ανίχνευσης (150). Ο διακομιστής ανίχνευσης (150) συνδέεται επίσης με την πρώτη βάση δεδομένων (165), στη δεύτερη βάση δεδομένων (170), και (σε ένα εναλλακτικό παράδειγμα υλοποίησης) σε μια τρίτη βάση δεδομένων (155), η οποία τρίτη βάση δεδομένων (155) έχει διαμορφωθεί παρόμοια με την πρώτη βάση δεδομένων (165) και περιέχει πρόσθετες πολιτικές και/ή αποτελέσματα ανίχνευσης. The detection server (160) has access to the first database (165) for reading and writing policies and detection data during the detection processes and displaying the results to the stakeholders. The detection server (160) is also connected to a second database (170), which database may contain additional policies and/or detection results and is configured similarly to the first database (165) and to an optional second detection server (150). The detection server (150) is also connected to the first database (165), the second database (170), and (in an alternative embodiment) a third database (155), which third database (155) is configured similarly to the first database (165) and contains additional policies and/or detection results.
Ο πρώτος (160) και ο δεύτερος διακομιστής ανίχνευσης (150) έχουν ρυθμιστεί να λειτουργούν παράλληλα και να επιταχύνουν τη διαδικασία ανίχνευσης. Από μια άποψη, ο πρώτος διακομιστής ανίχνευσης (160) λειτουργεί ως κύριος, τρέχοντας λογισμικό που διαχειρίζεται την παραλληλοποίηση της διαδικασίας ανίχνευσης και του φόρτου εργασίας και των αποτελεσμάτων των δύο διακομιστούν ανίχνευσης. Από μια άλλη άποψη, ο δεύτερος διακομιστής ανίχνευσης (150) είναι ο κύριος, ενώ σε μια άλλη άποψη, η εναλλαγή της κύριας κατάστασης κατά τη λειτουργία ανίχνευσης πραγματοποιείται ως αποτέλεσμα των μεταβαλλόμενων συνθηκών λειτουργίας (π.χ. μείωση της απόδοσης του επεξεργαστή διακομιστή ως αποτέλεσμα υπερθέρμανσης, μείωσης της απόδοσης δικτύου, κλπ.). The first (160) and second detection servers (150) are configured to operate in parallel and speed up the detection process. In one aspect, the first detection server (160) acts as a master, running software that manages the parallelization of the detection process and the workload and results of the two detection servers. In another aspect, the second detection server (150) is the master, while in another aspect, the switching of the master state during the detection mode occurs as a result of changing operating conditions (e.g., a decrease in server processor performance as result of overheating, reduction of network performance, etc.).
Σε ένα εναλλακτικό παράδειγμα υλοποίησης, μπορούν να προστεθούν πρόσθετες βάσεις δεδομένων και διακομιστές ανίχνευσης ή σε περιπτώσεις όπου απαιτείται μαζική παραλληλοποίηση, μπορούν να χρησιμοποιηθούν φόρμες διακομιστούν ανίχνευσης είτε τοπικά είτε σε υποδομή υπολογιστικού νέφους (cloud). Σε μια άλλη ακόμη υποδειγματική υλοποίηση χρησιμοποιούνται μόνο ο πρώτος διακομιστής ανίχνευσης (160) και η πρώτη βάση δεδομένων (165) και όλη η επεξεργασία και η αποθήκευση που χρειάζονται για την ανίχνευση ιστού υλοποιούνται σε αυτά τα δύο στοιχεία του συστήματος (100). In an alternative embodiment, additional databases and trace servers can be added, or in cases where massive parallelization is required, trace servers can be used either locally or in a cloud infrastructure. In yet another exemplary embodiment, only the first crawl server (160) and the first database (165) are used, and all processing and storage needed for web crawling is implemented in these two system components (100).
Ο πρώτος και ο δεύτερος διακομιστής ανίχνευσης (160), (150) επικοινωνούν μέσω οποιοσδήποτε διαθέσιμου τύπου ενσύρματου ή ασύρματου δικτύου (140) (οι υποδομές cloud είναι ένα παράδειγμα τέτοιου δικτύου) με έναν πρώτο διακομιστή ιστού (110), ο οποίος διακομιστής Ιστού φιλοξενεί τουλάχιστον έναν ιστότοπο ή διαδικτυακή πύλη που αποτελείται από τουλάχιστον μία ιστοσελίδα. Στην πράξη, ο πρώτος διακομιστής ιστού (110) φιλοξενεί δεκάδες ιστοσελίδες ή πύλες, καθεμία αποτελούμενη από δεκάδες ή εκατοντάδες ιστοσελίδες αποθηκευμένες σε βάσεις δεδομένων ή συστήματα αρχείων τοπικά ή απομακρυσμένα στον πρώτο διακομιστή ιστού (110). The first and second detection servers (160), (150) communicate via any available type of wired or wireless network (140) (cloud infrastructures are an example of such a network) with a first web server (110), which web server hosts at least one website or web portal consisting of at least one web page. In practice, the first web server (110) hosts dozens of web pages or portals, each consisting of tens or hundreds of web pages stored in databases or file systems local or remote to the first web server (110).
Από μια άλλη άποψη, οι πρώτοι (160) και δεύτεροι (150) ανιχνευόμενοι διακομιστές συνδέονται επίσης με έναν δεύτερο διακομιστή ιστού (120) και έναν τρίτο διακομιστή ιστού (130) διαμορφωμένο παρόμοια με τον πρώτο διακομιστή ιστού (110). Σε εναλλακτικά παραδείγματα υλοποίησης, υπάρχουν πρόσθετοι διακομιστές Ιστού που μπορεί να ρυθμιστούν ως σύμπλεγμα διακομιστούν ιστού ή με άλλο τρόπο. In another aspect, the first (160) and second (150) detected servers are also connected to a second web server (120) and a third web server (130) configured similarly to the first web server (110). In alternative exemplary embodiments, there are additional web servers that may be configured as a web server cluster or otherwise.
Τα αποτελέσματα ανίχνευσης αποθηκεύονται από τους πρώτους (160) και δεύτερους (150) διακομιστές ανίχνευσης στην τοπική αποθήκευση (στους διακομιστές ανίχνευσης) ή στις βάσεις δεδομένων (165), (170), (155). Αυτά τα αποτελέσματα είναι προσβάσιμα απευθείας από τους διακομιστές ανίχνευσης (160), (150) ή πιο συχνά από μια υπολογιστική συσκευή (π.χ. έναν επιτραπέζιο υπολογιστή (195), έναν διακομιστή (δεν απεικονίζεται), έναν φορητό υπολογιστή (δεν απεικονίζεται), ένα tablet (175), ένα smartphone (185) ή άλλη ηλεκτρονική συσκευή (δεν απεικονίζεται) με επαρκή υπολογιστική ισχύ όπως μία δικτυακή συσκευή του Διαδικτύου Πραγμάτων (ΙοΤ), κ.λπ.). Τέτοιες υπολογιστικές συσκευές έχουν πρόσβαση στα αποτελέσματα ανίχνευσης μέσω ενός τέταρτου διακομιστή ιστού (180), ο οποίος διακομιστής συνδέεται με τη βάση δεδομένων (170), η οποία βάση δεδομένων συνδέεται μέσω διακομιστούν (160), (170) με βάσεις δεδομένων (165), (155). Σε ένα εναλλακτικό παράδειγμα υλοποίησης, οι προηγούμενες υπολογιστικές συσκευές έχουν πρόσβαση στα αποτελέσματα ανίχνευσης μέσω οποιουδήποτε από τους πρώτους (110), δεύτερους (120) ή τρίτους (130) διακομιστές Ιστού. The scan results are stored by the first (160) and second (150) scan servers in local storage (the scan servers) or databases (165), (170), (155). These results are accessible directly from the detection servers (160), (150) or more commonly from a computing device (eg, a desktop computer (195), a server (not shown), a laptop (not shown) , a tablet (175), a smartphone (185) or other electronic device (not shown) with sufficient computing power such as an Internet of Things (IoT) network device, etc.). Such computing devices access the detection results via a fourth web server (180), which server is connected to the database (170), which database is connected via servers (160), (170) to databases (165), (155). In an alternative embodiment, the foregoing computing devices access the detection results through any of the first (110), second (120), or third (130) web servers.
Μπορούν να χρησιμοποιηθούν εναλλακτικά υποδείγματα υλοποίησης του συστήματος ανίχνευσης (100), όπου ορισμένα στοιχεία παραλείπονται ή συγχωνεύονται και εισάγονται άλλα. Ως βασική διαμόρφωση, μπορεί κανείς να εξετάσει έναν μεμονωμένο διακομιστή ανίχνευσης, μια υποδομή δικτύου και έναν διακομιστή ιστού. Οι διάφορες διαμορφώσεις του συστήματος (100) μπορούν επίσης να περιλαμβάνουν εξαρτήματα που βασίζονται σε υπολογιστικό σύννεφο ενώ τα στοιχεία που απεικονίζονται στο Σχήμα 1 μπορεί να είναι φυσικά ή εικονικά. Alternative embodiments of the detection system (100) may be used where some elements are omitted or merged and others are introduced. As a basic configuration, one can consider a single crawl server, a network infrastructure, and a web server. Various configurations of the system (100) may also include cloud-based components while the components depicted in Figure 1 may be physical or virtual.
Αρχιτεκτονική υλικού Hardware architecture
Το Σχήμα 2Α δείχνει ένα μπλοκ διάγραμμα αρχιτεκτονικής υλικού για τους διακομιστές και τις μονάδες υπολογιστικής συσκευής του συστήματος ανίχνευσης (100). Το στοιχείο υλικού (200) περιλαμβάνει μια σειρά μονάδων (210)-(290). Αυτές οι μονάδες μπορούν να αντικατασταθούν από άλλες παρόμοιες μονάδες, ενώ ορισμένες ή όλες αυτές οι μονάδες μπορεί να αντιγραφούν για την εξασφάλιση αδιάλειπτης λειτουργίας σε περίπτωση βλάβης μιας μονάδας ή για την αύξηση της χωρητικότητας και των δυνατοτήτων μιας μονάδας, όπως στην περίπτωση της μονάδας μνήμης (240). Ενότητες Τα (210)-(290) συνδέονται μεταξύ τους μέσω ενός διαύλου δεδομένων και ενός διαύλου ελέγχου όπου μια μονάδα με κατάλληλη λογική λειτουργεί ως κύρια μονάδα. Figure 2A shows a hardware architecture block diagram for the servers and computing device units of the sensing system (100). The hardware element (200) comprises a series of modules (210)-(290). These modules can be replaced by other similar modules, and some or all of these modules can be duplicated to ensure uninterrupted operation in the event of a module failure, or to increase the capacity and capabilities of a module, as in the case of a memory module ( 240). Modules (210)-(290) are interconnected via a data bus and a control bus where a suitable logic unit acts as a master unit.
Σε εναλλακτικές παραδειγματικές πραγματοποιήσεις, ορισμένες ή όλες οι μονάδες (210)-(290) είναι εξοπλισμένες με μικροεπεξεργαστές ή μικροελεγκτές και οποιοδήποτε από αυτά μπορεί να γίνει κύριος (master) που επικοινωνεί με άλλες μονάδες μέσω ενός διαύλου πολλαπλών βασικών στοιχείων, π.χ. ένα δίαυλο δικτύου ελεγκτή περιοχής (CAN). In alternative exemplary embodiments, some or all of the modules (210)-(290) are equipped with microprocessors or microcontrollers and any one of them can become a master that communicates with other modules via a multi-core bus, e.g. a controller area network (CAN) bus.
Η μονάδα υλικού (200) περιλαμβάνει έναν κεντρικό ελεγκτή ή επεξεργαστή (250), ο οποίος περιέχει ψηφιακή λογική και/ή λογισμικό για την ενοποίηση δεδομένων από άλλες μονάδες και τη λήψη επιχειρησιακών αποφάσεων, μία ή περισσότερες μονάδες μνήμης (240) (αυτές μπορούν να υλοποιηθούν ως πτητική ή μόνιμη μνήμη, σκληρό δίσκος ή άλλο τύπο συσκευής αποθήκευσης δεδομένων) για την αποθήκευση των δεδομένων που θα χειρίζονται ο επεξεργαστής (250) ή θα ανταλλάσσονται μεταξύ της μονάδας (200) και άλλων μονάδων του συστήματος (100), της μονάδας επικοινωνιών (280) για την επικοινωνία με άλλες μονάδες συστήματος (100) και των μονάδων μπαταρίας (260) για την τροφοδοσία μονάδα (200) (μπορεί να εφαρμοστεί με τη μορφή μιας απλής επαναφορτιζόμενης μπαταρίας, μιας έξυπνης μπαταρίας, μιας μονάδας Universal Power Supply (UPS) ή άλλης παρόμοιας τεχνολογίας). Ανάλογα με τον τύπο της μονάδας υλικού (200), μπορούν να περιλαμβάνονται πρόσθετες μονάδες, όπως η μονάδα γραφικών (210) για τη δημιουργία γραφικού περιεχομένου για εμφάνιση στον χρήστη (200) της μονάδας, η οθόνη (220) για την εμφάνιση των γραφικών από τη μονάδα (210), η μονάδα αλληλεπίδρασης/εισαγωγής δεδομένων (230) που επιτρέπει στον χρήστη αλληλεπίδραση, το μικρόφωνο (290) για την καταγραφή των φωνητικών εντολών του χρήστη ή τον ήχο περιβάλλοντος και η κάμερα (270) για τη λήψη οπτικού περιεχομένου όπως στιγμιότυπα οθόνης, σαρώσεις σελίδων, χειρονομίες χρήστη για αλληλεπίδραση κ.λπ. The hardware unit (200) includes a central controller or processor (250), which contains digital logic and/or software for integrating data from other units and making operational decisions, one or more memory units (240) (these can implemented as volatile or non-volatile memory, hard disk or other type of data storage device) to store the data to be handled by the processor (250) or exchanged between the unit (200) and other units of the system (100), the communications unit (280) for communication with other system units (100) and battery units (260) for power supply unit (200) (can be implemented in the form of a simple rechargeable battery, a smart battery, a Universal Power Supply (UPS ) or other similar technology). Depending on the type of hardware module (200), additional modules may be included, such as the graphics module (210) for generating graphical content for display to the user (200) of the module, the display (220) for displaying the graphics from the module (210), the interaction/data input module (230) that allows the user to interact, the microphone (290) for recording the user's voice commands or ambient sound, and the camera (270) for capturing visual content such as screenshots, page scans, user gestures for interaction, etc.
Οι μονάδες του συστήματος (200) μπορούν να μειωθούν, να συγχωνευθούν ή να προστεθούν νέες μονάδες ανάλογα με τον τύπο της υλοποίησης της μονάδας (100) του συστήματος, π.χ. μια κάμερα και ένα μικρόφωνο περιλαμβάνονται σε ένα smartphone αλλά όχι σε διακομιστή web ή διακομιστή ανίχνευσης. The units of the system (200) may be reduced, merged or new units added depending on the type of implementation of the system unit (100), e.g. a camera and microphone are included in a smartphone but not in a web server or crawl server.
Σε εναλλακτική υποδειγματική υλοποίηση της μονάδας (200), οι μονάδες (210)-(270) και (290) συνδέονται με τη μονάδα επικοινωνιών (280), όπου η μονάδα επικοινωνιών είναι υπεύθυνη για τη διαχείριση της επικοινωνίας στη μονάδα (200) μεταξύ των μονάδων (210)-(270) και (290), χειρίζεται το control και το data bus και την εκτέλεση εργασιών επικοινωνίας εκτός ενότητας (200) με άλλες μονάδες του συστήματος (100). In an alternative exemplary embodiment of unit (200), units (210)-(270) and (290) are connected to communications unit (280), where the communications unit is responsible for managing communication in unit (200) between units (210)-(270) and (290), handles the control and data bus and the execution of communication tasks outside the unit (200) with other units of the system (100).
Κάθε μονάδα (200) μπορεί να έχει τη μορφή μιας εμπορικά διαθέσιμης υπολογιστικής συσκευής (διακομιστής, επιτραπέζιος υπολογιστής ή υπολογιστική συσκευή) ή ενός ενσωματωμένου συστήματος, δηλαδή ενός συστήματος που βασίζεται σε μικροελεγκτές (δηλ. Κεντρικές Μονάδες Επεξεργασίας (CPU) με ενσωματωμένη μνήμη ή περιφερειακές διεπαφές). Στις υλοποιήσεις των ενσωματωμένων μονάδων συστήματος, οι επεξεργαστές που χρησιμοποιούνται είναι τύπων που κυμαίνονται από επεξεργαστές γενικής χρήσης έως επεξεργαστές εξειδικευμένους σε ορισμένες κατηγορίες υπολογισμών, ή ακόμα και προσαρμοσμένους επεξεργαστές σχεδιασμένους για την παρούσα εφαρμογή. Από μια άποψη, τα εξειδικευμένα τσιπ και συστήματα επεξεργαστών είναι ενσωματωμένα (embedded) τσιπ ή συστήματα για Ειδικό Ολοκληρωμένο Κύκλωμα Εφαρμογής (ASIC). Και οι δύο σχεδιαστικές λύσεις, δηλαδή συστήματα μικροελεγκτών γενικής χρήσης και ASIC τρέχουν ενσωματωμένο λογισμικό και κάθε μονάδα μπορεί να έχει το δικό της ρολόι συστήματος, δυνατότητες επικοινωνίας με το δίαυλο, τον ελεγκτή διαύλου κ.λπ. Ένας τέτοιος σχεδιασμός επιτρέπει την απλή σύνδεση plug-n-play οποιεσδήποτε από το σύστημα (200) μονάδες (210)-(290) του συστήματος και την αντικατάσταση οποιοσδήποτε μονάδας με μια μονάδα αντικατάστασης σε περίπτωση βλάβης της μονάδας ή με μια μονάδα κατάλληλη για συγκεκριμένη περίπτωση χρήσης ή πελάτη, σύμφωνα με τους τοπικούς κανονισμούς, τις ανησυχίες και τις επιλογές που σχετίζονται με το μάρκετινγκ και τη συμφωνία παροχής υπηρεσιών, ή με νεότερες ή βελτιωμένες εκδόσεις και τύπους λειτουργικών μονάδων καθώς γίνονται διαθέσιμα. Επιπλέον, ένας τέτοιος σχεδιασμός συστήματος επιτρέπει επίσης την εν θερμώ (δηλαδή κατά τη λειτουργία) αντικατάσταση ή προσθήκη μονάδων συστήματος χωρίς διακοπή της λειτουργίας του συστήματος (200). Αυτό είναι ιδιαίτερα σημαντικό για τη μη διακοπή της καταγραφής, των διαγνωστικών και της παρακολούθησης του συστήματος και, ως εκ τούτου, για να μην τεθεί σε κίνδυνο η ακεραιότητα και η ασφάλεια. Each unit (200) may be in the form of a commercially available computing device (server, desktop, or computing device) or an embedded system, i.e., a microcontroller-based system (i.e., Central Processing Units (CPUs) with built-in memory or peripherals interfaces). In embedded system unit implementations, the processors used are of types ranging from general-purpose processors to processors specialized in certain classes of computations, or even custom processors designed for the present application. In one aspect, specialized processor chips and systems are embedded Application Specific Integrated Circuit (ASIC) chips or systems. Both design solutions i.e. general purpose microcontroller systems and ASICs run embedded software and each module can have its own system clock, bus communication capabilities, bus controller etc. Such a design allows simple plug-n-play connection of any of the system (200) modules (210)-(290) and replacement of any module with a replacement module in case of module failure or with a module suitable for a specific use case or customer, in accordance with local regulations, marketing and service agreement-related concerns and choices, or with newer or improved versions and types of modules as they become available. Additionally, such a system design also allows for hot (ie, on-the-fly) replacement or addition of system units without interrupting system operation (200). This is especially important to not interrupt system logging, diagnostics, and monitoring, and therefore not to compromise integrity and security.
Η μονάδα μνήμης (240) μπορεί να εφαρμοστεί σε οποιαδήποτε γνωστή τεχνολογία αποθήκευσης που περιλαμβάνει, αλλά δεν περιορίζεται σε, μαγνητικούς δίσκους, οπτικούς δίσκους, μνήμη flash, μνήμη τυχαίας πρόσβασης (RAM), μνήμη μόνο για ανάγνωση (ROM), διαγραφόμενη προγραμματιζόμενη μνήμη μόνο για ανάγνωση ( EPROM) ή άλλο, και μπορεί να αντιγράφει για λόγους απόδοσης, πλεονασμού ή άλλους λόγους. Σε μια υποδειγματική υλοποίηση, όλες οι μονάδες αποθήκευσης είναι του ίδιου τύπου, ενώ σε μια εναλλακτική υποδειγματική υλοποίηση μπορεί να χρησιμοποιηθεί ένας συνδυασμός μονάδων αποθήκευσης διαφορετικών τεχνολογιών. Μπορούν να χρησιμοποιηθούν νέες τεχνολογίες στις μονάδες αποθήκευσης μόλις καταστούν διαθέσιμες αυτές οι τεχνολογίες. The memory unit (240) may be implemented in any known storage technology including, but not limited to, magnetic disks, optical disks, flash memory, random access memory (RAM), read only memory (ROM), erasable programmable only memory read-only (EPROM) or other, and may copy for performance, redundancy or other reasons. In an exemplary embodiment, all storage units are of the same type, while in an alternative exemplary embodiment, a combination of storage units of different technologies may be used. New technologies may be used in storage units as these technologies become available.
Η μονάδα γραφικών (210) επιλέγεται έτσι ώστε να ταιριάζει με τις δυνατότητες της οθόνης (220), η οποία οθόνη μπορεί να είναι οποιουδήποτε τύπου, που περιλαμβάνει αλφαριθμητική οθόνη, μονόχρωμη ή έγχρωμη οθόνη, οθόνη αφής, οθόνη 3D ή άλλο τύπο οθόνης. Ομοίως, η μονάδα αλληλεπίδρασης/εισόδου δεδομένων (230) μπορεί να περιλαμβάνει είσοδο κλειδιού, είσοδο οθόνης αφής, είσοδο με χειρονομία, απομακρυσμένη συσκευή (π.χ. φορητή συσκευή υπολογιστών ή αλληλεπίδρασης) ασύρματα ή μέσω ενσύρματης επικοινωνίας εισόδου ή άλλη τεχνολογία εισόδου. The graphics unit (210) is selected to match the capabilities of the display (220), which display may be of any type, including an alphanumeric display, a monochrome or color display, a touch screen, a 3D display, or another type of display. Likewise, the interaction/data input unit (230) may include key input, touch screen input, gesture input, remote device (eg, portable computing or interaction device) wirelessly or via wired input communication, or other input technology.
Η μονάδα μπαταρίας (260) είναι υπεύθυνη για την παροχή ρεύματος στη μονάδα (200). Σε ένα εναλλακτικό υπόδειγμα υλοποίησης, η μονάδα μπαταρίας (260), παρέχει επίσης ισχύ στους διαύλους συστήματος, οι οποίοι δίαυλοι παρέχουν στη συνέχεια ισχύ σε όλες τις υπόλοιπες μονάδες συστήματος (200) που δεν έχουν μονάδα μπαταρίας. Από μια άποψη, η μονάδα μπαταρίας (260) περιλαμβάνει μια μονάδα διαχείρισης ισχύος η οποία μπορεί να ρυθμίζει την τροφοδοσία και να εκτελεί λειτουργίες όπως διακοπή ρεύματος, εάν λάβει οδηγίες από τον επεξεργαστή (200), (250) της μονάδας. Για παράδειγμα, μπορεί να συμβεί διακοπή ρεύματος εάν το σύστημα εντοπίσει επικίνδυνες συνθήκες λειτουργίας που μπορεί να βλάψουν το υλικό του συστήματος, απαγόρευση λειτουργίας για οποιονδήποτε λόγο (π.χ. μη εξουσιοδοτημένη πρόσβαση) κ.λπ. The battery module (260) is responsible for supplying power to the module (200). In an alternative embodiment, the battery module (260) also provides power to the system buses, which buses then provide power to all other system modules (200) that do not have a battery module. In one aspect, the battery module (260) includes a power management module which can regulate power and perform functions such as power off if instructed by the processor (200), (250) of the module. For example, a power outage may occur if the system detects hazardous operating conditions that may damage the system hardware, operation is prohibited for any reason (eg, unauthorized access), etc.
Σε εναλλακτικές εφαρμογές η μονάδα μπαταρίας (260) μπορεί επίσης να περιλαμβάνει τη λογική για τη λήψη αποφάσεων (π.χ. για διακοπή ρεύματος) από μόνη της σε καταστάσεις όπου η μονάδα επεξεργαστή (250) έχει αποτύχει, με βάση δεδομένα από μονάδες αισθητήρα (δεν απεικονίζονται στο Σχήμα 2Α αλλά προαιρετικά περιλαμβάνονται σε ορισμένα παραδείγματα υλοποίησης) ή εντολές που λαμβάνονται από άλλες υπολογιστικές συσκευές του συστήματος (100). In alternative implementations the battery module (260) may also include the logic to make decisions (eg, to cut power) on its own in situations where the processor module (250) has failed, based on data from sensor modules ( not depicted in Figure 2A but optionally included in some exemplary embodiments) or commands received from other computing devices in the system (100).
Η μονάδα επικοινωνιών (280) επιτρέπει την επικοινωνία της μονάδας (200) με άλλες μονάδες και/ή συστήματα. Η μονάδα επικοινωνιών (280) έχει τη μορφή μονάδας εισόδου/εξόδου (I/O) (για ενσύρματη ή ασύρματη επικοινωνία δεδομένων μεταξύ της μονάδας (200) και άλλων μονάδων (200) του συστήματος) ή οδηγού/μορφοτροπέα διαύλου δεδομένων/ελέγχου (για ενσύρματη επικοινωνία δεδομένων/σήματος ελέγχου μεταξύ των ενοτήτων (210)-(290) της ενότητας (200)). The communications module (280) allows the module (200) to communicate with other modules and/or systems. The communications module (280) is in the form of an input/output (I/O) module (for wired or wireless data communication between the module (200) and other modules (200) in the system) or a data/control bus driver/transducer (for wired data/control signal communication between modules (210)-(290) of module (200)).
Οι μονάδες επικοινωνίας (280) περιλαμβάνουν μονάδες υλικού για I/O με τουλάχιστον μία γρήγορη ασύρματη, ενσύρματη και οπτική μεταφορά δεδομένων δικτύου. Οι ενσύρματες συνδέσεις είναι προτιμότερες από τις ασύρματες συνδέσεις για τη σημαντικά υψηλότερη απόδοση των ενσύρματων συνδέσεων έναντι των ασύρματων συνδέσεων, αν και η ασύρματη μεταφορά δεδομένων θα μπορούσε να χρησιμοποιηθεί σε εναλλακτικές εφαρμογές. Μέσω παραδείγματος, η ενσύρματη σύνδεση μπορεί να περιλαμβάνει οποιονδήποτε γρήγορο ενσύρματο δίαυλο δεδομένων ή κατά προτίμηση μια οπτική ζεύξη. Το ακριβές πρωτόκολλο του επιλεγμένου συνδέσμου ξεφεύγει από το πεδίο εφαρμογής αυτής της καινοτόμου λύσης και μπορεί να χρησιμοποιηθεί οποιοδήποτε τέτοιο πρωτόκολλο. The communication modules (280) include hardware modules for I/O with at least one fast wireless, wired and optical network data transfer. Wired connections are preferred over wireless connections due to the significantly higher performance of wired connections over wireless connections, although wireless data transfer could be used in alternative applications. By way of example, the wired connection may include any fast wired data bus or preferably an optical link. The exact protocol of the selected link is beyond the scope of this novel solution and any such protocol can be used.
Η μονάδα επεξεργαστή (250) είναι το κύριο στοιχείο επεξεργασίας του συστήματος (200) και περιλαμβάνει είτε ένα τσιπ επεξεργασίας εκτός ραφιού ή κάρτα επεξεργαστή, είτε μια ενσωματωμένη μονάδα επεξεργαστή, ενώ σε εναλλακτικά παραδείγματα υλοποίησης η μονάδα (250) περιλαμβάνει ένα περιττό σύνολο ενσωματωμένων επεξεργαστών μονάδες για τη διασφάλιση της αδιάλειπτης λειτουργίας σε περίπτωση βλάβης του επεξεργαστή. Το υλικολογισμικό (firmware) εκτελείται στη μονάδα κεντρικού ελεγκτή (250), ενώ σε εναλλακτικές ενσωματώσεις πολλαπλών επεξεργαστών χρησιμοποιείται ένας hypervisor για τον έλεγχο εικονικών μηχανών που εκτελούνται στους άλλους επεξεργαστές (π.χ. σε διαμορφώσεις παράλληλης επεξεργασίας με πολλαπλά τσιπ/κάρτες επεξεργαστή). The processor unit (250) is the main processing element of the system (200) and includes either an off-the-shelf processing chip or processor card, or an embedded processor unit, while in alternative embodiments the unit (250) includes a redundant set of embedded processors units to ensure uninterrupted operation in the event of processor failure. The firmware runs on the central controller unit (250), while in alternative multiprocessor implementations a hypervisor is used to control virtual machines running on the other processors (eg, in parallel processing configurations with multiple processor chips/cards).
Το Σχήμα 2Β δείχνει ένα υπόδειγμα αρχιτεκτονικής υλικού υψηλού επιπέδου μιας μονάδας επεξεργασίας σύμφωνα με την παρούσα καινοτόμο λύση. Η μονάδα επεξεργαστή (250) αποτελείται από μια σειρά υπομονάδων επεξεργασίας. Ειδικότερα, η μονάδα επεξεργαστή (250) έχει μία υπομονάδα πολιτικής ανίχνευσης (251), μία υπομονάδα περιτυλίγματος ιστοσελίδας (252), μία υπομονάδα ανίχνευσης (253), μία υπομονάδα ομαδοποίησης (254), έναν αναλυτή σελίδας (255) και μία υπομονάδα σύνοψης (256). Σε εναλλακτικά παραδείγματα υλοποίησης, οι υπομονάδες (251)-(256) μπορούν να συγχωνευθούν, να αντιγραφούν (π.χ. για ταχύτητα ή πλεονασμό) ή να διανεμηθούν σε περισσότερες από μία μονάδες επεξεργαστή (250) στην ίδια υπολογιστική συσκευή ή σε δικτυωμένες συσκευές (π.χ. διακομιστές δικτύου, υποδομές cloud, κ.λπ.) . Figure 2B shows an exemplary high-level hardware architecture of a processing unit according to the present innovative solution. The processor unit (250) consists of a series of processing sub-units. In particular, the processor module (250) has a policy detection module (251), a web page wrapper module (252), a detection module (253), a clustering module (254), a page parser (255) and a summary module ( 256). In alternative exemplary embodiments, subunits (251)-(256) may be merged, duplicated (eg, for speed or redundancy), or distributed across more than one processor unit (250) on the same computing device or networked devices (eg network servers, cloud infrastructure, etc.) .
Σε άλλα παραδείγματα υλοποίησης, η μονάδα επεξεργαστή (250) έχει σχεδιαστεί ώστε να περιλαμβάνει περισσότερους από έναν πυρήνες επεξεργασίας. Κάθε ένας ή μερικοί από τους πυρήνες επεξεργασίας της μονάδας επεξεργαστή (250) περιέχουν όλες ή μερικές από τις υπομονάδες (251)-(256). Ως αποτέλεσμα τέτοιων πολυπύρηνων σχεδίων, τα βήματα της παρούσας καινοτόμου λύσης εκτελούνται σειριακά στον πυρήνα επεξεργασίας όταν κάθε πυρήνας επεξεργασίας περιέχει μία ή περισσότερες από τις υποενότητες (251)-(256). In other exemplary embodiments, the processor unit (250) is designed to include more than one processing core. Each or some of the processing cores of the processor unit (250) contain all or some of the sub-modules (251)-(256). As a result of such multi-core designs, the steps of the present innovative solution are executed serially in the processing core when each processing core contains one or more of the subsections (251)-(256).
Εναλλακτικά, όταν κάθε πυρήνας επεξεργασίας περιέχει όλες τις υπομονάδες (251)-(256), τα βήματα της παρούσας καινοτόμου λύσης εκτελούνται παράλληλα, όπου κάθε υποενότητα (251)-(256) παράγει αποτελέσματα για π.χ. ένας τύπος ιστοτόπων εισόδου κ.λπ. Alternatively, when each processing core contains all subunits (251)-(256), the steps of the present novel solution are performed in parallel, where each subunit (251)-(256) produces results for e.g. a type of entry sites etc.
Αρχιτεκτονική Λογισμικού Software Architecture
Το Σχήμα 3 δείχνει ένα μπλοκ διάγραμμα αρχιτεκτονικής λογισμικού για μια υπολογιστική συσκευή εκτός διακομιστή του συστήματος (100). Στο χαμηλότερο επίπεδο των στοιχείων λογισμικού (300) βρίσκονται οι ειδικές δυνατότητες συσκευής (360) που είναι οι εντολές για τον έλεγχο των διαφορετικών στοιχείων υλικού συσκευής της μονάδας (200). Μετακινώμενοι σε υψηλότερα επίπεδα, βρίσκονται το Operating System (OS) (350), οι Virtual Machines (340) (όπως μια εικονική μηχανή Java), το Device/User Manager (330), το Application Manager (320) και στο επάνω επίπεδο οι Εφαρμογές (310). Αυτές οι εφαρμογές μπορεί να έχουν πρόσβαση, να χειρίζονται και να εμφανίζουν δεδομένα. Τα στοιχεία λογισμικού (300) μπορούν να υλοποιηθούν σε οποιαδήποτε προτιμώμενη γλώσσα προγραμματισμού (συμπεριλαμβανομένων περιγραφικών γλωσσών του τύπου eXternsible Markup Language (XML)) ή σε συνδυασμό δύο ή περισσότερων γλωσσών προγραμματισμού του ίδιου ή διαφορετικού επιπέδου. Figure 3 shows a software architecture block diagram for a non-server computing device of the system (100). At the lowest level of the software components (300) are the device specific capabilities (360) which are the commands to control the different hardware device components of the unit (200). Moving to higher levels are the Operating System (OS) (350), Virtual Machines (340) (such as a Java virtual machine), Device/User Manager (330), Application Manager (320), and at the top level the Applications (310). These applications may access, manipulate and display data. The software components (300) may be implemented in any preferred programming language (including descriptive languages such as eXternsible Markup Language (XML)) or in a combination of two or more programming languages of the same or different level.
Το Σχήμα 4 δείχνει τα κύρια στοιχεία λογισμικού ενός διακομιστή. Στο χαμηλότερο επίπεδο των στοιχείων λογισμικού (400) βρίσκεται το OS Kernel (460) ακολουθούμενο από το Hardware Abstraction Layer (450), το Services/Applications Framework (440), το Services Manager (430), το Applications Manager (420) και το Services (410) and Applications (470). Τα στοιχεία λογισμικού (400) μπορούν να υλοποιηθούν σε οποιοδήποτε προτιμώμενη γλώσσα προγραμματισμού (συμπεριλαμβανομένων περιγραφικών γλωσσών του τύπου extensible Markup Language (XML)) ή σε συνδυασμό δύο ή περισσότερων γλωσσών προγραμματισμού του ίδιου ή διαφορετικού επιπέδου. Figure 4 shows the main software components of a server. At the lowest level of software components (400) is the OS Kernel (460) followed by the Hardware Abstraction Layer (450), Services/Applications Framework (440), Services Manager (430), Applications Manager (420) and Services (410) and Applications (470). The software components (400) may be implemented in any preferred programming language (including descriptive languages such as extensible Markup Language (XML)) or in a combination of two or more programming languages of the same or different level.
Σημειώνεται ότι τα στοιχεία λογισμικού και υλικού που φαίνονται στο Σχήματα 3 και 4 είναι μέσω παραδείγματος και άλλα εξαρτήματα μπορεί να υπάρχουν αλλά δεν φαίνονται σε αυτά τα Σχήματα, ή μερικά από τα εμφανιζόμενα εξαρτήματα μπορεί να παραληφθούν ή να αντικατασταθούν με άλλα χωρίς να απομακρυνθούν από το πλαίσιο της παρούσας καινοτόμου λύσης. It is noted that the software and hardware components shown in Figures 3 and 4 are by way of example and other components may be present but not shown in these Figures, or some of the components shown may be omitted or replaced with others without removing from the framework of this innovative solution.
Η παρούσα καινοτόμος λύση μπορεί επίσης να εφαρμοστεί από λογισμικό που εκτελείται στον ανιχνευτή διακομιστή (160) ή σε πρόσθετους διακομιστές ανίχνευσης ή σε έναν ή περισσότερους κατανεμημένους υπολογιστές που δεν εμφανίζονται (π.χ. υποδομή cloud, απομακρυσμένοι διακομιστές, φόρμες διακομιστούν ή άλλες υπολογιστικές συσκευές, κ. .), ή οποιονδήποτε συνδυασμό αυτών. Η παρούσα καινοτόμος λύση μπορεί να υλοποιηθεί σε οποιαδήποτε γλώσσα υπολογιστών ή σε μια αφηρημένη γλώσσα (π.χ. μια περιγραφή που βασίζεται σε μεταδεδομένα η οποία στη συνέχεια ερμηνεύονται από ένα στοιχείο λογισμικού ή/και υλικού). Το λογισμικό που εκτελείται στο προαναφερθέν υλικό, μετατρέπει αποτελεσματικά ένα υλικό ή έναν υπολογιστή γενικής χρήσης ή ειδικής χρήσης σε έναν που έχει διαμορφωθεί για να υλοποιεί ειδικά την παρούσα καινοτόμο λύση. The present innovative solution may also be implemented by software running on the probe server (160) or on additional probe servers or on one or more distributed computers that are not displayed (e.g., cloud infrastructure, remote servers, forms servers, or other computing devices , etc.), or any combination thereof. The present novel solution can be implemented in any computer language or an abstract language (eg, a description based on metadata which is then interpreted by a software and/or hardware component). The software running on the aforementioned hardware effectively transforms a general-purpose or special-purpose hardware or computer into one configured to specifically implement the present innovative solution.
Στην υποδειγματική υλοποίηση όπου οι ηλεκτρονικές μονάδες (200) εκτελούν ενσωματωμένο λογισμικό για να εκτελούν τις εργασίες τους, χρησιμοποιείται μια πολυεπίπεδη αρχιτεκτονική σχεδίαση χωρίς να περιορίζεται ο σχεδιασμός του ενσωματωμένου λογισμικού σε ένα συγκεκριμένο παράδειγμα. Άλλα σχέδια χρησιμοποιούνται σε άλλες εναλλακτικά παραδείγματα υλοποίησης. In the exemplary embodiment where the electronic units (200) run embedded software to perform their tasks, a layered architectural design is used without limiting the embedded software design to a particular instance. Other designs are used in other alternative embodiments.
Ανίχνευση και σύνοψη Detection and summarization
Το Σχήμα 5 είναι ένα διάγραμμα ροής υψηλού επιπέδου της διαδικασίας ανίχνευσης και σύνοψης. Για ευκολία περιγραφής, το Σχήμα 5 περιγράφει ένα παράδειγμα υλοποίησης, όπου χρησιμοποιείται ένας απλός διακομιστής ανίχνευσης (160). Υποτίθεται ότι η διαδικασία μπορεί να επεκταθεί για να συμπεριλάβει πρόσθετους διακομιστές ανίχνευσης, αν και δεν αναλύεται συγκεκριμένα λεπτομερώς παρακάτω. Figure 5 is a high-level flow diagram of the detection and summarization process. For ease of description, Figure 5 describes an example implementation where a simple detection server (160) is used. It is assumed that the process can be extended to include additional detection servers, although this is not specifically detailed below.
Η διαδικασία (500) ξεκινά με το βήμα (510) όπου ο διακομιστής ανίχνευσης (160) λαμβάνει τις πολιτικές ανίχνευσης (ή σε εναλλακτικά παραδείγματα υλοποίησης δημιουργεί τις πολιτικές ανίχνευσης) που περιγράφουν τι, πώς και πού να ανιχνευθεί. Οι πολιτικές ανίχνευσης (crawling policies) μπορούν να αποθηκευτούν σε τοπική αποθήκευση (μνήμη, σκληρός δίσκος, κ.λπ.) του διακομιστή ανίχνευσης (160) ή στις βάσεις δεδομένων (165), (170) ή στο cloud. Σε εναλλακτικά παραδείγματα υλοποίησης, οι πολιτικές ανίχνευσης μπορεί να σπάσουν σε υποπολιτικές και να διανεμηθούν σε περισσότερες από μία βάσεις δεδομένων, διακομιστές ανίχνευσης ή λειτουργικές μονάδες cloud. Σε μια τέτοια περίπτωση, ενδέχεται να χρειαστούν δευτερεύουσες πολιτικές για τη σύνθεση της πολιτικής που θα χρησιμοποιηθεί από τον ανιχνευόμενο διακομιστή (160) ή όπου χρησιμοποιούνται πολλοί διακομιστές ανίχνευσης, μια υποπολιτική εκχωρείται (ή περισσότερες υποπολιτικές εκχωρούνται) σε κάθε διακομιστή ανίχνευσης. The process (500) begins with step (510) where the detection server (160) receives the detection policies (or in alternative embodiments creates the detection policies) that describe what, how and where to detect. The crawling policies can be stored in local storage (memory, hard disk, etc.) of the crawling server (160) or in the databases (165), (170) or in the cloud. In alternative implementation examples, detection policies may be broken into subpolicies and distributed across more than one database, detection server, or cloud module. In such a case, sub-policies may be needed to compose the policy to be used by the detected server (160), or where multiple detection servers are used, a sub-policy is assigned (or more sub-policies are assigned) to each detection server.
Αφού αναλυθούν οι πολιτικές ανίχνευσης, ο διακομιστής ανίχνευσης (160) προχωρά στο βήμα (520), όπου ο διακομιστής ανίχνευσης λαμβάνει περιτυλίγματα ιστοσελίδων (ή σε εναλλακτικά παραδείγματα υλοποίησης δημιουργεί ή/και ενημερώνει τα περιτυλίγματα ιστοσελίδων), τα οποία έχουν ήδη δημιουργηθεί και τα οποία αποθηκεύονται στις ίδιες ή εναλλακτικές τοποθεσίες με τις πολιτικές ανίχνευσης. After the detection policies have been analyzed, the detection server (160) proceeds to step (520), where the detection server obtains web page wrappers (or in alternative implementation examples creates and/or updates the web page wrappers), which have already been created and which stored in the same or alternate locations as the detection policies.
Τα περιτυλίγματα ιστοσελίδων (μπορεί να θεωρηθούν ως στοιχεία μιας πολιτικής ανίχνευσης) είναι περιγραφές της δομής και του περιεχομένου μιας ιστοσελίδας, όπου στοιχεία όπως τίτλος, διαφημίσεις, σώμα άρθρου, περιεχόμενα, σύνδεσμοι σε άλλες σελίδες, εικόνες κ.λπ. έχουν εντοπιστεί. Τα περιτυλίγματα σελίδων δημιουργούνται με ανάλυση πολλαπλών σελίδων ενός ιστότοπου όσον αφορά τις αισθητικές πτυχές και τη διάταξη των στοιχείων σελίδας, το μήκος του κειμένου (π.χ. οι τίτλοι είναι μικρότεροι από τα σώματα των άρθρων), οι τύποι και τα μεγέθη γραμματοσειρών, τα σύμβολα θέσης (placeholders) κ.λπ. Άλλοι τύποι ανάλυσης χρησιμοποιούνται επίσης, όπως η Επεξεργασία Φυσικής Γλώσσας (NLP) και η Ανάλυση Φυσικής Γλώσσας (NLA), η μηχανική μάθηση κ.λπ. Τα περιτυλίγματα σελίδων μπορούν στη συνέχεια να χρησιμοποιηθούν για την αυτόματη επεξεργασία (ανίχνευση) ιστοσελίδων του ίδιου τύπου, π.χ. ιστοσελίδες στον ίδιο ιστότοπο ή ιστότοποι και σελίδες που χρησιμοποιούν την ίδια ή παρόμοια διάταξη και σχεδίασμά, κ.λπ. Ως αποτέλεσμα, συμπλέγματα παρόμοιων ιστοσελίδων μπορούν να ανιχνευθούν χρησιμοποιώντας το ίδιο περιτύλιγμα ιστοσελίδων. Web page wrappers (can be considered as elements of a crawling policy) are descriptions of the structure and content of a web page, where elements such as title, advertisements, article body, contents, links to other pages, images, etc. have been identified. Page wrappers are created by analyzing multiple pages of a website in terms of the aesthetic aspects and layout of page elements, text length (eg titles are shorter than article bodies), font types and sizes, placeholders etc. Other types of analytics are also used, such as Natural Language Processing (NLP) and Natural Language Analysis (NLA), machine learning, etc. Page wrappers can then be used to automatically process (detect) web pages of the same type, e.g. web pages on the same site or web sites and pages using the same or similar layout and design, etc. As a result, clusters of similar web pages can be crawled using the same web wrapper.
Ο διακομιστής ανίχνευσης (160) χρησιμοποιεί τα περιτυλίγματα ιστοσελίδων που ανακτήθηκαν για την ανίχνευση τοποθεσιών ειδήσεων (530) και σελίδων ειδήσεων και άρθρων (540). Στη συνέχεια, όλες οι ανιχνευμένες σελίδες ειδήσεων και τα άρθρα συγκεντρώνονται (550) και αναλύονται (560) για τη δημιουργία περιλήψεων ειδήσεων ανά θέμα ειδήσεων (570). The crawl server (160) uses the retrieved web wrappers to crawl news sites (530) and news and article pages (540). All crawled news pages and articles are then aggregated (550) and analyzed (560) to generate news summaries by news topic (570).
Οι ειδησεογραφικοί ιστότοποι για ανίχνευση αποτελούν μέρος των πολιτικών ανίχνευσης ή από άλλη άποψη αποτελούν μέρος άλλων δομών δεδομένων. Crawling news sites are part of crawling policies or are otherwise part of other data structures.
Το διάγραμμα ροής υψηλού επιπέδου του Σχήματος 5 αναλύεται στα Σχήματα 6-13 όπου παρουσιάζονται περισσότερες λεπτομέρειες ως προς την υλοποίηση των βημάτων (510)-(570). The high level flow diagram of Figure 5 is broken down in Figures 6-13 where more details are presented as to the implementation of steps (510)-(570).
Το Σχήμα 6 είναι ένα διάγραμμα ροής που δείχνει πώς δημιουργείται και ενημερώνεται μια πολιτική ανίχνευσης. Η διαδικασία (600) ξεκινά με την ανάκτηση μιας υπάρχουσας πολιτικής ανίχνευσης (610) από τη θέση αποθήκευσης της, εάν υπάρχει μια τέτοια πολιτική. Figure 6 is a flowchart showing how a detection policy is created and updated. The process (600) begins by retrieving an existing detection policy (610) from its storage location, if such a policy exists.
Ο Πίνακας 1 δείχνει ένα παράδειγμα πολιτικής ανίχνευσης. Το παράδειγμα πολιτικής ανίχνευσης εφαρμόζεται ως αρχείο διαμόρφωσης (configuration file). Το αρχείο διαμόρφωσης περιέχει, με τη μορφή ζευγών κλειδιού-τιμής, όλες τις πληροφορίες που χρειάζεται το περιτύλιγμα για την εξαγωγή του κατάλληλου περιεχομένου από μια πηγή ειδήσεων. Το πρώτο μέρος του αρχείου διαμορφώνει το περιτύλιγμα για πρόσβαση στην αρχική σελίδα της πηγής ειδήσεων και εξαγωγή συνδέσμων σε άρθρα. Περιέχει επίσης κάποιες γενικές ρυθμίσεις για την πηγή, όπως γλώσσα περιεχομένου και κωδικοποίηση, και μεταδεδομένα όπως όνομα πηγής κ.λπ. Το δεύτερο μέρος του αρχείου περιέχει οδηγίες που διαμορφώνουν το περιτύλιγμα ώστε να εξάγει συγκεκριμένο περιεχόμενο ενδιαφέροντος από τις σελίδες του άρθρου, π.χ. ως τίτλος, σώμα, συγγραφέας κ.λπ., που έχουν τη μορφή εκφράσεων Xpath και πρόσθετες ρυθμίσεις για τον τρόπο επεξεργασίας του εξαγόμενου περιεχομένου (π.χ. μορφές ημερομηνίας, ετικέτες προς παράβλεψη κ.λπ.). Table 1 shows an example of a detection policy. The sample detection policy is implemented as a configuration file. The configuration file contains, in the form of key-value pairs, all the information the wrapper needs to extract the appropriate content from a news source. The first part of the file configures the wrapper to access the news source homepage and extract links to articles. It also contains some general settings for the source, such as content language and encoding, and metadata such as source name, etc. The second part of the file contains instructions that configure the wrapper to extract specific content of interest from the article pages, e.g. as title, body, author, etc., which are in the form of Xpath expressions and additional settings for how the exported content is processed (eg date formats, tags to ignore, etc.).
#Mon Feb 02 14:53:10 EEST 2016 #Mon Feb 02 14:53:10 EEST 2016
javascript=true javascript=true
rss=http://www. protothema.gr/rss/news/general/ rss=http://www. protothema.gr/rss/news/general/
charset=utf-8 charset=utf-8
name=ProtoThema name=ProtoTheme
tagsToRemove=script,div tagsToRemove=script,div
xpath body=//div[@class="article-content"] xpath body=//div[@class="article-content"]
xpathsurtitle=//div[@class="article-title"]/p xpathsurtitle=//div[@class="article-title"]/p
xpathsubtitle=//div[@class="article-content"]/h3 xpathauthor=//div[@class="article-info"]/span[@class="name"] jquerymidtitle=b xpathsubtitle=//div[@class="article-content"]/h3 xpathauthor=//div[@class="article-info"]/span[@class="name"] jquerymidtitle=b
jquerycaption= jquerycaption=
xpathlead=//div[@class="article-content"]/h3 xpathlead=//div[@class="article-content"]/h3
xpathedition= xpathedition=
dateFormat=EEE, d MMM yyyy HH:mm:ss Z dateFormat=EEE, d MMM yyyy HH:mm:ss Z
bodyremoveregex=_ Συμπληρώστε το email σας για να λαμβάνετε όλη την έκτακτη επικαιρότητα πρώτοι! Αποστολή\\s*Ακολουθήστε μας στα_ _(\V\\*< !) *?(>\\*\V) bodyremoveregex=_ Enter your email to be the first to receive all the breaking news! Send\\s*Follow us at_ _(\V\\*< !) *?(>\\*\V)
parQuery=h3_(<br>)+ parQuery=h3_(<br>)+
toReplace={ "<h3>" : "</h3>" : "","<br><br>" : "</p> <p>","<br/>":"</p><p>","<br />":"</p><p>" } toReplace={ "<h3>" : "</h3>" : "","<br><br>" : "</p> <p>","<br/>":"</p> <p>","<br />":"</p><p>" }
presstitle= ΠΡΩΤΟ ΘΕΜΑ presstitle= FIRST TOPIC
Πίνακας 1 : Παράδειγμα πολιτικής ανίχνευσης (Crawling Policy) Table 1 : Example of crawling policy
Με βάση την πολιτική ανίχνευσης, ο διακομιστής ανίχνευσης (160) γνωρίζει τι (π.χ. τύπος/θέμα άρθρου ειδήσεων), πώς (δηλαδή τι να αναζητήσει στη διάταξη/περιεχόμενο ιστοσελίδας) και πού να αναζητήσει (δηλαδή ποιος είναι ο ιστότοπος /σελίδα διευθύνσεις URL για ανίχνευση) και προχωρά στον υπολογισμό του αντίκτυπου των ιστοσελίδων που πρόκειται να ανιχνευθούν, υπολογίζοντας τον αριθμό των αναφορών σε ένα άρθρο σε έναν ιστότοπο από άλλους ιστότοπους (620) και τον αριθμό των αναφορών (ή αναπαραγωγών) του άρθρου στο μέσα κοινωνικής δικτύωσης και άλλοι ιστότοποι ειδήσεων (630). Based on the crawl policy, the crawl server (160) knows what (eg, type/topic of news article), how (ie, what to look for in web page layout/content), and where to look (ie, what is the website/page URLs to crawl) and proceeds to calculate the impact of the web pages to be crawled by counting the number of references to an article on a site from other sites (620) and the number of mentions (or plays) of the article on social media and other news sites (630).
Στη συνέχεια, ο διακομιστής ανίχνευσης συγκεντρώνει τη συχνότητα των αναφορών άρθρων ανά ιστότοπο (640) και χρησιμοποιεί αυτή τη συχνότητα, μαζί με πρόσθετα δεδομένα (ρυθμός δημοσίευσης, θεματική κατηγοριοποίηση πηγών, ιστορικό φήμης πηγής κ.λπ.), για να εκτιμήσει τη φήμη του ιστότοπου σε διαφορετικές θεματικές κατηγορίες (650). Αυτά τα πρόσθετα δεδομένα περιλαμβάνουν δεδομένα φήμης ιστοτόπων ειδήσεων που είχαν υπολογιστεί προηγουμένως, αρνητικά σχόλια στον ιστότοπο (π.χ. αρνητικά σχόλια χρηστών), κυρώσεις από τις ρυθμιστικές αρχές εναντίον ενός ιστότοπου για κακές δημοσιογραφικές πρακτικές κ.λπ. Για παράδειγμα, ένας ιστότοπος που δημοσιεύει πολλές οικονομικές ειδήσεις/αντικείμενα, τα οποία αναπαράγονται γρήγορα από άλλους ειδησεογραφικούς ιστότοπους ή συζητούνται γρήγορα στη σφαίρα των ιστολογιών ή στα μέσα κοινωνικής δικτύωσης είναι μια πολύ αξιόπιστη πηγή στον οικονομικό τομέα, σε σύγκριση με άλλους που μόνο μια φορά δημοσίευσαν μια σημαντική είδηση, ανάμεσα στα δεκάδες άρθρα που δημοσιεύουν καθημερινά για διαφορετικά θέματα/τομείς. Σε αντίθεση με τις υπάρχουσες τεχνικές ανίχνευσης που δίνουν προτεραιότητα στις πηγές ειδήσεων ανάλογα με το ρυθμό ανανέωσής τους και ανεξάρτητα από τον τομέα, ο τρέχων ανιχνευτής εστιάζει στη φήμη της πηγής ανά τομέα και έχει ως αποτέλεσμα τη συλλογή περιεχομένου πιο συχνά από έγκυρες πηγές και την έμμεση αύξηση της βαθμολογίας της αρχής του. Η φήμη μιας πηγής περιεχομένου Ιστού επηρεάζεται επίσης από τις αξιολογήσεις των πηγών, καθώς αυτές μπορεί να δημιουργηθούν από ειδικούς φορείς ή από αναγνώστες. The crawl server then aggregates the frequency of article citations per site (640) and uses this frequency, along with additional data (posting rate, subject categorization of sources, history of source reputation, etc.), to estimate its reputation website in different thematic categories (650). This additional data includes previously calculated news site reputation data, negative comments on the site (eg negative user comments), sanctions by regulators against a site for poor journalistic practices, etc. For example, a website that publishes a lot of financial news/items, which are quickly replicated by other news sites or quickly discussed in the blogosphere or social media is a very reliable source in the financial sector, compared to others that only once published an important news item, among the dozens of articles they publish daily on different topics/fields. Unlike existing crawling techniques that prioritize news sources based on their update rate and regardless of domain, the current crawler focuses on source reputation per domain and results in collecting content more often from authoritative sources and indirectly increasing his authority's rating. The reputation of a web content source is also affected by source ratings, as these may be created by expert actors or by readers.
Μια λίστα ιστότοπων που ανιχνεύτηκαν προηγουμένως, εάν υπάρχουν, είναι ανάκτηση (660) και η φήμη του ιστότοπου χρησιμοποιείται για τη δημιουργία ή την ενημέρωση της πολιτικής ανίχνευσης (προτεραιοποίησης) (670) που θα χρησιμοποιηθεί σε επόμενες διαδικασίες ανίχνευσης. Για παράδειγμα, η πολιτική ανίχνευσης θα κατατάξει την αξιόπιστη πηγή οικονομικών ειδήσεων υψηλότερα από άλλες πηγές χαμηλότερης φήμης και, κατά συνέπεια, θα ανιχνεύσει αυτήν την πηγή οικονομικών ειδήσεων πριν και πιο συχνά από την ανίχνευση άλλων ιστότοπων με χαμηλότερη φήμη και εκχωρημένη προτεραιότητα. A list of previously crawled sites, if any, is retrieved (660) and the site reputation is used to create or update the crawl (prioritization) policy (670) to be used in subsequent crawl processes. For example, the detection policy will rank the trusted source of financial news higher than other sources of lower reputation and therefore crawl this source of financial news before and more often than crawling other sites with lower reputation and assigned priority.
Σημειώνεται ότι μπορεί να υπάρχει μία πολιτική ανίχνευσης ή πολλές υποπολιτικές ανίχνευσης που δημιουργούνται, ενημερώνονται και χρησιμοποιούνται σύμφωνα με ένα ή περισσότερα κριτήρια, όπως μία πολιτική για κάθε διακομιστή ανίχνευσης (εάν χρησιμοποιούνται περισσότεροι από ένας διακομιστές ανίχνευσης), ή ιστότοπος, ή σύμπλεγμα ή ιστότοποι, ή θέμα ειδήσεων, ή σύμπλεγμα θεμάτων ειδήσεων κ.λπ. Μπορεί να ισχύουν πρόσθετα κριτήρια για τις πολιτικές ανίχνευσης, όπως γίνεται προφανές από αυτήν την περιγραφή σε οποιονδήποτε αναγνώστη συνηθισμένης δεξιότητας στη σχετική τέχνη. It is noted that there may be one detection policy or multiple detection sub-policies that are created, updated and used according to one or more criteria, such as one policy for each detection server (if more than one detection server is used), or site, or cluster or sites, or news topic, or cluster of news topics, etc. Additional criteria for detection policies may apply, as will be apparent from this description to any reader of ordinary skill in the relevant art.
Μια καινοτόμος πτυχή της παρούσας λύσης ανίχνευσης είναι ότι η λύση χρησιμοποιεί το Web Site Reputation για τη δημιουργία πολιτικών ανίχνευσης και την επακόλουθη ενημέρωση πολιτικής ανίχνευσης και ιεράρχηση εργασιών ανίχνευσης σε αντίθεση με τη συχνότητα εμφάνισης που χρησιμοποιείται σε τεχνικές ανίχνευσης που αναφέρονται στην προηγούμενη τεχνική. Η φήμη είναι μια ασφαλέστερη και πιο ισχυρή μέτρηση, καθώς επιτρέπει να απαλλαγεί από την επιρροή ιστότοπων κ.λπ. που παράγουν ψεύτικα, χαμηλής ποιότητας, αμφισβητήσιμα άρθρα ειδήσεων, τα οποία είτε δεν αναπαράγονται είτε έχουν ένα ενδιαφέρον που μειώνεται γρήγορα. Δυστυχώς, με την ευρεία χρήση του Διαδικτύου, χιλιάδες ιστότοποι αναφέρουν ειδήσεις που είναι γνωστό σε αυτούς ότι είναι ψεύτικες ή που δεν έχουν ελεγχθεί σύμφωνα με καθιερωμένες δημοσιογραφικές πρακτικές (π.χ. μην αναφέρετε ποτέ μια ιστορία εκτός εάν έχει επαληθευτεί τουλάχιστον από τρεις διαφορετικές πηγές ή εκτός εάν υπάρχουν διαθέσιμα απτά στοιχεία). Σε τέτοιες περιπτώσεις αποδεικνύει τακτικά μετά από κάποιο χρονικό διάστημα ότι αυτές οι (ψευδείς) ειδήσεις δεν έχουν καμία αξία, ωστόσο μπορεί να βλάψουν σοβαρά την προσωπική, εταιρική ή κρατική φήμη, να εκτρέφουν τις διαφημιστικές δαπάνες σε πηγές με φαινομενικά μεγάλη προβολή και να στερήσουν από τους ιστότοπους που αξίζουν αυτά τα χρήματα, να τα πάρει. Έτσι, το μέτρο της φήμης αποδεικνύεται πολύτιμο για την επιλογή και την ιεράρχηση πηγών ειδήσεων, ενώ αφαιρείται η μεροληψία από τις «κακές» πηγές. Ένα άλλο πλεονέκτημα είναι η δυνατότητα αξιολόγησης της απόδοσης των πολιτικών ανίχνευσης σε πραγματικό χρόνο και άμεσης αντίδρασης όταν μια πολιτική αποτυγχάνει. Γ ια παράδειγμα, όταν ένας ιστότοπος ειδήσεων αλλάζει τη διάταξη ή το πρότυπό του, είναι πολύ πιθανό ο μηχανισμός ανίχνευσης να αποτύχει. Αυτή η αποτυχία εντοπίζεται αυτόματα και ενεργοποιείται ένας μηχανισμός αυτοθεραπείας. Ο μηχανισμός επαναλαμβάνει τη διαδικασία εξαγωγής πολιτικής και προσαρμόζεται στο νέο πρότυπο ιστότοπου. An innovative aspect of the present detection solution is that the solution uses Web Site Reputation to create detection policies and subsequently update detection policy and prioritize detection tasks as opposed to frequency of occurrence used in detection techniques mentioned in the prior art. Reputation is a safer and more robust metric as it allows to get rid of the influence of sites etc. that produce fake, low-quality, questionable news articles, which are either not replicated or have a rapidly diminishing interest. Unfortunately, with the widespread use of the Internet, thousands of websites report news that they know is fake or that has not been vetted according to standard journalistic practices (eg, never report a story unless it has been verified by at least three different sources or unless tangible evidence is available). In such cases it regularly proves after some time that such (fake) news has no value, however it can seriously damage personal, corporate or state reputation, breed advertising expenditure on sources with seemingly high visibility and deprive the sites that deserve that money, get it. Thus, the reputation measure proves valuable for selecting and prioritizing news sources while removing bias from “bad” sources. Another advantage is the ability to evaluate the performance of detection policies in real time and react immediately when a policy fails. For example, when a news site changes its layout or template, it is very likely that the crawling mechanism will fail. This failure is automatically detected and a self-healing mechanism is activated. The engine repeats the policy extraction process and adapts to the new site template.
Το Σχήμα 7 είναι ένα διάγραμμα ροής που δείχνει πώς δημιουργούνται και ενημερώνονται τα περιτυλίγματα ιστοσελίδων που χρησιμοποιούνται στην ανίχνευση περιεχομένου ιστοτόπων και ιστοσελίδων. Η διαδικασία (700) ξεκινά με την επεξεργασία όλων των ιστοσελίδων σε όλες τις τοποθεσίες web (710) που αναφέρονται ή επιτρέπονται από την ενημερωμένη πολιτική ανίχνευσης (ή υποπολιτικές). Η επεξεργασία ξεκινά με την πρώτη σελίδα (720) της πρώτης τοποθεσίας web και συνεχίζει με τις σελίδες κατηγορίας (730) της πρώτης τοποθεσίας web και όλες τις ιστοσελίδες του άρθρου (740) της πρώτης τοποθεσίας web και επαναλαμβάνεται έως ότου ολοκληρωθεί η επεξεργασία όλων των τοποθεσιών web. Figure 7 is a flow chart showing how web wrappers used in crawling web and web content are created and updated. The process (700) begins by processing all web pages in all web sites (710) listed or allowed by the updated crawl policy (or sub-policies). Processing starts with the first page (720) of the first website and continues with the category pages (730) of the first website and all article pages (740) of the first website and repeats until all sites have been processed web.
Για την επεξεργασία της πρώτης ιστοσελίδας (720) του πρώτου ιστότοπου, όλοι οι υπερσύνδεσμοι που εξάγονται (722) από την πρώτη σελίδα από τον διακομιστή ανίχνευσης, ταξινομούνται σε μία από τις τρεις κατηγορίες (724) (δηλαδή εξωτερικοί σύνδεσμοι που βρίσκονται έξω από τον ιστότοπο , σύνδεσμοι που παραπέμπουν σε σελίδες κατηγορίας, σύνδεσμοι που παραπέμπουν σε σελίδες εκτός κατηγορίας εντός του ιστότοπου, π.χ. σελίδες πλοήγησης, άρθρα, κ.λπ.), σύνδεσμοι προς σελίδες κατηγοριών ομαδοποιούνται με βάση τη θέση τους στην ιστοσελίδα (χρησιμοποιώντας τον κοινό πρόγονο <div > ή άλλους παρόμοιους κόμβους HTML) και δημιουργείται μια έκφραση XML Path Language (Xpath) (726) που προσδιορίζει περιοχές σελίδας με συνδέσμους σε σελίδες κατηγοριών. To process the first web page (720) of the first website, all hyperlinks extracted (722) from the first page by the crawl server are classified into one of three categories (724) (ie external links located outside the website , links to category pages, links to non-category pages within the site, i.e. navigation pages, articles, etc.), links to category pages are grouped based on their position on the webpage (using the public ancestor <div > or other similar HTML nodes) and an XML Path Language (Xpath) expression (726) is created that identifies page areas with links to category pages.
Η XPath είναι μια γλώσσα ερωτημάτων για την επιλογή κόμβων από ένα έγγραφο XML, που ορίζεται από την Κοινοπραξία του Παγκόσμιου Ιστού (W3C), η οποία στην παρούσα συζήτηση σχετίζεται με τη δομή και το περιεχόμενο ενός ιστότοπου/σελίδας. Επιπλέον, η XPath μπορεί να χρησιμοποιηθεί για τον υπολογισμό τιμών (π.χ. συμβολοσειρές, αριθμοί ή τιμές Boolean) από το περιεχόμενο ενός εγγράφου XML. Η XPath ορίστηκε από την Κοινοπραξία του Παγκόσμιου Ιστού (W3C). Η γλώσσα XPath βασίζεται σε μια δενδρική αναπαράσταση του εγγράφου XML και παρέχει τη δυνατότητα πλοήγησης γύρω από το δέντρο, επιλέγοντας κόμβους με διάφορα κριτήρια. XPath is a query language for selecting nodes from an XML document, defined by the World Wide Web Consortium (W3C), which in this discussion is related to the structure and content of a website/page. In addition, XPath can be used to calculate values (eg strings, numbers, or Boolean values) from the content of an XML document. XPath was defined by the World Wide Web Consortium (W3C). The XPath language is based on a tree representation of the XML document and provides the ability to navigate around the tree, selecting nodes by various criteria.
Χρησιμοποιώντας την έκφραση Xpath δημιουργείται ένα περιτύλιγμα πρώτης σελίδας (728) (ή ενημερώνεται εάν υπάρχει ήδη, έτσι ώστε να το προσαρμόσει στις αλλαγές στο στυλ και το περιεχόμενο της πρώτης ιστοσελίδας). Το νέο ή προσαρμοσμένο περιτύλιγμα ιστού πρώτης σελίδας χρησιμοποιείται στη συνέχεια στην επόμενη επανάληψη της διαδικασίας για την ίδια τοποθεσία web (729) και συγκεκριμένα στο βήμα (722) όπου εξάγονται οι σύνδεσμοι στην πρώτη ιστοσελίδα. Μπορεί να δημιουργηθούν και/ή να ενημερωθούν περισσότερα από ένα περιτύλιγμα ιστοσελίδων. Using the Xpath expression creates a first page wrapper (728) (or updates it if it already exists so that it adapts to changes in the style and content of the first page). The new or customized first page web wrapper is then used in the next iteration of the process for the same web site (729), specifically in the step (722) where the links to the first web page are extracted. More than one web wrapper may be created and/or updated.
Η εξαγωγή συνδέσμου (722) μπορεί να γίνει με οποιονδήποτε γνωστό αλγόριθμο. Για παράδειγμα, ένας αναλυτής κειμένου μπορεί να χρησιμοποιηθεί για τον προσδιορισμό συνδέσμων και λέξεων και την επιλογή των χρήσιμων συνδέσμων ελέγχοντας για καταλήξεις αρχείων (π.χ. . html, .jpg, κ.λπ.) ή σε άλλη υποδειγματική υλοποίηση, ανάλυση σύνταξης (π.χ. <a> ετικέτες σε HTML), NLP, NLA, Κατανόηση Φυσικής Γλώσσας (NLU) ή άλλες γνωστές τεχνικές (π.χ. κανονικές εκφράσεις, π.χ. μια ακολουθία χαρακτήρων που ορίζουν ένα μοτίβο αναζήτησης όπως στην κανονική έκφραση "a." όπου "a" (ένα-ένας-μία) είναι μπορεί να χρησιμοποιηθεί κυριολεκτικός χαρακτήρας που ταιριάζει μόνο με το 'a', ενώ το είναι ένας μεταχαρακτήρας που ταιριάζει με κάθε χαρακτήρα εκτός από μια νέα γραμμή). Link extraction (722) can be done by any known algorithm. For example, a text analyzer can be used to identify links and words and select useful links by checking for file extensions (eg .html, .jpg, etc.) or in another exemplary embodiment, syntax analysis ( e.g. <a> tags in HTML), NLP, NLA, Natural Language Understanding (NLU) or other known techniques (e.g. regular expressions, e.g. a sequence of characters defining a search pattern as in the regular expression "a." where "a" (one-one-one) is a literal character that matches only 'a', while is a metacharacter that matches every character except a newline).
Το Σχήμα 14 δείχνει ένα παράδειγμα επεξεργασίας μιας πρώτης ιστοσελίδας στα βήματα (720). Η πρώτη ιστοσελίδα (1400) επεξεργάζεται χρησιμοποιώντας συνδέσμους στη γραμμή κατηγορίας (1410) και συνδέσμους στο υποσέλιδο (1420). Figure 14 shows an example of processing a first web page in steps (720). The first web page (1400) is edited using links in the category bar (1410) and links in the footer (1420).
Ένα επίπεδο κάτω από τη δομή του ιστότοπου, για την επεξεργασία της σελίδας κατηγορίας (730) του πρώτου ιστότοπου, οι σύνδεσμοι εξάγονται (732) από τη σελίδα κατηγορίας από τον διακομιστή ανίχνευσης, ταξινομούνται (734) και ομαδοποιούνται με την έκφραση Xpath (736). Οι σύνδεσμοι αυτή τη φορά ταξινομούνται σε μία από τις τρεις κατηγορίες (δηλαδή εξωτερικούς συνδέσμους σε άλλους ιστότοπους, συνδέσμους σε σελίδες άρθρων και συνδέσμους σε σελίδες εκτός άρθρου εντός του ιστότοπου) και παρομοίως εντοπίζονται περιοχές σελίδων που περιέχουν συνδέσμους σε σελίδες άρθρων, μετά την επεξεργασία πολλών σελίδων κατηγοριών από το ίδια ιστοσελίδα. One level below the site structure, to process the category page (730) of the first site, the links are extracted (732) from the category page by the crawl server, sorted (734) and grouped by the Xpath expression (736) . Links are now classified into one of three categories (ie external links to other sites, links to article pages, and links to non-article pages within the site) and similarly areas of pages that contain links to article pages are identified, after processing several category pages from the same website.
Η εξαγωγή συνδέσμου (732) μπορεί να γίνει με οποιονδήποτε γνωστό αλγόριθμο. Γ ια παράδειγμα, ένας αναλυτής κειμένου μπορεί να χρησιμοποιηθεί για τον προσδιορισμό συνδέσμων και λέξεων και την επιλογή των χρήσιμων συνδέσμων ελέγχοντας για καταλήξεις αρχείων (π.χ. . html, .jpg, κ.λπ.) ή σε άλλη υποδειγματική υλοποίηση, ανάλυση σύνταξης (<a> ετικέτες σε HTML), μπορεί να χρησιμοποιηθούν NLP, NLA, NLU ή άλλες γνωστές τεχνικές (π.χ. κανονικές εκφράσεις). Link extraction (732) can be done by any known algorithm. For example, a text parser can be used to identify links and words and select useful links by checking for file extensions (eg .html, .jpg, etc.) or in another exemplary embodiment, syntax analysis (<a> tags in HTML), NLP, NLA, NLU or other known techniques (eg regular expressions) may be used.
Χρησιμοποιώντας την Έκφραση Xpath δημιουργείται ένα περιτύλιγμα σελίδας κατηγορίας (738) (ή ενημερώνεται εάν υπάρχει ήδη, ώστε να το προσαρμόζεται στις αλλαγές στο στυλ και το περιεχόμενο της ιστοσελίδας της κατηγορίας). Το νέο ή προσαρμοσμένο περιτύλιγμα ιστοσελίδων κατηγορίας χρησιμοποιείται στη συνέχεια στην επόμενη επανάληψη της διαδικασίας για την ίδια τοποθεσία web (739) και συγκεκριμένα στο βήμα (732) όπου εξάγονται οι σύνδεσμοι στην ιστοσελίδα της κατηγορίας. Using the Xpath Expression a category page wrapper (738) is created (or updated if it already exists to adapt to changes in the style and content of the category webpage). The new or customized category webpage wrapper is then used in the next iteration of the process for the same website (739), specifically in step (732) where the links to the category webpage are extracted.
Το Σχήμα 15 δείχνει ένα παράδειγμα επεξεργασίας μιας σελίδας κατηγορίας στα βήματα (730). Η επεξεργασία της σελίδας κατηγορίας (1500) γίνεται χρησιμοποιώντας κορυφαίο περιεχόμενο ειδήσεων (1510), περιεχόμενο αίθουσας σύνταξης (1520) και περιεχόμενο πιο πρόσφατων ειδήσεων (1530). Figure 15 shows an example of processing a category page in steps (730). The category page (1500) is processed using top news content (1510), newsroom content (1520) and latest news content (1530).
Ένα άλλο επίπεδο κάτω από τη δομή του ιστότοπου, για την επεξεργασία μιας σελίδας άρθρου (740) του πρώτου ιστότοπου, το περιεχόμενο του άρθρου εξάγεται (742) από τη σελίδα άρθρου από τον διακομιστή ανίχνευσης, ταξινομείται (744) και ομαδοποιείται με την έκφραση Xpath (746). Αυτό το τελευταίο βήμα περιλαμβάνει έναν συνδυασμό τεχνικών μηχανικής μάθησης (δηλαδή ταξινόμηση) για τον εντοπισμό των στοιχείων ενδιαφέροντος σε μια σελίδα άρθρου (π.χ. στοιχεία <div> που περιέχουν πληροφορίες συγγραφέα, τίτλο άρθρου, κείμενο άρθρου κ.λπ.) και εξαγωγή πληροφοριών και τεχνικές NLP για την εξαγωγή του ακριβούς περιεχομένου ενδιαφέροντος, αποφεύγοντας τον θόρυβο (π.χ. σε διαφημίσεις με κείμενο κ.λπ.). Another level below the site structure, to process an article page (740) of the first site, the article content is extracted (742) from the article page by the crawl server, sorted (744) and grouped by the Xpath expression (746). This final step involves a combination of machine learning techniques (i.e. classification) to identify the elements of interest on an article page (e.g. <div> elements containing author information, article title, article text, etc.) and extract information and NLP techniques to extract the exact content of interest, avoiding noise (eg in text ads, etc.).
Η εξαγωγή περιεχομένου άρθρου (742( μπορεί να γίνει με οποιονδήποτε γνωστό αλγόριθμο. Για παράδειγμα, ένας αναλυτής κειμένου μπορεί να χρησιμοποιηθεί για τον εντοπισμό μεγάλων τμημάτων κειμένου (δηλαδή το σώμα κειμένου σε αντίθεση με τίτλους κ.λπ.) και την επιλογή του χρήσιμου κειμένου του άρθρου ενώ αγνοείται άλλο περιεχόμενο στην ιστοσελίδα (π.χ. λεζάντες εικόνων, τίτλοι, διαφημίσεις που συνήθως περιέχουν πολύ σύντομο μήνυμα κειμένου ή καθόλου κείμενο). Σε άλλη παραδειγματική πραγματοποίηση, ανάλυση σύνταξης, επεξεργασία φυσικής γλώσσας, ανάλυση και κατανόηση ή άλλες γνωστές τεχνικές μπορούν να χρησιμοποιηθούν. Extracting article content (742) can be done with any known algorithm. For example, a text parser can be used to identify large chunks of text (ie, body text as opposed to titles, etc.) and select useful text. of the article while ignoring other content on the web page (eg, image captions, headlines, advertisements that typically contain very short text message or no text at all).In another exemplary embodiment, syntax analysis, natural language processing, parsing and understanding, or other known techniques they can be used.
Χρησιμοποιώντας την έκφραση Xpath δημιουργείται ένα περιτύλιγμα σελίδας άρθρου (748) (ή ενημερώνεται εάν υπάρχει ήδη, ώστε να το προσαρμόζεται στις αλλαγές στο στυλ και το περιεχόμενο της ιστοσελίδας του άρθρου). Το νέο ή προσαρμοσμένο περιτύλιγμα ιστοσελίδων άρθρου χρησιμοποιείται στη συνέχεια στην επόμενη επανάληψη της διαδικασίας για την ίδια τοποθεσία web (749) και συγκεκριμένα στο βήμα (742) όπου εξάγονται οι σύνδεσμοι στην ιστοσελίδα της κατηγορίας. Using the Xpath expression creates an article page wrapper (748) (or updates it if it already exists to adapt to changes in the style and content of the article page). The new or customized article web page wrapper is then used in the next iteration of the process for the same web site (749), specifically in step (742) where the links to the category web page are extracted.
Το βήμα (740) επαναλαμβάνεται για όλες τις ιστοσελίδες άρθρων στην τοποθεσία web και κάθε εξαγόμενο περιεχόμενο άρθρου (742) ελέγχεται για εγκυρότητα (750). Ο έλεγχος μπορεί να πραγματοποιηθεί με διάφορους τρόπους, χειροκίνητα ή αυτόματα. Ο μη αυτόματος έλεγχος μπορεί να γίνει αρχικά για να εκπαιδεύσει τον ανιχνευτή διακομιστή και στη συνέχεια να μεταβεί σε εποπτευόμενη ή πλήρως αυτόματη λειτουργία. Η αυτόματη λειτουργία μπορεί να γίνει χρησιμοποιώντας οποιονδήποτε κατάλληλο αλγόριθμο, με τα νευρωνικά δίκτυα, τη μηχανική μάθηση και τις στατιστικές τεχνικές γνωστές στην προηγούμενη τεχνική να είναι οι κύριοι υποψήφιοι. Μπορούν επίσης να χρησιμοποιηθούν και άλλες τεχνικές γνωστές στην τέχνη. Ο στόχος του βήματος (750) είναι να επαληθεύσει ότι δεν έχει ληφθεί άχρηστο κείμενο (π.χ. λεζάντες εικόνων, τίτλοι, διαφημίσεις που συνήθως περιέχουν πολύ σύντομο μήνυμα κειμένου ή καθόλου κείμενο και προσδιορίζονται ως περιεχόμενο άρθρου. Step (740) is repeated for all article pages in the website and each extracted article content (742) is checked for validity (750). The check can be performed in several ways, manually or automatically. Manual testing can be done initially to train the server crawler and then switch to supervised or fully automatic mode. Automatic operation can be done using any suitable algorithm, with neural networks, machine learning and statistical techniques known in the prior art being prime candidates. Other techniques known in the art may also be used. The purpose of step (750) is to verify that no junk text has been received (eg, image captions, titles, advertisements that typically contain a very short text message or no text and are identified as article content.
Εάν το περιεχόμενο του εξαγόμενου άρθρου είναι έγκυρο (760), το περιεχόμενο διατηρείται (αποθηκεύεται σε μια βάση δεδομένων ή άλλη δομή αποθήκευσης) και λαμβάνεται η απόφαση (770) να αποθηκευτούν (780) τα περιτυλίγματα ιστοσελίδων για τις σελίδες πρώτης, κατηγορίας και άρθρου από βήματα (728), (738), (748), αντίστοιχα. If the content of the extracted article is valid (760), the content is preserved (stored in a database or other storage structure) and a decision is made (770) to store (780) the web wrappers for the first, category, and article pages from steps (728), (738), (748), respectively.
Εάν το περιεχόμενο του εξαγόμενου άρθρου δεν είναι έγκυρο (760), επαναλάβετε τη διαδικασία (700) για την εκ νέου εξαγωγή του περιεχομένου του άρθρου και για την ενημέρωση των περιτυλιγμάτων 3 σελίδων (που παράγονται στα βήματα (728), (738), (748)) μέχρι να ληφθεί θετική απόφαση στο βήμα (770). If the content of the exported article is not valid (760), repeat procedure (700) to re-export the content of the article and to update the 3-page wrappers (produced in steps (728), (738), ( 748)) until a positive decision is made in step (770).
Το Σχήμα 16 δείχνει ένα παράδειγμα επεξεργασίας μιας σελίδας άρθρου στα βήματα (740). Η σελίδα άρθρου (1600) επεξεργάζεται χρησιμοποιώντας τον τίτλο (1610), το σώμα (1620) και την εικόνα (1630). Figure 16 shows an example of processing an article page in steps (740). The article page (1600) is edited using the title (1610), body (1620) and image (1630).
Το Σχήμα 8 είναι ένα διάγραμμα ροής που δείχνει τον τρόπο ανίχνευσης ιστοσελίδων. Η διαδικασία (800) ξεκινά με την επιλογή μιας υλοποίησης ανίχνευσης (810) μεταξύ της διαδοχικής ανίχνευσης (820) (όπου χρησιμοποιείται ένας διακομιστής ανίχνευσης για την ανίχνευση όλων των τοποθεσιών web), της παράλληλης ανίχνευσης 1 (830) (όπου χρησιμοποιείται ένας μεμονωμένος διακομιστής ανίχνευσης ανά ιστότοπο ή ομάδες ιστότοπων), και παράλληλη ανίχνευση 2 (840) (όπου χρησιμοποιούνται περισσότερα από ένα προγράμματα ανίχνευσης ανά τοποθεσία web). Figure 8 is a flowchart showing how web pages are crawled. The process (800) begins by selecting a crawling implementation (810) between sequential crawling (820) (where one crawling server is used to crawl all web sites), parallel crawling 1 (830) (where a single crawling server is used crawling per site or groups of sites), and parallel crawling 2 (840) (where more than one crawler is used per web site).
Έχοντας επιλέξει την υλοποίηση ανίχνευσης, ο διακομιστής ανίχνευσης (ή ο κύριος διακομιστής ανίχνευσης όταν χρησιμοποιούνται πολλοί διακομιστές ανίχνευσης) δημιουργεί ουρές Universal Resource Locator (URL) για ανίχνευση ιστοτόπου (850). Κατά προτίμηση χρησιμοποιούνται περισσότερες από μία ουρές ανά διακομιστή ανίχνευσης ιστού για τη διευκόλυνση της υλοποίησης των διαφόρων σταδίων της διαδικασίας (500). Αυτές οι ουρές παρουσιάζονται στο Σχήμα 13 και υποβάλλονται σε επεξεργασία (860) για να δημιουργηθεί μια ενιαία ουρά URL (870) με προτεραιότητα που χρησιμοποιείται στην ανίχνευση ιστοτόπων. Εάν έχουν επιλεγεί παράλληλες 1 ή παράλληλες 2 υλοποιήσεις ανίχνευσης, δημιουργείται μία ουρά με προτεραιότητα στο βήμα (870) ανά διακομιστή ανίχνευσης. Having selected the crawl implementation, the crawl server (or primary crawl server when multiple crawl servers are used) creates Universal Resource Locator (URL) queues for site crawling (850). Preferably more than one queue is used per web crawl server to facilitate implementation of the various steps of the process (500). These queues are shown in Figure 13 and are processed (860) to create a single prioritized URL queue (870) used in site crawling. If parallel 1 or parallel 2 detection implementations are selected, one priority queue is created in step (870) per detection server.
Οι ουρές υλοποιούνται σε λογισμικό, υλικό ή συνδυασμό των δύο και περιέχουν ταξινομημένες λίστες διευθύνσεων URL. Queues are implemented in software, hardware, or a combination of the two and contain ordered lists of URLs.
Το Σχήμα 9 είναι ένα διάγραμμα ροής που δείχνει τα βήματα για τη ομαδοποίηση σελίδων ειδήσεων και άρθρων. Η διαδικασία (900) ξεκινά με την αναπαράσταση του εξαγόμενου κειμένου κάθε νέου άρθρου που έχει ληφθεί (ακατέργαστο κείμενο) χρησιμοποιώντας ένα ενδιάμεσο μοντέλο αναπαράστασης, όπως το Bag-of-Words (BoW) (δηλαδή μια απλοποιημένη αναπαράσταση που χρησιμοποιείται στο NLP) και το Vector Space Model ή οποιοδήποτε άλλη μέθοδο ενσωμάτωσης λέξεων για αναπαράσταση κειμένου (910). Από μια άποψη, αυτή η ενδιάμεση αναπαράσταση είναι μια αναπαράσταση υψηλού επιπέδου. Figure 9 is a flowchart showing the steps for grouping news pages and articles. The process (900) begins by representing the extracted text of each new article received (raw text) using an intermediate representation model such as Bag-of-Words (BoW) (ie, a simplified representation used in NLP) and Vector Space Model or any other word embedding method for representing text (910). In one sense, this intermediate representation is a high-level representation.
Μόλις το ακατέργαστο κείμενο του άρθρου αντιστοιχιστεί στην ενδιάμεση αναπαράσταση, προωθείται στον ταξινομητή άρθρου (920), ο οποίος αποφασίζει εάν το άρθρο ταξινομείται (δηλαδή ομαδοποιείται) με τα άρθρα ενός υπάρχοντος συμπλέγματος ή όχι (930). Once the raw article text is mapped to the intermediate representation, it is forwarded to the article classifier (920), which decides whether the article is classified (ie, grouped) with the articles of an existing cluster or not (930).
Οποιαδήποτε μέθοδος ταξινόμησης κειμένου μπορεί να εφαρμοστεί σε αυτό το βήμα (π.χ. Naive Bayes, Support Vector Machine (SVM), συνελικτικά νευρωνικά δίκτυα μονού ή πολλαπλών επιπέδων (CNN) ή Recurrent Neural Networks (RNN)). Any text classification method can be applied in this step (eg Naive Bayes, Support Vector Machine (SVM), single or multi-layer convolutional neural networks (CNN) or Recurrent Neural Networks (RNN)).
Τα άρθρα που δεν ταξινομούνται σε ένα υπάρχον σύμπλεγμα προωθούνται στη διαδικασία ομαδοποίησης άρθρου (940), η οποία χρησιμοποιεί μια μέθοδο ομοιότητας κειμένου και έναν αλγόριθμο ομαδοποίησης για να σχηματίσει νέα συμπλέγματα (950). Τα άρθρα που είναι παρόμοια με ένα υπάρχον σύμπλεγμα, επισυνάπτονται στο σύμπλεγμα και το σύμπλεγμα ενημερώνεται αναλόγως (960). Η ημερομηνία τελευταίας ενημέρωσης διατηρείται με το σύμπλεγμα. Articles not classified into an existing cluster are forwarded to the article clustering process (940), which uses a text similarity method and a clustering algorithm to form new clusters (950). Articles that are similar to an existing cluster are attached to the cluster and the cluster is updated accordingly (960). The last update date is preserved with the cluster.
Ένα σύμπλεγμα που δεν έχει ενημερωθεί για μεγάλο χρονικό διάστημα έχει αρχειοθετηθεί (970). A cluster that has not been updated for a long time has been archived (970).
Το Σχήμα 17 δείχνει ένα παράδειγμα συμπλέγματος παρόμοιων ειδών. Το παράδειγμα συμπλέγματος (1700) περιέχει μια συλλογή παρόμοιων άρθρων (1710), που περιέχει 104 άρθρα ειδήσεων, 9 άρθρα ιστολογίου, 1 άρθρο γνώμης, 88 άρθρα πολυμέσων και σχόλια. Figure 17 shows an example of a cluster of similar species. The example cluster (1700) contains a collection of similar articles (1710), containing 104 news articles, 9 blog articles, 1 opinion article, 88 media articles, and comments.
Το Σχήμα 10 είναι ένα διάγραμμα ροής που δείχνει τα βήματα για την ανάλυση σελίδων ειδήσεων και άρθρων. Η διαδικασία (1000) ξεκινά με μια αναπαράσταση του κειμένου και των μεταδεδομένων του άρθρου (συγγραφέας, URL, πολυμέσα κ.λπ.) και τα μεταδεδομένα του ιστότοπου προέλευσης του άρθρου (URL ονόματος τομέα, τύπος ιστότοπου, θεματικός προσανατολισμός, κ.λπ.). Τα μοντέλα βαθιάς και ευρείας μάθησης χρησιμοποιούνται για την αναπαράσταση τόσο των κειμενικών πληροφοριών όσο και των μεταδεδομένων (1010). Οποιαδήποτε τεχνική ταξινόμησης (π.χ. Naive Bayes, SVM, μονού ή πολλαπλών επιπέδων CNN ή RNN) (1020) μπορεί να εφαρμοστεί για την ανάθεση ενός άρθρου σε μία ή περισσότερες προκαθορισμένες κατηγορίες (ετικέτες) (1030) και επισυνάπτει αυτές τις πληροφορίες στο άρθρο (1040). Figure 10 is a flowchart showing the steps for parsing news pages and articles. The process (1000) begins with a representation of the article's text and metadata (author, URL, media, etc.) and the metadata of the article's source site (domain name URL, site type, subject orientation, etc.). ). Deep and wide learning models are used to represent both textual information and metadata (1010). Any classification technique (eg, Naive Bayes, SVM, single or multi-layer CNN or RNN) (1020) can be applied to assign an article to one or more predefined categories (labels) (1030) and appends this information to article (1040).
Το Σχήμα 11 είναι ένα διάγραμμα ροής που δείχνει πώς δημιουργείται μια περίληψη θέματος ειδήσεων με τη συγκέντρωση κειμένου υποθέματος. Η διαδικασία 1100 ξεκινά με την επιλογή όλων των ανιχνευμένων άρθρων που έχουν συγκεντρωθεί μαζί επειδή συζητούν το ίδιο θέμα ειδήσεων (1110) και προεπεξεργάζονται αυτά τα άρθρα χρησιμοποιώντας τεχνικές NLP (1120). Τα προεπεξεργασμένα άρθρα στη συνέχεια αναλύονται χρησιμοποιώντας τις τεχνικές NLU (1130) και τα κύρια υποθέματα που συζητήθηκαν από τα επιλεγμένα άρθρα ιστού κάθε συμπλέγματος προσδιορίζονται (1140). Figure 11 is a flowchart showing how a news topic summary is created by aggregating subtopic text. Process 1100 begins by selecting all detected articles that have been grouped together because they discuss the same news topic (1110) and preprocessing those articles using NLP techniques (1120). The preprocessed articles are then analyzed using NLU techniques (1130) and the main subtopics discussed by the selected web articles of each cluster are identified (1140).
Έχοντας αναλύσει τα άρθρα Ιστού σε κάθε σύμπλεγμα, οι προτάσεις που περιγράφουν τα προσδιορισμένα υπο-θέματα ανιχνεύονται στα αναλυμένα άρθρα ιστού ή δημιουργούνται (1150) με ανάμειξη και αντιστοίχιση θραυσμάτων προτάσεων χρησιμοποιώντας τα αποτελέσματα NLU. Having analyzed the web articles in each cluster, sentences describing the identified sub-topics are detected in the analyzed web articles or generated (1150) by mixing and matching sentence fragments using the NLU results.
Η διαδικασία (1100) τελειώνει με τη συγκέντρωση των προτάσεων που εντοπίστηκαν ή δημιουργήθηκαν από το βήμα (1150) σε μια σύνοψη των άρθρων ειδήσεων για κάθε ομάδα άρθρων (1160). The process (1100) ends by aggregating the sentences identified or generated by step (1150) into a summary of the news articles for each group of articles (1160).
Το Σχήμα 18 δείχνει ένα παράδειγμα σελίδας περίληψης θεμάτων ειδήσεων. Η σελίδα περίληψης θεμάτων ειδήσεων (1800) περιέχει περιλήψεις ειδήσεων (1810) που σχετίζονται με ένα θέμα ειδήσεων (1820). Figure 18 shows an example news topic summary page. The news topic summary page (1800) contains news summaries (1810) related to a news topic (1820).
Το Σχήμα 12 είναι ένα διάγραμμα ροής που δείχνει πώς δημιουργείται μια περίληψη θέματος με τεχνικές σύνθεσης φυσικής γλώσσας (NLS). Η διαδικασία (1200) ξεκινά με την επιλογή όλων των ανιχνευμένων άρθρων σε ομάδες που συζητούν την ίδια είδηση (1210) και την προεπεξεργασία τους χρησιμοποιώντας τις τεχνικές NLP (1220). Τα προεπεξεργασμένα άρθρα στη συνέχεια αναλύονται χρησιμοποιώντας τις τεχνικές NLU (1230) και τα κύρια υποθέματα που συζητούνται από τα επιλεγμένα άρθρα ιστού του κάθε σύμπλεγμα προσδιορίζεται (1240). Figure 12 is a flowchart showing how a topic summary is generated with natural language synthesis (NLS) techniques. The process (1200) begins by selecting all detected articles into groups discussing the same news (1210) and preprocessing them using NLP techniques (1220). The preprocessed articles are then analyzed using NLU techniques (1230) and the main subtopics discussed by the selected web articles of each cluster are identified (1240).
Η διαδικασία (1200) τελειώνει δημιουργώντας μια σύνοψη των άρθρων ειδήσεων για κάθε ομάδα άρθρων χρησιμοποιώντας τις τεχνικές NLS (1250) στα αποτελέσματα του βήματος (1240). The process (1200) ends by creating a summary of the news articles for each group of articles using the NLS techniques (1250) on the results of step (1240).
Το Σχήμα 13 είναι ένα μπλοκ διάγραμμα των κύριων λογικών υπομονάδων και ουρών του συστήματος (100). Στο σύστημα (1300), η μονάδα επεξεργαστή (250) του διακομιστή ανίχνευσης (160) (και προαιρετικά όλες οι μονάδες επεξεργασίας πρόσθετων διακομιστούν ανίχνευσης που χρησιμοποιούνται σε εναλλακτικά παραδείγματα υλοποίησης) θα πρέπει να θεωρηθεί ως μια ειδικά κατασκευασμένη μονάδα (ή μονάδες σε εναλλακτικά παραδείγματα υλοποίησης) ειδικά προσαρμοσμένη για την εφαρμογή της παρούσας καινοτόμου λύσης ανίχνευσης. Από την άποψη του υλικού, η μονάδα επεξεργασίας (250) μπορεί να χωριστεί σε πολλές λογικές υπομονάδες που η καθεμία υλοποιεί μια συγκεκριμένη εργασία (π.χ. Figure 13 is a block diagram of the main logic modules and queues of the system (100). In the system (1300), the processor module (250) of the detection server (160) (and optionally all the detection server plug-in processing modules used in alternative exemplary embodiments) should be considered as a custom-made module (or modules in alternative examples implementation) specifically tailored to implement this innovative detection solution. From a hardware perspective, the processing unit (250) can be divided into several logical sub-units that each implement a specific task (e.g.,
ανάλυση, ιεράρχηση, ταξινόμηση, κ.λπ.) όπως φαίνεται στο Σχήμα 2Β. Αυτές οι υπομονάδες μπορεί να είναι πραγματικές (δηλαδή σε υλικό), εικονικές (δηλαδή σε λογισμικό) ή υβριδικές (δηλαδή ένα μείγμα υλικού και λογισμικού) και να υλοποιούνται σε μία μόνο υπολογιστική συσκευή ή σε περισσότερες από μία υπολογιστικές συσκευές. Οι πραγματικές υπομονάδες κατασκευάζονται ως ASIC ή άλλες τεχνολογίες, ενώ οι εικονικές υπομονάδες χρησιμοποιούν απλώς υπάρχοντες επεξεργαστές για να τρέξουν εξειδικευμένο ή ενσωματωμένο λογισμικό που τελικά μετασχηματίζει τις εικονικές υπομονάδες προσομοιώνοντας τη συμπεριφορά υπομονάδων υλικού συγκεκριμένου σκοπού (purpose built). Από την άποψη του υλικού, οι υπομονάδες υλικού συσχετίζονται (συνδέονται με) τουλάχιστον μια ουρά υλικού (ή λογισμικού ή συνδυασμό αυτών). Οι ουρές υλικού υλοποιούνται είτε σε αποκλειστικές υπομονάδες ουράς στη μονάδα επεξεργαστή (250) είτε στη μονάδα μνήμης (240), είτε στην ίδια υπολογιστική συσκευή είτε σε περισσότερες από μία υπολογιστικές συσκευές. analysis, prioritization, classification, etc.) as shown in Figure 2B. These modules can be real (ie in hardware), virtual (ie in software) or hybrid (ie a mixture of hardware and software) and implemented on a single computing device or on more than one computing device. Real sub-modules are built as ASICs or other technologies, while virtual sub-modules simply use existing processors to run specialized or embedded software that ultimately transforms the virtual sub-modules by simulating the behavior of purpose built hardware sub-modules. From a hardware perspective, hardware subunits are associated with (connected to) at least one hardware (or software, or combination thereof) queue. Hardware queues are implemented either in dedicated queue sub-units in the processor unit (250) or in the memory unit (240), either on the same computing device or on more than one computing device.
Από άποψη λογισμικού, το λογισμικό ή το ενσωματωμένο λογισμικό που εκτελείται στη μονάδα επεξεργαστή (250) δημιουργεί εικονικές υπομονάδες και ουρές και εκτελεί την ίδια λειτουργία όπως περιγράφηκε παραπάνω για το υλικό. Αυτή η προσέγγιση λογισμικού μπορεί να στερείται ελαφρώς ταχύτητας, αλλά είναι πιο ευέλικτη καθώς επιτρέπει την εύκολη επαναδιαμόρφωση σύμφωνα με τις νέες ανάγκες απόδοσης και άλλες εκτιμήσεις του συστήματος (100). Σε εναλλακτικές υποδειγματικές εφαρμογές, ένας συνδυασμός υπομονάδων υλικού και λογισμικού για επεξεργασία και για ουρές ανίχνευσης χρησιμοποιείται για την επίτευξη υψηλότερης ταχύτητας επεξεργασίας και ευκολότερης αναδιαμόρφωσης. From a software perspective, the software or embedded software running on the processor unit (250) creates virtual modules and queues and performs the same function as described above for the hardware. This software approach may lack slightly in speed, but is more flexible as it allows for easy reconfiguration according to new performance needs and other system considerations (100). In alternative exemplary embodiments, a combination of hardware and software modules for processing and for detection queues is used to achieve higher processing speed and easier reconfiguration.
Μια υπομονάδα σποράς (1310) δημιουργεί μια λίστα πηγών URL (δηλαδή διευθύνσεις URL των τοποθεσιών web και των ιστοσελίδων) που πρέπει να ληφθούν κατά την ανίχνευση. Η λίστα των πηγών URL εισάγεται στο Seed Queue (1312) και η ουρά διαβάζεται από την υπομονάδα ανάκτησης (1320), η οποία ανακτά το περιεχόμενο κάθε πηγής διεύθυνσης URL. Το περιεχόμενο που ανακτήθηκε εισάγεται στο fetched_queue (1322) και η ουρά διαβάζεται από την υπομονάδα ανάλυσης (1330), η οποία επεξεργάζεται το περιεχόμενο που έχει ληφθεί και εξάγει στοιχεία (ή στοιχεία) περιεχομένου (π.χ. τίτλος, περιεχόμενο, συγγραφέας, μέσα, κ.λπ.) χρησιμοποιώντας τις προδιαγραφές ανάλυσης που διαβάζονται από τη βάση δεδομένων (1345) (ή άλλη δομή δεδομένων). Τα εξαγόμενα στοιχεία περιεχομένου αποθηκεύονται στο content_item_queue (1334) και η ουρά διαβάζεται από την υπομονάδα ταξινόμησης στοιχείων (1350), η οποία επεξεργάζεται τα στοιχεία περιεχομένου που έχουν ληφθεί και τα αποθηκεύει είτε στο article_item-queue (1356) εάν το αντικείμενο είναι άρθρο ειδήσεων ή στο hyperlink_queue (1352) εάν το στοιχείο είναι υπερσύνδεσμος ή στο RSS_queue (1354) εάν το στοιχείο είναι μια ροή εμπλουτισμένης σύνοψης ιστότοπου (RSS feed). A seeding module (1310) generates a list of URL sources (ie URLs of web sites and web pages) to be retrieved during crawling. The list of URL sources is entered into the Seed Queue (1312) and the queue is read by the retrieval module (1320), which retrieves the content of each URL source. The fetched content is inserted into the fetched_queue (1322) and the queue is read by the parsing module (1330), which processes the fetched content and extracts content elements (or elements) (e.g., title, content, author, media , etc.) using the resolution specifications read from the database (1345) (or other data structure). The extracted content items are stored in the content_item_queue (1334) and the queue is read by the item sorting module (1350), which processes the retrieved content items and stores them either in the article_item-queue (1356) if the item is a news article or to hyperlink_queue (1352) if the element is a hyperlink, or to RSS_queue (1354) if the element is an RSS feed.
Το περιεχόμενο του άρθρου που είναι αποθηκευμένο στο article_item_queue (1356) διαβάζεται από το item processor module (1390) (πρόσθετες μονάδες επεξεργασίας (1390) χρησιμοποιούνται σε εναλλακτικά παραδείγματα υλοποίησης), το οποίο εκτελεί τουλάχιστον ένα από τα Named Entity Recognition (NER), ανάλυση συναισθήματος, ανίχνευση γλώσσας, πτυχή εξόρυξη, ομαδοποίηση, σύνοψη, κ.λπ. και παράγει το αποτέλεσμα της παρούσας καινοτόμου λύσης ανίχνευσης. The content of the article stored in the article_item_queue (1356) is read by the item processor module (1390) (additional processing modules (1390) are used in alternative implementation examples), which performs at least one of Named Entity Recognition (NER), analysis sentiment, language detection, feature mining, clustering, summarization, etc. and produces the result of the present innovative detection solution.
Οι υπερσύνδεσμοι που είναι αποθηκευμένοι στο hyperlink_queue (1352) διαβάζονται από την υπομονάδα ταξινομητή URL (1360), η οποία ταξινομεί τις διευθύνσεις URL σε μία από τις τρεις κατηγορίες: μια διεύθυνση URL που οδηγεί σε έναν νέο τομέα πηγής με σχετικό περιεχόμενο, μια διεύθυνση URL που οδηγεί σε μια άσχετη πηγή ή μια διεύθυνση URL που οδηγεί σε έναν νέο πόρο (π.χ. άρθρο) προς ανάκτηση. The hyperlinks stored in the hyperlink_queue (1352) are read by the URL classifier module (1360), which sorts the URLs into one of three categories: a URL that points to a new source domain with related content, a URL that points to an unrelated source or a URL that points to a new resource (eg article) to retrieve.
Οι διευθύνσεις URL που οδηγούν σε μη σχετικές πηγές αγνοούνται ή σε εναλλακτικά παραδείγματα υλοποίησης εισάγονται σε μια ουρά irrelevant_queue για εξάλειψη από άλλες ουρές. URLs pointing to irrelevant resources are ignored, or in alternative implementations are put into an irrelevant_queue for elimination from other queues.
Οι διευθύνσεις URL που οδηγούν σε νέους τομείς προέλευσης εισάγονται στο domain_queue (1362) και το domain_queue (1362) διαβάζεται μαζί με το RSS_queue (1354) από την υπομονάδα deduplicator (1370). Η υπομονάδα Deduplicator (1370) εξετάζει εάν η πηγή είναι ήδη στη λίστα των γνωστών πηγών και αν δεν είναι, τότε εισάγει την πηγή στο sources_queue (1372), το οποίο διαβάζεται από την υπομονάδα prioritizer (1380), διαφορετικά η πηγή αγνοείται καθώς υπάρχει ήδη στο seed_queue (1312). Η υπομονάδα Prioritizer (1380) διαβάζει το sources_queue (1372) και δίνει υψηλή προτεραιότητα σε επιλεγμένους τομείς ή διευθύνσεις URL ή τα RSS feeds έτσι ώστε να λαμβάνονται πιο συχνά και η έξοδος του αποθηκεύεται στο seed_queue (1312), δημιουργώντας ουσιαστικά έναν κλειστό βρόχο όπου όλες οι υποουρές συγκλίνουν σε μια ενιαία ουρά, π.χ. seed_queue (1312). Η ιεράρχηση λαμβάνει υπόψη τον αριθμό των αναρτήσεων από μια πηγή που έχουν αναφερθεί από άλλες πηγές περισσότερες φορές από ένα κατώφλι (threshold) στο πρόσφατο παρελθόν. Εναλλακτικά, χρησιμοποιούνται πολλαπλές ουρές προτεραιότητας ανά πηγή δεδομένων, κάθε ουρά προτεραιότητας για διαφορετικό θεματικό θέμα, προκειμένου να εκχωρηθούν διαφορετικές προτεραιότητες ανά θέμα στην ίδια πηγή. Μια μεμονωμένη ουρά τροφοδοτείται από τις πολλαπλές ουρές και συγχωνεύει τα δεδομένα τους χρησιμοποιώντας πληροφορίες σχετικά με τη δημοτικότητα ενός θεματικού περιεχομένου στο πρόσφατο παρελθόν (π.χ. τον αριθμό των άρθρων που δημοσιεύτηκαν ανά θέμα). URLs pointing to new source domains are entered into the domain_queue (1362) and the domain_queue (1362) is read along with the RSS_queue (1354) by the deduplicator module (1370). The deduplicator module (1370) checks if the source is already in the list of known sources, and if it is not, then it inserts the source into the sources_queue (1372), which is read by the prioritizer module (1380), otherwise the source is ignored as it already exists in seed_queue (1312). The Prioritizer module (1380) reads the sources_queue (1372) and gives high priority to selected domains or URLs or RSS feeds so that they are fetched more often and its output is stored in the seed_queue (1312), essentially creating a closed loop where all subqueues converge to a single queue, e.g. seed_queue (1312). Ranking takes into account the number of posts from a source that have been cited by other sources more than a threshold in the recent past. Alternatively, multiple priority queues are used per data source, each priority queue for a different subject matter, in order to assign different subject matter priorities to the same source. A single queue is fed from the multiple queues and merges their data using information about the popularity of a topic's content in the recent past (eg, the number of articles published per topic).
Η συχνότητα ανάκτησης διευθύνσεων URL που επιβάλλεται από την υπομονάδα του προγράμματος προτεραιότητας (1380) στη μονάδα ανάκτησης (1320) μέσω του seed_Q (1312) είναι μια πολύ σημαντική καινοτομία της παρούσας καινοτόμου λύσης ανίχνευσης και εκμεταλλεύεται το γεγονός ότι ένα άρθρο μπορεί να προέρχεται από ένα σημαντικό (π.χ. έγκριτη ή γρήγορη ενημέρωση ή άλλη) πηγή. Επιπλέον, η συχνότητα ανάκτησης είναι σημαντική επειδή μπορεί να χρησιμοποιηθεί για να ληφθούν υπόψη πρόσθετες πηγές, όπως σχόλια χρηστών σε άρθρα ειδήσεων, ερασιτεχνική δημοσιογραφία όπου η κάλυψη ειδήσεων βασίζεται σε μεμονωμένα σχόλια/τιτιβίσματα/άρθρα/κ.λπ., και αναρτήσεις στα μέσα κοινωνικής δικτύωσης και σχόλια, αναρτήσεις ιστολογίου και σχόλια κ.λπ. The URL retrieval frequency imposed by the priority program module (1380) on the retrieval module (1320) via the seed_Q (1312) is a very important innovation of the present novel detection solution and takes advantage of the fact that an article may originate from a important (eg reputable or fast update or other) source. Additionally, retrieval frequency is important because it can be used to account for additional sources such as user comments on news articles, amateur journalism where news coverage is based on individual comments/tweets/articles/etc., and social media posts networking and comments, blog posts and comments, etc.
Κατά τη διάρκεια της διαδικασίας που περιγράφεται στο Σχήμα 13, η υπομονάδα ανάκτησης (1320) ενδέχεται να αποτύχει να λάβει τα περιεχόμενα μιας διεύθυνσης URL πηγής για διάφορους λόγους, όπως πρόβλημα δικτύου, προβλήματα διακομιστή δρομολόγησης/όνομα τομέα (DNS) κ.λπ., προβλήματα διακομιστή ιστού, προβλήματα ιστότοπου προέλευσης, κ.λπ. Για την αντιμετώπιση τέτοιων προβλημάτων, η υπομονάδα ανάκτησης (1320) αποθηκεύει τις αποτυχημένες διευθύνσεις URL στην αποτυχημένη ουρά (1324) και διαβάζεται η ουρά αποτυχημένη_ουρά (1324) (μαζί με το new_item_queue (1364) που περιέχει την αποθήκευση νέων άρθρων που ανιχνεύονται από το URL_classifier από 1 υπομονάδα postponer (1365), η οποία λειτουργική μονάδα (1365) αποθηκεύει τις διευθύνσεις URL που διαβάζει στο seed_queue (1312). During the process described in Figure 13, the retrieval module (1320) may fail to retrieve the contents of a source URL for various reasons, such as network problem, routing/domain name server (DNS) problems, etc. web server problems, source site problems, etc. To deal with such problems, the recovery module (1320) stores the failed URLs in the failed queue (1324) and the queue failed_queue (1324) is read (along with the new_item_queue (1364) which contains the storage of new items detected by the URL_classifier by 1 postponer module (1365), which module (1365) stores the URLs it reads in the seed_queue (1312).
Η υπομονάδα ανάλυσης (1330) ενδέχεται να αποτύχει στην επεξεργασία του ληφθέντος περιεχομένου και στην εξαγωγή στοιχείων περιεχομένου. Σε μια τέτοια περίπτωση, η υπομονάδα ανάλυσης (1330) αποθηκεύει το αποτυχημένο περιεχόμενο στο error_fetched_queue (1332) και η ουρά διαβάζεται από τη γεννήτρια προδιαγραφών αναλυτή (1340), η οποία επεξεργάζεται ομάδες στοιχείων περιεχομένου που έχει ληφθεί από την ίδια πηγή/τομέα και δημιουργεί προδιαγραφές (δηλ. εκφράσεις Xpath) για υπομονάδα ανάλυσης (1330). Οι νέες προδιαγραφές αποθηκεύονται στη βάση δεδομένων προδιαγραφών αναλυτή (1345) (ή άλλη δομή δεδομένων) και διαβάζονται (είτε περιοδικά είτε όταν δημιουργείται μια διακοπή από τη γεννήτρια προδιαγραφών αναλυτή (1340)) από την υπομονάδα ανάλυσης (1330). The parsing module (1330) may fail to process the received content and extract content elements. In such a case, the parser module (1330) stores the failed content in the error_fetched_queue (1332) and the queue is read by the parser specification generator (1340), which processes groups of content elements fetched from the same source/domain and generates specifications (ie, Xpath expressions) for analysis module (1330). The new specifications are stored in the parser specification database (1345) (or other data structure) and read (either periodically or when an interrupt is generated by the parser specification generator (1340)) by the parser module (1330).
Ως αποτέλεσμα της παραπάνω ομάδας ουρών, το seed_queue (1312) περιέχει μια ταξινομημένη λίστα ή διευθύνσεις URL για ανίχνευση, όπου δίνεται προτεραιότητα σε εκείνες τις διευθύνσεις URL που είναι πιο σημαντικές, από πηγές με υψηλότερη φήμη, αλλάζουν πιο συχνά και είναι νέες καθώς προέρχονται από σχετικά μεταδεδομένα και κατώφλια. As a result of the above queue group, the seed_queue (1312) contains a sorted list or URLs to crawl, where priority is given to those URLs that are more important, from sources with higher reputation, change more frequently, and are new as they come from related metadata and thresholds.
Επιπλέον, τα καυτά θέματα που λαμβάνουν προσωρινά πολλές δημοσιεύσεις άρθρων, θα προωθηθούν προσωρινά και οι αντίστοιχες λίστες προτεραιότητας θα συγχωνευθούν στην τελική λίστα με υψηλότερη προτεραιότητα. In addition, hot topics that temporarily receive many article publications will be temporarily promoted and their respective priority lists will be merged into the final, higher priority list.
Η λογική πίσω από το Σχήμα 13 είναι επαρκής για την αντιμετώπιση σφαλμάτων στη διαδικασία ανίχνευσης και την υποστήριξη της αλλαγής των καταστάσεων στη διαδικασία, ενώ τροφοδοτεί την ιεράρχηση προτεραιοτήτων και πτυχές των πηγών των άρθρων ιστού όπως η φήμη, η συχνότητα ενημέρωσης, η διάταξη των ιστοσελίδων και των ιστοσελίδων κ.λπ. Είναι δυνατές διάφορες τροποποιήσεις της σειράς, του ονόματος και του αριθμού των υπομονάδων και των ουρών χωρίς να παρεκκλίνουμε από το πεδίο εφαρμογής της παρούσας καινοτόμου λύσης ανίχνευσης. Κάποιος μπορεί, για παράδειγμα, να προσθέσει νέες ουρές ή υπομονάδες (παράλληλες ή/και σειριακές) για το χειρισμό διαφορετικού περιεχομένου από διαφορετικούς τύπους πηγών (π.χ. μέσα κοινωνικής δικτύωσης) ή για υποδειγματικές ενσωματώσεις χρησιμοποιώντας παράλληλη επεξεργασία με τη μορφή πολλαπλών διακομιστούν ανίχνευσης, φάρμα (farm) διακομιστούν ανίχνευσης, διακομιστές ανίχνευσης που βασίζονται σε σύννεφο, πολλαπλοί πυρήνες επεξεργαστών ανά επεξεργαστή ή πολλαπλοί επεξεργαστές ανά διακομιστή ανίχνευσης, κ.λπ. Εναλλακτικά, μπορεί κανείς να συγχωνεύσει ορισμένες από τις ουρές του συστήματος (1300). The logic behind Figure 13 is sufficient to handle errors in the detection process and support changing states in the process, while feeding prioritization and aspects of web article sources such as reputation, update frequency, web page layout and websites etc. Various modifications of the order, name and number of subunits and queues are possible without deviating from the scope of the present innovative detection solution. One can, for example, add new queues or modules (parallel and/or serial) to handle different content from different types of sources (e.g. social media) or to model integrations using parallel processing in the form of multi-server detection , server crawl farm, cloud-based crawl servers, multiple processor cores per processor or multiple processors per crawl server, etc. Alternatively, one can merge some of the system queues (1300).
Εκτός από αυτές τις τροποποιήσεις, μπορούν να εισαχθούν περαιτέρω τροποποιήσεις για συνεργικούς υπολογιστές όπου οι πόροι επεξεργασίας που χρησιμοποιούνται ή/και τα αποτελέσματα ανίχνευσης που παράγονται για μια συγκεκριμένη εφαρμογή, χρήστη ή πελάτη μοιράζονται ή μερικώς κοινοποιούνται για άλλες εφαρμογές, χρήστες ή πελάτες . Σε τέτοιες περιπτώσεις, τουλάχιστον οι προδιαγραφές του αναλυτή και τα article_item_queues υποβάλλονται σε περαιτέρω επεξεργασία σύμφωνα με προδιαγραφές που σχετίζονται με το απόρρητο δεδομένων, το απόρρητο προτιμήσεων ανίχνευσης κ.λπ., έτσι ώστε να προστατεύονται τα προσωπικά δεδομένα σύμφωνα με την ισχύουσα νομοθεσία (π.χ. In addition to these modifications, further modifications may be introduced for synergistic computing where the processing resources used and/or detection results produced for a particular application, user or client are shared or partially shared for other applications, users or clients. In such cases, at least the parser specifications and article_item_queues are further processed according to specifications related to data privacy, privacy of tracking preferences, etc., so that personal data is protected in accordance with applicable law (e.g. h.
Πολιτική Νομοθεσία Προστασίας Δεδομένων στις ΗΠΑ, Προστασία Δεδομένων Νόμος στο Ηνωμένο Βασίλειο, Γενικός Κανονισμός Προστασίας Δεδομένων (GDPR) στην ΕΕ, κ.λπ.). Civil Data Protection Legislation in the US, Data Protection Law in the UK, General Data Protection Regulation (GDPR) in the EU, etc.).
Οι διαδικασίες που παρουσιάζονται παραπάνω αναφέρονται σε ειδησεογραφικούς ιστότοπους και άρθρα ειδήσεων και δίνονται ως παράδειγμα. Σημειώνεται ότι το πεδίο εφαρμογής της παρούσας καινοτόμου λύσης ανίχνευσης δεν περιορίζεται σε ιστότοπους και άρθρα που σχετίζονται με ειδήσεις, αλλά ισχύει για την ανίχνευση όλων των πηγών διαδικτυακού περιεχομένου και περιλαμβάνει άλλη μορφή αυτού του κειμένου, δηλαδή εικόνες, βίντεο, πολυκαναλικού ήχο, vlog, κ.λπ. Όπου χρησιμοποιείται μη κειμενικό περιεχόμενο, η προτεινόμενη μέθοδος ανίχνευσης μπορεί να χρησιμοποιεί μεταδεδομένα που συνοδεύουν το μη κειμενικό περιεχόμενο ή σε άλλα παραδείγματα υλοποίησης εφαρμόζει πρόσθετα βήματα επεξεργασίας όπου τα δεδομένα κειμένου προέρχονται από το μη κειμενικό περιεχόμενο. Για παράδειγμα, η φωνητική ομιλία και η αναγνώριση ήχου μπορεί να χρησιμοποιηθούν για τη δημιουργία εκδόσεων κειμένου της ομιλίας ή περιγραφής κειμένου του ήχου (π.χ. τίτλος τραγουδιού, μεταδεδομένα που περιγράφουν μια έκρηξη, κ.λπ.) ή ανάλυση εικόνας/βίντεο/3D για τη δημιουργία μεταδεδομένα που περιγράφουν οπτικό περιεχόμενο. Τεχνικές για την επεξεργασία οπτικοακουστικού περιεχομένου είναι πολύ γνωστές στην προηγούμενη τεχνική και δεν περιλαμβάνονται στην παρούσα αποκάλυψη καθώς είναι προφανείς σε οποιονδήποτε αναγνώστη με συνήθη εμπειρία στη σχετική τέχνη. The procedures presented above are referenced in news websites and news articles and are given as an example. It is noted that the scope of the present innovative detection solution is not limited to websites and articles related to news, but it applies to the detection of all sources of online content and includes other form of this text, i.e. images, videos, multi-channel audio, vlogs, etc. .etc Where non-textual content is used, the proposed detection method may use metadata accompanying the non-textual content or in other exemplary embodiments apply additional processing steps where the textual data is derived from the non-textual content. For example, voice speech and audio recognition can be used to create text versions of the speech or textual description of the sound (eg song title, metadata describing an explosion, etc.) or image/video/ 3D to create metadata describing visual content. Techniques for processing audiovisual content are well known in the prior art and are not included in the present disclosure as they are obvious to any reader of ordinary skill in the relevant art.
Τα ανεπεξέργαστα, επεξεργασμένα και αναλυόμενα δεδομένα αποθηκεύονται σε ουρές και βάσεις δεδομένων (όπως SQL, noSQL ή άλλες) ενώ σε εναλλακτικά παραδείγματα υλοποίησης αποθηκεύονται σε αρχεία καταγραφής, δομές δεδομένων κ.λπ. Τα δεδομένα αποθηκεύονται σε αρχεία ASCII, XML, συμπιεσμένα, κρυπτογραφημένες ή άλλες αναπαραστάσεις και μορφές αρχείων. Raw, processed and parsed data are stored in queues and databases (such as SQL, noSQL or others) while in alternative implementation examples they are stored in log files, data structures, etc. Data is stored in ASCII, XML, compressed, encrypted or other file representations and formats.
Τα παραπάνω παραδείγματα υλοποίησης είναι απλοποιημένα και δεν περιλαμβάνουν στοιχεία υλικού και λογισμικού που χρησιμοποιούνται στις υλοποιήσεις αλλά δεν αποτελούν μέρος της τρέχουσας καινοτόμου λύσης, δεν χρειάζονται για την κατανόηση των υλοποιήσεων και είναι προφανή σε οποιονδήποτε χρήστη συνηθισμένης δεξιότητας στη σχετική τέχνη. Επιπλέον, είναι δυνατές παραλλαγές της περιγραφόμενης τεχνικής, της αρχιτεκτονικής συστήματος και της αρχιτεκτονικής λογισμικού, όπου, για παράδειγμα, βήματα τεχνικής και στοιχεία υλικού και λογισμικού μπορούν να αναδιαταχθούν, να παραληφθούν ή να προστεθούν νέα. The above example embodiments are simplified and do not include hardware and software elements used in the embodiments but which are not part of the current innovative solution, are not needed to understand the embodiments, and are obvious to any user of ordinary skill in the relevant art. In addition, variations of the described technique, system architecture, and software architecture are possible, where, for example, technique steps and hardware and software elements may be rearranged, omitted, or new ones added.
Διάφορες υλοποιήσεις της εφεύρεσης περιγράφονται παραπάνω στη Λεπτομερή Περιγραφή. Ενώ αυτές οι περιγραφές περιγράφουν άμεσα τις παραπάνω υλοποιήσεις, είναι κατανοητό ότι οι ειδικοί στην τέχνη μπορεί να συλλάβουν τροποποιήσεις και/ή παραλλαγές (όπως προσθήκη, διαγραφή ή αναδιάταξη σταδίων διεργασίας και ενότητες λογισμικού και υλικού) στις συγκεκριμένες πραγματοποιήσεις που παρουσιάζονται και που περιγράφονται εδώ. Οποιεσδήποτε τέτοιες τροποποιήσεις ή παραλλαγές που εμπίπτουν στο πεδίο εφαρμογής αυτής της περιγραφής προορίζονται επίσης να συμπεριληφθούν σε αυτήν. Εκτός εάν σημειώνεται συγκεκριμένα, πρόθεση του εφευρέτη είναι οι λέξεις και οι φράσεις στην προδιαγραφή και τις αξιώσεις να λάβουν τη συνηθισμένη σημασία που δίνουν άτομα με συνήθη εμπειρία στην εφαρμοστέα τέχνη. Various embodiments of the invention are described above in the Detailed Description. While these descriptions directly describe the above embodiments, it is understood that those skilled in the art may conceive of modifications and/or variations (such as adding, deleting, or rearranging process steps and software and hardware modules) to the specific embodiments shown and described herein. Any such modifications or variations falling within the scope of this specification are also intended to be incorporated herein. Unless otherwise specifically noted, it is the inventor's intention that the words and phrases in the specification and claims be given the ordinary meaning given by persons of ordinary skill in the applicable art.
Η προηγούμενη περιγραφή μιας προτιμώμενης υλοποίησης και του καλύτερου τρόπου της εφεύρεσης που είναι γνωστός στον αιτούντα αυτή τη στιγμή της κατάθεσης της αίτησης έχει παρουσιαστεί και προορίζεται για σκοπούς απεικόνισης και περιγραφής. Δεν προορίζεται να είναι εξαντλητικό ή να περιορίσει την εφεύρεση στην ακριβή μορφή που αποκαλύπτεται και πολλές τροποποιήσεις και παραλλαγές είναι δυνατές υπό το φως των παραπάνω διδασκαλιών. Η ενσωμάτωση επιλέχθηκε και περιεγράφηκε για να εξηγηθούν καλύτερα οι αρχές της εφεύρεσης και η πρακτική εφαρμογή της και να δοθεί η δυνατότητα σε άλλους έμπειρους στην τέχνη να χρησιμοποιήσουν καλύτερα την εφεύρεση σε διάφορες πραγματοποιήσεις και με διάφορες τροποποιήσεις που είναι κατάλληλες για τη συγκεκριμένη χρήση που εξετάζεται. Επομένως, επιδιώκεται η εφεύρεση να μην περιορίζεται στις συγκεκριμένες υλοποιήσεις που αποκαλύπτονται για την πραγματοποίηση αυτής της εφεύρεσης, αλλά ότι η εφεύρεση θα περιλαμβάνει όλες τις υλοποιήσεις που εμπίπτουν στο πλαίσιο των συνημμένων αξιώσεων. The foregoing description of a preferred embodiment and best mode of the invention known to the applicant at the time of filing has been presented and is for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed and many modifications and variations are possible in light of the above teachings. The embodiment has been selected and described to better explain the principles of the invention and its practical application and to enable others skilled in the art to make better use of the invention in various embodiments and with various modifications suitable for the particular use contemplated. Therefore, it is intended that the invention not be limited to the specific embodiments disclosed for carrying out this invention, but that the invention shall include all embodiments falling within the scope of the appended claims.
Οι έμπειροι στην τέχνη θα καταλάβουν ότι τα σήματα μπορούν να αναπαρασταθούν χρησιμοποιώντας οποιαδήποτε από μια ποικιλία διαφορετικών τεχνικών. Για παράδειγμα, δεδομένα, λογισμικό, οδηγίες, σήματα που μπορούν να αναφέρονται σε όλη την παραπάνω περιγραφή μπορεί να αντιπροσωπεύονται από τάσεις, ρεύματα, ηλεκτρομαγνητικά κύματα, μαγνητικά πεδία ή σωματίδια, φως ή οποιονδήποτε συνδυασμό αυτών. Those skilled in the art will understand that marks can be represented using any of a variety of different techniques. For example, data, software, instructions, signals that may be referred to throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, light, or any combination thereof.
Οι ειδικοί θα εκτιμούσαν περαιτέρω ότι τα διάφορα επεξηγηματικά μπλοκ κυκλωμάτων ραδιοσυχνοτήτων ή αναλογικών κυκλωμάτων που περιγράφονται σε σχέση με την αποκάλυψη στο παρόν μπορούν να υλοποιηθούν σε μια ποικιλία διαφορετικών τοπολογιών κυκλωμάτων, σε ένα ή περισσότερα ολοκληρωμένα κυκλώματα, χωριστά ή σε συνδυασμό με λογικά κυκλώματα και συστήματα ενώ εκτελούν τις ίδιες λειτουργίες που περιγράφονται στην παρούσα αποκάλυψη. Those skilled in the art would further appreciate that the various illustrative RF or analog circuit blocks described in connection with the disclosure herein may be implemented in a variety of different circuit topologies, in one or more integrated circuits, separately or in combination with logic circuits and systems. while performing the same functions described in the present disclosure.
Οι ειδικοί θα εκτιμούσαν επίσης ότι τα διάφορα επεξηγηματικά λογικά μπλοκ, μονάδες, κυκλώματα και βήματα αλγορίθμου που περιγράφονται σε σχέση με την αποκάλυψη εδώ μπορούν να υλοποιηθούν ως ηλεκτρονικό υλικό, λογισμικό υπολογιστή ή συνδυασμοί και των δύο. Για να επεξηγηθεί με σαφήνεια αυτή η εναλλαξιμότητα υλικού και λογισμικού, διάφορα επεξηγηματικά στοιχεία, μπλοκ, μονάδες, κυκλώματα και βήματα έχουν περιγράφει παραπάνω γενικά ως προς τη λειτουργικότητά τους. Το εάν αυτή η λειτουργικότητα υλοποιείται ως υλικό ή λογισμικό εξαρτάται από τους συγκεκριμένους περιορισμούς εφαρμογής και σχεδιασμού που επιβάλλονται στο συνολικό σύστημα. Οι ειδικευμένοι στην τέχνη μπορούν να εφαρμόσουν την περιγραφόμενη λειτουργικότητα με διαφορετικούς τρόπους για κάθε συγκεκριμένη εφαρμογή, αλλά τέτοιες αποφάσεις εφαρμογής δεν θα πρέπει να ερμηνεύονται ότι προκαλούν απόκλιση από το πεδίο εφαρμογής της παρούσας γνωστοποίησης. Those skilled in the art would also appreciate that the various illustrative logic blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this hardware and software interchangeability, various illustrative elements, blocks, modules, circuits and steps have been described above generally in terms of their functionality. Whether this functionality is implemented as hardware or software depends on the specific implementation and design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in different ways for each particular application, but such implementation decisions should not be construed to cause a departure from the scope of this disclosure.
Τα διάφορα επεξηγηματικά λογικά μπλοκ, μονάδες και κυκλώματα που περιγράφονται σε σχέση με την αποκάλυψη στο παρόν μπορούν να υλοποιηθούν ή να εκτελεστούν με έναν επεξεργαστή γενικής χρήσης, έναν επεξεργαστή ψηφιακού σήματος (DSP), ένα ολοκληρωμένο κύκλωμα ειδικής εφαρμογής (ASIC), μία συστοιχία προγραμματιζόμενης πύλης πεδίου (FPGA) ή άλλη προγραμματιζόμενη λογική συσκευή, διακριτή λογική πύλη ή τρανζίστορ, διακριτά εξαρτήματα υλικού ή οποιοσδήποτε συνδυασμός τους που έχει σχεδιαστεί για να εκτελεί τις λειτουργίες που περιγράφονται εδώ. Ένας επεξεργαστής γενικής χρήσης μπορεί να είναι ένας μικροεπεξεργαστής, αλλά εναλλακτικά, ο επεξεργαστής μπορεί να είναι οποιοσδήποτε συμβατικός επεξεργαστής, ελεγκτής, μικροελεγκτής ή μηχάνημα κατάστασης. Ένας επεξεργαστής μπορεί επίσης να υλοποιηθεί ως συνδυασμός υπολογιστικών συσκευών, π.χ. ένας συνδυασμός ενός DSP και ενός μικροεπεξεργαστή, ενός πλήθους μικροεπεξεργαστών, ενός ή περισσότερων μικροεπεξεργαστών σε συνδυασμό με έναν πυρήνα DSP ή οποιαδήποτε άλλη τέτοια διαμόρφωση. The various illustrative logic blocks, modules, and circuits described in connection with the disclosure herein may be implemented or executed with a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a programmable logic array field gate array (FPGA) or other programmable logic device, discrete logic gate or transistor, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor can be a microprocessor, but alternatively, the processor can be any conventional processor, controller, microcontroller, or state machine. A processor can also be implemented as a combination of computing devices, e.g. a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration.
Σε ένα ή περισσότερα παραδείγματα υλοποίησης, οι λειτουργίες που περιγράφονται μπορούν να υλοποιηθούν σε υλικό, λογισμικό, υλικολογισμικό ή οποιονδήποτε συνδυασμό αυτών. Εάν υλοποιούνται σε λογισμικό, οι λειτουργίες μπορούν να αποθηκευτούν ή να μεταδοθούν ως μία ή περισσότερες οδηγίες ή κώδικας σε ένα αναγνώσιμο μέσο από υπολογιστή. Τα αναγνώσιμα από υπολογιστή μέσα περιλαμβάνουν τόσο μέσα αποθήκευσης υπολογιστή όσο και μέσα επικοινωνίας, συμπεριλαμβανομένων οποιουδήποτε μέσου που διευκολύνει τη μεταφορά ενός προγράμματος υπολογιστή από το ένα μέρος στο άλλο. Ένα μέσο αποθήκευσης μπορεί να είναι οποιοδήποτε διαθέσιμο μέσο το οποίο μπορεί να προσπελάσει ένας υπολογιστής. Ως παράδειγμα, και όχι περιοριστικά, αυτά τα αναγνώσιμα από υπολογιστή μέσα μπορούν να περιλαμβάνουν RAM, ROM, EEPROM, CD-ROM ή άλλο χώρο αποθήκευσης οπτικού δίσκου, αποθήκευση μαγνητικού δίσκου ή άλλες μαγνητικές συσκευές αποθήκευσης ή οποιοδήποτε άλλο μέσο που μπορεί να χρησιμοποιηθεί για τη μεταφορά ή αποθήκευση του επιθυμητού κώδικα προγράμματος με τη μορφή οδηγιών ή δομών δεδομένων και στον οποίο μπορεί να έχει πρόσβαση από υπολογιστή ή οποιαδήποτε άλλη συσκευή ή συσκευή που λειτουργεί ως υπολογιστής. Επίσης, οποιαδήποτε σύνδεση ονομάζεται σωστά μέσο αναγνώσιμο από υπολογιστή. Για παράδειγμα, εάν το λογισμικό μεταδίδεται από ιστότοπο, διακομιστή ή άλλη απομακρυσμένη πηγή χρησιμοποιώντας ομοαξονικό καλώδιο, καλώδιο οπτικών ινών, συνεστραμμένο ζεύγος, ψηφιακή γραμμή συνδρομητών (DSL) ή ασύρματες τεχνολογίες όπως υπέρυθρες, ραδιόφωνο και μικροκύματα, τότε το ομοαξονικό καλώδιο, το καλώδιο οπτικών ινών, το συνεστραμμένο ζεύγος, το DSL ή οι ασύρματες τεχνολογίες όπως οι υπέρυθρες, το ραδιοσήματα και τα μικροκύματα περιλαμβάνονται στον ορισμό του μέσου. Ο δίσκος, όπως χρησιμοποιείται εδώ, περιλαμβάνει συμπαγή δίσκο (CD), δίσκο λέιζερ, οπτικό δίσκο, ψηφιακό ευέλικτο δίσκο (DVD), δισκέτα και δίσκο blu-ray όπου οι δίσκοι συνήθως αναπαράγουν δεδομένα μαγνητικά ή οπτικά με λέιζερ. Οι συνδυασμοί των παραπάνω θα πρέπει επίσης να περιλαμβάνονται στο πεδίο των αναγνώσιμων μέσων από υπολογιστή. In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media, including any media that facilitates the transfer of a computer program from one place to another. A storage medium can be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carrying or storing the desired program code in the form of instructions or data structures and which can be accessed by a computer or any other device or device acting as a computer. Also, any connection is properly called computer-readable media. For example, if the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable fiber, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital flexible disc (DVD), floppy disk, and blu-ray disc where the discs typically reproduce data magnetically or laser optically. Combinations of the above should also be included in the field of computer readable media.
Ένα υποδειγματικό μέσο αποθήκευσης συνδέεται με τον επεξεργαστή έτσι ώστε ο επεξεργαστής να μπορεί να διαβάζει πληροφορίες από και να γράφει πληροφορίες στο μέσο αποθήκευσης. Εναλλακτικά, το μέσο αποθήκευσης μπορεί να είναι ενσωματωμένο στον επεξεργαστή. Ο επεξεργαστής και το μέσο αποθήκευσης ενδέχεται να βρίσκονται σε ένα ASIC. To ASIC μπορεί να βρίσκεται σε τερματικό χρήστη. Εναλλακτικά, ο επεξεργαστής και το μέσο αποθήκευσης μπορεί να βρίσκονται ως διακριτά στοιχεία σε ένα τερματικό χρήστη. An exemplary storage medium is connected to the processor such that the processor can read information from and write information to the storage medium. Alternatively, the storage medium may be integrated into the processor. The processor and storage medium may reside in an ASIC. The ASIC may reside in a user terminal. Alternatively, the processor and storage medium may reside as separate components in a user terminal.
Η προηγούμενη περιγραφή των αποκαλυπτόμενων παραδειγματικών εφαρμογών παρέχεται για να επιτρέψει σε οποιονδήποτε έμπειρο στην τέχνη να κατασκευάσει ή να χρησιμοποιήσει την παρούσα εφεύρεση. Διάφορες τροποποιήσεις σε αυτά τα παραδείγματα υλοποίησης θα είναι εύκολα προφανή στους έμπειρους της τέχνης και οι γενικές αρχές που ορίζονται εδώ μπορούν να εφαρμοστούν σε άλλες υλοποιήσεις χωρίς να απομακρυνόμαστε από το πνεύμα ή το πλαίσιο της εφεύρεσης. Έτσι, η παρούσα εφεύρεση δεν προορίζεται να περιοριστεί στις υλοποιήσεις που παρουσιάζονται εδώ, αλλά πρέπει να της αποδοθεί το ευρύτερο πεδίο σύμφωνο με τις αρχές και τα νέα χαρακτηριστικά που αποκαλύπτονται εδώ. The foregoing description of the disclosed exemplary embodiments is provided to enable anyone skilled in the art to make or use the present invention. Various modifications to these exemplary embodiments will be readily apparent to those skilled in the art, and the general principles set forth herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments set forth herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (19)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GR20220100928A GR1010585B (en) | 2022-11-10 | 2022-11-10 | Web crawling and content summarization |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GR20220100928A GR1010585B (en) | 2022-11-10 | 2022-11-10 | Web crawling and content summarization |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| GR1010585B true GR1010585B (en) | 2023-12-12 |
Family
ID=85979634
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| GR20220100928A GR1010585B (en) | 2022-11-10 | 2022-11-10 | Web crawling and content summarization |
Country Status (1)
| Country | Link |
|---|---|
| GR (1) | GR1010585B (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080059486A1 (en) * | 2006-08-24 | 2008-03-06 | Derek Edwin Pappas | Intelligent data search engine |
| WO2018214964A1 (en) * | 2017-05-26 | 2018-11-29 | 北京金山办公软件股份有限公司 | Uniform resource locator display method, information expression method and related product |
| WO2019085355A1 (en) * | 2017-11-01 | 2019-05-09 | 平安科技(深圳)有限公司 | Public sentiment clustering analysis method for internet news, application server, and computer-readable storage medium |
| WO2019174613A1 (en) * | 2018-03-14 | 2019-09-19 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for cloud computing |
-
2022
- 2022-11-10 GR GR20220100928A patent/GR1010585B/en active IP Right Grant
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080059486A1 (en) * | 2006-08-24 | 2008-03-06 | Derek Edwin Pappas | Intelligent data search engine |
| WO2018214964A1 (en) * | 2017-05-26 | 2018-11-29 | 北京金山办公软件股份有限公司 | Uniform resource locator display method, information expression method and related product |
| WO2019085355A1 (en) * | 2017-11-01 | 2019-05-09 | 平安科技(深圳)有限公司 | Public sentiment clustering analysis method for internet news, application server, and computer-readable storage medium |
| WO2019174613A1 (en) * | 2018-03-14 | 2019-09-19 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for cloud computing |
Non-Patent Citations (1)
| Title |
|---|
| NILESH DALVI ET AL: "Automatic wrappers for large scale web extraction", PROCEEDINGS OF THE VLDB ENDOWMENT, vol. 4, no. 4, 29 August 2011 (2011-08-29), pages 219 - 230, XP055191972, ISSN: 2150-8097, DOI: 10.14778/1938545.1938547 * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11714602B2 (en) | Methods and systems for identifying a level of similarity between a plurality of data representations | |
| US20220284234A1 (en) | Systems and methods for identifying semantically and visually related content | |
| US10261954B2 (en) | Optimizing search result snippet selection | |
| US11106718B2 (en) | Content moderation system and indication of reliability of documents | |
| EP4248334B1 (en) | Methods and systems for reuse of data item fingerprints in generation of semantic maps | |
| US20180276304A1 (en) | Advanced computer implementation for crawling and/or detecting related electronically catalogued data using improved metadata processing | |
| Sivakumar | Effectual web content mining using noise removal from web pages | |
| Bauer et al. | Where are the values? a systematic literature review on news recommender systems | |
| US20250363142A1 (en) | Method and System for Optimizing Use of Retrieval Augmented Generation Pipelines in Generative Artificial Intelligence Applications | |
| Kumar | World towards advance web mining: A review | |
| CN114282097A (en) | Information identification method and device | |
| Makhabel et al. | R: Mining spatial, text, web, and social media data | |
| US12105761B2 (en) | System and method for web crawling and content summarization | |
| Panda et al. | A deep learning framework for clickbait spoiler generation and type identification | |
| US9323721B1 (en) | Quotation identification | |
| US11120204B2 (en) | Comment-based article augmentation | |
| GR1010585B (en) | Web crawling and content summarization | |
| CN114254081B (en) | Enterprise big data search system, method and electronic equipment | |
| Nair et al. | Mastering Apache Solr 7. x: An expert guide to advancing, optimizing, and scaling your enterprise search | |
| Zhang et al. | Collective intelligence-based web page search: Combining folksonomy and link-based ranking strategy | |
| CN119357503A (en) | Standard website information management method and device, electronic device, and readable storage medium | |
| CN117669558A (en) | Network information monitoring method and device, electronic equipment and storage medium | |
| Scale et al. | Getting Structured Data from the Internet | |
| Sharma | Chart Retrieval for Arguments | |
| Patra | Detecting points of view from news articles |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PG | Patent granted |
Effective date: 20240110 |