Dynamic content optimization system and associated methods

Embodiments of the present invention are related to a dynamic content optimization system including a collection engine, a news server, an optimization engine including a filter engine and a markup engine, an intake module, a client setup engine, a client website with an optimized content display module, and an administrative override. The system includes a learning track and an autonomous track and is configured to create the client website using data gathered from the collection engine. The collection engine is structured to gather outside content for storage within the news server and forward it to the optimization engine. The optimization engine is operable to retrieve content from the news server, preprocess the content for comparison against previously rejected data, compare the content for rejection, markup non-rejected content and forward the marked up non-rejected content to the content display module for display on the client website.

FIELD OF THE INVENTION

The present invention relates to systems and methods for dynamically selecting and optimizing end user content. In particular, the present invention relates to a dynamic content optimization system and associated methods for display on a user's website.

BACKGROUND

Maintaining current, relevant content on a webpage engages visitors and facilitates optimum placement of that webpage in search result listings. However, manually maintaining such content with proper html markup and optimization is not a practical reality for most businesses. Furthermore, ensuring the content meets company quality control and relevance standards adds an additional layer of impracticality for a busy modern business.

There exists a need in the art for a system that dynamically creates a website then maintains the website with current news articles that are relevant in both their scope and geographic relation to the business owner. Furthermore, there exists a need in the art for this process to be automated with proper protocol markup and content monitoring. Therefore, there exists a need in the art for a Dynamic Content Optimization System and Associated Methods.

SUMMARY OF THE INVENTION

Embodiments of the present invention are related to a dynamic content optimization system including a collection engine, a news server, an optimization engine with a filter engine and a markup engine, an intake module, a client setup engine, a client website including an optimized content display module, and an administrative override. The system includes a learning track and an autonomous track and is configured to create the client website using data gathered from the collection engine. The collection engine is structured to gather outside content for storage within the news server and forward it to the optimization engine. The optimization engine is configured to retrieve content from the news server, preprocess the content for comparison against previously rejected data, compare the content for rejection, markup non-rejected content and forward the marked up non-rejected content to the content display module for display on the client website.

In this embodiment they system may be structured to receive user supplied input comprising keyword modifiers and model articles, scan user supplied articles for recurring keywords, compare user supplied input and article keywords with keyword modifiers to obtain comparison keywords, scan and compare comparison keywords to article text, obtain a pre-established threshold number of articles for comparison, and forward articles to the markup engine if the pre-established threshold number of articles has been realized.

Furthermore, the filter engine may be structured to autonomously broaden the search criteria and rescan user supplied articles for recurring keywords if the pre-established number of articles has not been realized from a first iteration. Additionally, the client setup engine may be structured to obtain client identification information, obtain keyword modifiers for storage within the system, obtain model articles for storage within the system, and establish a client dashboard.

The markup engine may be structured to receive selected articles, scan received articles for obtained keywords and apply tag meta data to them, scan received articles for external links and apply “no follow” tags, place an article summary on the client dashboard and post a marked-up article on the client website.

Furthermore, the system may be operable to compare potential new articles against an archive of rejected articles and structured to store rejected articles for comparison against potential new articles. The system may be structured to determine, by a pre-established threshold, that potential new articles are dissimilar to rejected articles, accept and post the dissimilar new articles on the client website.

Additionally, the client website may include a title section with specific locale of the client as determined from the client intake engine and setup engine; and wherein the system is configured to post new articles to the client website related to the title section.

In other embodiments, the dynamic content optimization system may include a collection engine, an optimization engine with a filter engine including, a text preprocessor and a transformation engine, a markup engine, an intake module, a client setup engine, a client website with an optimized content display module, and an administrative override. The system may include a learning track and an autonomous track and may be structured to create the client website using data gathered from the collection engine. It may be structured to gather outside content for storage within the news server and the text preprocessor may be operable to remove metadata, remove pre-established valueless words, remove punctuation, remove urls, reduce text to root words, and format article text for later processing. The transformation engine may be structured to transform text from the text preprocessor into a system recognizable format and the optimization engine may be structured to retrieve content from the news server, preprocess the content for comparison against previously rejected data, compare the content for rejection, markup non-rejected content and forward the marked up non-rejected content to the content display module for display on the client website.

In this embodiment, the system may be structured to generate the recognizable format by using at least one of one-hot encoding, count vectors, and word embeddings. The transformation engine may be structured to tokenize article text that has been preprocessed by way of vocabulary lookup and feature hashing before converting the tokenized text to a system recognizable format. The learning track may include a preprocess segment, a feature extraction segment, a training segment and a testing segment operable to prequalify articles before displaying them on a client website.

This embodiment may further include the filter engine with a testing module. that may be structured configured to split text data into an x-validation variable signifying acceptable content and a y-validation variable signifying unacceptable content. Furthermore, the x-validation variable text data may be transformed into numerical input for testing. The testing module may be operable to find a vector for each text in the x-validation variable, map the vector and compare it against a threshold to determine a prediction accuracy. Furthermore, the system may be structured to store x-validation variable data for comparison against potential new articles if the x-validation variable data is considered unacceptable. It may further be structured to post potential new articles to the client website if they do not align with the x-validation variable data to a degree within a predetermined threshold.

Additionally, the administrative override may include a manual entry text field configured to allow an administrator to enter article information for system training. The administrative override may include a prediction button configured to manually prompt the system to predict whether the entered text is acceptable. Furthermore, the manual override may be structured to store unacceptable text for comparison against potential new articles.

Another embodiment of the invention may include a collection engine, an optimization engine with a filter engine including a text preprocessor and a transformation engine, a markup engine, an intake module, a client setup engine, a client website comprising an optimized content display module, and an administrative override. It may include a learning track and an autonomous track, and may be structured to create the client website using data gathered from the collection engine. The collection engine may be structured to gather outside content for storage within the news server and the text preprocessor may be structured to remove metadata, remove pre-established valueless words, remove punctuation, remove urls, reduce text to root words, and format article text for later processing. The transformation engine may be structured to transform text from the text preprocessor into a system recognizable format utilizing at least one of word embeddings, count vectors, and one-hot encoding. The optimization engine may be operable to retrieve content from the news server, preprocess the content for comparison against previously rejected data, compare the content for rejection, markup non-rejected content and forward the marked up non-rejected content to the content display module for display on the client website.

In this embodiment, the system may be operable to tag unapproved articles based on article content and store them for comparison against potential new articles. The system may be structured to use article tags as keyword modifiers for comparison against potential new articles to determine the acceptability of the potential new articles for posting on the client website. Furthermore, the client website may include a title section with a geographic location of the client as determined from the client intake engine and setup engine. Additionally, the system may be operable to post articles on the client website related to the geographic location listed in the title section.

DETAILED DESCRIPTION OF THE INVENTION

The present invention will now be described in detail with reference to the accompanying drawings. The embodiment descriptions are illustrative and not intended to be limiting in any way. Other embodiments of the invention will readily suggest themselves to persons with ordinary skill in the art after having the benefit of this disclosure. Accordingly, the following embodiments are set forth without any loss of generality and without imposing limitation upon the claimed invention.

Directional terms such as “above” “below” “upper” “lower” and other like terms are used for the convenience of the reader in reference to the drawings. Additionally, the description may contain terminology to convey position, orientation, and direction without departing from the principles of the present invention. Such positional language should be taken in context of the represented drawings.

Quantitative terms such as “generally” “substantially” “mostly” and other like terms are used to mean that the referred object, characteristic, or quality constitutes a majority of the referenced subject. Likewise, use of the terms such as first and second do not necessarily designate a limitation of quantity. Such terms may be used as a method of describing the presence of at least one of the referenced elements or may provide a means of differentiating orientation. The meaning of any term within this description is dependent upon the context within which it is used, and the meaning may be expressly modified.

As will be further described herein, the dynamic content optimization system and associated methods, hereinafter the system100, may be an automated application for developing a website landing page. By way of non-limiting example, this may include having the system100maintain a local area webpage, a product webpage, a real estate listing webpage, or the like. The system100is operable to autonomously maintain the webpage with current and relevant content posted in real time.

FIG.1illustrates an overview of the system100. As shown, an embodiment of the system100may include a client intake module101feeding into a client setup engine102. The client setup engine102may then initialize the client dashboard103and ultimately establish a client website104.

The client dashboard103may be a client command center for the client to maintain control of posted content on the client website104and may serve as a base for autonomous learning of the system100. By way of non-limiting example, the client dashboard103may include profile and intake information gathered from the intake module101, summaries of content currently being posted, summaries of content previously posted, as well as design control of the client website104including formatting control of content and images. The client dashboard103may also include a manual client override111for automatically posted content so that the client may maintain control of all of the content that is ultimately displayed on the client website104. In some embodiments, the client via the client override111may reject articles that have been incorrectly approved by the system100. Likewise, the client may approve articles that have been incorrectly rejected by the system100. The system100may learn from manual overrides provided by the client and may post to the client website104more client tailored content as a result.

As further shown byFIG.1, the system100may include two tracks to facilitate what content is posted on the client website104. There may be a learning track105aand an autonomous track105b. Both tracks105a,105bmay begin with a collection engine106that may scour and select outside news articles to be processed and used by the system100. The collection engine106may apply Boolean operator selection criteria to information gained from the client intake module101to narrow the outside articles that are initially selected and chosen to be integrated into the system100. By way of non-limiting example, the Boolean operator selection criteria may include a selector such as (specific genre AND specific geographic location NOT specific subject). This may bring resulting articles relevant to a particular business within a region that does not attach to a particular subject matter. Other criteria may be applied to the selection criteria such as article word count.

Once articles have been chosen by the collection engine106, they may be stored on the news server107. The news server107may be a library of articles that have passed through the initial stage of selection that are maintained by the system100for quick retrieval. In some embodiments, the news server107may apply storage criteria to articles including a weighting algorithm applied against a client database to see that the stored articles are still relevant to the current clients using the system100. Furthermore, in some embodiments, each article may be given a numeric assignment based on relevance and use within the system. By way of non-limiting example, an article that is more than 3 months old that does not describe a business genre matching a client within the current client list may be given a “2” on the system100. However, an article that is one day old matching several client business genres may be given a “9” on the system. The system100may conduct periodic automated internal audits to purge articles from the news server107that fall below a predetermined numeric threshold. Other embodiments may include archiving rejected articles for storage within the news server107for retrieval and comparison. In some embodiments this may include tagging articles with keyword identifier tags to be compared against keyword identifier tags of potential new articles. Potential new articles for posting may be compared against rejected articles to determine their kinship with those rejected articles. Articles that bear a strong kinship with rejected articles may be filtered and archived for later comparison, but not posted. Articles that are dissimilar to the rejected articles may be considered relevant articles and passed on to be posted by the system100. Kinship may be recognized by the system100from a pre-established threshold. By way of non-limiting example, if the potential new article bears a 50% kinship with a rejected article as shown by a comparison of keywords and tags, then then new article may be rejected and stored in the system100as such.

Continuing with the learning track105a, the articles stored within the news server107may be selected by the optimizing engine108for processing and ultimately for display on the client website104. The optimizing engine108may include a filter engine109and a markup engine110. While the client is still new and the system100is learning client's business and ideal optimization patterns, the optimizing engine108may send potential articles that have been processed to the client dashboard103for client approval before posting. In other embodiments, the system100may automatically post processed articles, but send a notice to the client dashboard103for continued approval.

Once the system100has completed several iterations through the learning track105a, it may transition the client account to the autonomous track105b. In some embodiments, the transition may require a threshold number of articles to be approved by the client and selected for display. In other embodiments, the transition may require a predetermined period of time, for example two months before transitioning to the autonomous track105b. In any embodiment, the objective of the system100is to reach a point where articles are automatically selected and posted to the client website104without human intervention. At that point, the transition has been based on reliable and reinforced past performance.

In any embodiment, the system100may include an administrative override112to ensure that posted content on the client website104is appropriate and relevant. Furthermore, the administrative override112may assist with the learning track105bto facilitate properly applied selection criteria and posted articles. The combination of client override111and administrative override112may ensure that the posted content to the client website104is accurate, to the client's satisfaction, and suitable for its purpose.

FIG.2takes a closer look at how the client setup engine102processes information received from the client intake module101. The intake module101may request information from a client to begin initializing the system100. By way of non-limiting example, client intake information may include name and contact information, tax identification number, social media information and links, reviews, logos, credit card information, cities served, product and service information, and other personal and business identification type data. In addition to this information, the client intake module101may request a certain type of information defined as base data information101a. By way of non-limiting example, base data information101amay include articles that a client finds relevant to their industry, defined as base articles, as well as keywords that a client finds relevant to their industry, defined as base keywords. The base articles may include those found on social media sites, news articles from local media stations, and the like. The base articles may be hand-selected by the client to assist with initializing the system100to the client's industry and individual business. Combined with the base keywords chosen by the client, the system100may begin orienting itself to the client's needs, preferences, and business particulars.

As shown inFIG.2, the client setup engine102may obtain from the client intake module101client identification information201, obtain keyword modifiers for storage within the system202, as well as obtain model articles for storage within the system203. The data obtained from blocks201-203may be considered the base data information101aused by the system100to establish the client dashboard103, initialize autonomous learning, and create the client website104.

FIG.3demonstrates more details of the filter engine109found within the optimizing engine108. The filter engine109may receive input from the client dashboard301including the base data101awith the base keywords and base articles presented by the client. In some embodiments, the filter engine109may receive additional keyword modifiers and model articles from the administrative override111. Once the base data101ais received by the filter engine109, block302illustrates that the user supplied articles may be scanned for recurring keywords to orient the system100with subject matter, geography, genre, and the like related to the client. These scanned keywords may be compared with the keyword modifiers from the base data101aand potentially by the administrative override112to get a list of comparison keywords.

As shown by block303, the comparison keywords may be matched against keywords scanned and retrieved from articles stored in the news server107. In some embodiments, the comparison keywords may need to meet a threshold number of scanned keywords from the news server107articles. By way of non-limiting example, the news server107article may need to contain at least three comparison keywords to be selected as an article for display on the client website104. In some embodiments, the articles selected from the news server107may undergo additional Boolean operator selectors to ensure relevance. By way of non-limiting example, the Boolean operator selection criteria may include a selector such as (client business genre AND client geographic location NOT client competitors). This may bring articles from the news server107that are relevant to the client's business, within their specific geographic location, that are not about their competitors. Such selection criteria may ensure that a client is not inadvertently promoting or slandering their competitor's business.

In some embodiments, the filter engine109may compare previously accepted or rejected articles stored on the news server107that have been labeled accordingly to assist with predictive selection. By way of non-limiting example, rejected articles may be stored and cataloged for future comparison and accepted articles may be assigned language comparison tags such as a keyword tag, a city name tag, as well as other custom tags. Tags may prevent the need to create separate news feeds for each client since the articles on particular news feeds can be grouped and recalled using the tag system.

In some embodiments, the number of articles qualified for display may have to meet a predetermined amount. By way of non-limiting example, in order to be forwarded to the client website104for display, the filter engine109may require at least four articles from the news server107to be a match before forwarding them to the client website104. As shown by block304, if a predetermined number of articles are not found, for example no articles contain the required criteria and no articles have been chosen, the filter engine109may be sent back to the step shown in block302for another iteration with broader search criteria to rescan articles for recurring keywords to return a larger number of articles. As shown by block305, once a predetermined threshold of articles has been established, they may be forwarded to the markup engine110for processing.

FIG.4takes a closer look at the markup engine110. As shown by block401, the markup engine110may receive the selected articles from the filter engine109. Once received, the markup engine110may scan the received articles for obtained keywords and apply tag metadata,402. If the scanned articles contain external links, the markup engine110may apply appropriate tag metadata to disable those links such as “no follow” tags,403. Furthermore, the markup engine110may apply subject matter tags to the articles themselves to enable quick retrieval and reference for possible use with other clients. Additionally, the markup engine110may automatically attach appropriate schema markup tags to flagged keywords to enhance search optimization without client intervention. Once the markup engine110has completed the revisions to the articles, it may place summaries of the articles on the client dashboard104and may post them on the client website104.

By way of non-limiting example, a use case for the system100will now be described. One type scenario may involve a large car window tinting franchise. This company may have a location within a city that services all other cities within its respective county. In order to optimize this company's internet presence within that county, it may desire to have a webpage for each of the cities that the business services. Each city webpage of the business may include news articles about current events within that city on each respective city's webpage. Furthermore, the business may desire for the webpage to include news articles about styles of window tinting, damage from sun exposure, lifestyle articles about aftermarket accessories, and the like.

As previously mentioned, maintaining current and relevant content on a webpage facilitates optimum placement of that webpage in search result listings. However, manually maintaining such content with proper html markup and optimization is not a practical reality for most businesses. Furthermore, ensuring the content meets company quality control and relevance standards adds an additional layer of impracticality for a busy modern business. By way of non-limiting example, an article that mentions a window tint business in the context of a rival company business owner's contested divorce may include relevant keywords, but not meet quality control standards for republishing.

Embodiments of the present system100may ensure that automated and relevant content that meets quality control standards is autonomously and consistently fed through the system100and posted on the client's website104. By learning from the client override111, the administrative override112, and the learning track105a, the system100is able to provide reliable and consistent results. Furthermore, the comparison algorithm between language in rejected and accepted articles combined with the other features ensure a high level of accuracy for meeting client standards and needs.

Continuing by way of non-limiting example, if the system100rejected an article for including a competitor's name and divorce it would store and label the rejected article in the news server107as being rejected included tags such as “rejected” along with the competitor's name and “divorce”. A subsequent article that was being fed into the system100through the collection engine106and stored in the news server107would similarly be rejected. This is because the filter engine109may use the comparative tags from the previously rejected article including “rejected”, the competitor's name, and “divorce” against the same or similar keywords scanned and found in the new article. The new article would then be rejected as being similar to the previous article, labeled and stored in the news server107with the appropriate tags. That newly rejected article, like the previously rejected article, would then be retrievable for potential future use, approval through client override111, approval by administrative override112, or purge.

FIG.5illustrates an overview of the backend of the article selection process. In particular, the system100and more particularly the learning track105amay preprocess an article501before performing feature extraction502. Then, the system100may conduct training503based on the extracted results and may conduct testing504to refine the training. New articles may autonomously undergo these procedures before being posted to a client website autonomously.

FIG.6shows the innerworkings of a text preprocessor600that resides within the filter engine109. In particular, when an article is selected to be considered by the system100the article text may undergo a series of procedures to prepare it for consideration. This may be considered the preprocessing stage501illustrated inFIG.5.

Initially, a text HTML metadata remover601may remove all metadata elements including html elements from the text before passing it to the valueless word remover602. The valueless word remover602may consider which words don't add any importance to the article. This may also be considered “stop” words, or a list of words that have been predetermined to not add value to any article. These words may be removed to assist with a mathematical consideration of the article's value. For example, the word “a” may be removed since it does not provide any insight to the article and therefore is given very little, if any weight when considering an article's relevance. Next, the punctuation remover603may be called upon to remove any punctuation from the text. The URL remover604may remove URL elements from the text and the root word extractor605may strip base words down to their root word element. Therefore, tenses and alternate meanings may be removed to better assign a mathematical value to each considered word. The remaining text may be formatted606and stripped down to its simplest form for mathematical consideration by the system100.

FIG.7shows a transformation engine700that may be a part of the filter engine109. The transformation engine700may assist with converting the preprocessed text into values that are able to be mathematically evaluated for relevance. In other words, the transformation engine700may assist with transforming the text into a system recognizable format. As shown, once the text has been preprocessed701it may then be sent for tokenization702. Tokenization702is the splitting of a phrase, sentence, paragraph, or entire text document into smaller units for evaluation. Furthermore, the process of token id mapping703may prepare the text as inputs for evaluation. During token id mapping703, hashing may be used on the texts to mark the text with unique identifiers, or token IDs. Token IDs may be diversified depending on how they are used or needed within the system100. As a part of that process and as shown, the tokens703amay be used for vocabulary lookup703band feature hashing703cto obtain their identifiers. These identifiers may then be used as input for evaluation704. By way of non-limiting example, inputs704may include those obtained from one-hot encoding704a, count vectors (+Tf-idf)704band word embeddings704c.

FIGS.8A through8Cillustrate the several types of input the system100may utilize when evaluating text.FIG.8Ashows how the system may handle text using one-hot-encoding704a. By way of non-limiting example, a sentence such as “the cat sat on the mat” may be broken down into individual words within the sentence as well as unique words. Each word may be assigned a value according to its relevance within the article as well as its relevance to the needs of the system100. As shown, the words “the” and “on” are given a value of 0 in a vector block, or not relevant. “Sat”, “Cat, and “Mat” are given values of 1, or are considered relevant. Furthermore, in some embodiments, the system100may view the sentence as a hexadecimal value of 011001 and compare the hexadecimal value to a threshold value for relevance.

FIG.8Bshows how the system may handle text using TF-idf Vectorization704a. In this example, the sentence “the car is driven on the road/highway” is multiplied by a logarithmic algorithm to assign a value to each word. In this particular example, the words “the” “is” “driven” and “on” are given values of 0, or no value. The words “car” “road” and “highway” are given values of 0.3. The values can be totaled and compared against a threshold value by the system100to determine the relevance and value of the sentence.

FIG.8Cillustrates another means by which the system100may handle text in order to evaluate its value based on the number of times a particular word appears in the text. Those numbers are then placed into a matrix to be compared to a threshold established by the system100. In this particular example, the word “this” is used three times, “is” is used two times and “one” is used four times. The comparative matrix may look like [0, 2, 0, 0, 4, 0, 0, 3, 0].

FIG.9is another representation of how the system100may break down article text to determine the frequency of words used and their relevance to the purpose of the system100. In this example, the chart indicates how the system100may determine whether the article is an advertisement or a relevant article. For example, as shown, if the word “Sell” is appearing four times in an article, the selection algorithm may determine that the article is an advertisement. However, if the word “Sell” appears only once, then the algorithm may determine that the article is valid. The same holds true for words like “Toyota®”, and “Car”.

FIG.10explains the selection algorithm and testing module1000of the system100in more detail. As shown, the filter engine109may also include a testing module1000that may first split data into an X-Validation variable indicating it is a news article and thus acceptable content and a Y-Validation variable indicating it is a non-news article or advertisement and therefore unacceptable content,1001. Or, in some embodiments the system100may split the data into x_training=(x % news with ad/non ad marks), y_validation=(y %=(100%−x %) news with ad/non ad marks). Block1002indicates that one of the feature extraction methods may be used on the X-Validation variable only to transform the text into numerical input. Next, block1003indicates that the system may find the vector h=sigmoid(ΘTx) for each text in the x-validation variable. The system may then map the resulting vectors or functions to get the actual classes while comparing to a threshold,1004. This comparison is then used to determine a prediction accuracy,1005. Lastly, an article that has been determined to be newsworthy is placed on a user's webpage if a predetermined accuracy threshold has been reached,1006.

FIGS.11A-11Dillustrate how the system100may operate using the administrative override112outlined inFIG.1. As such,FIG.11Ashows that the system100may maintain a list of exclude words that may be supplemented or removed by an administrator. This list may be automatically generated by the system100, but may be maintained by an administrator. These words may be used as threshold comparative vocabulary to eliminate words and articles that prima facie don't have value to the system100.

FIG.11Bshows that during its normal course, the system100may intake an article as shown by the “news” column, extract the unique words, and predict whether it is an advertisement or not. The “Manual Ads” column may be used to override the system100that an administrator believes may have been improperly labeled as either an advertisement or non-advertisement.

FIGS.11C-11Dillustrate a segment of the system100that may intake data for training and prediction to determine if entered text and/or article is acceptable. As shown, a user may input the data into the large text field and determine whether the data is to be used for either training or prediction. A respective prediction button may be used to manually perform this feature instead of the system100performing it autonomously. In some embodiments, unacceptable text may be stored in the system100for comparison against potential new articles.

FIG.11Dshows that the system ran the text that was input into the text field and predicted that the article had greater than an 85% chance of being an advertisement. The system100may categorize an article as an advertisement, or non-news, if it has a threshold of 50% or greater. However, one skilled in the art will appreciate that the threshold may be greater or smaller depending on need, preference, and circumstance. In this embodiment, the results are shown as predicted and the advertisement possibility is displayed. Whether the article is categorized as excluded is also displayed along with the sanitized text. This article may be stored and used for comparison by the system100to determine if other articles should be excluded. As previously stated, potential new articles for posting may be compared against rejected articles to determine their kinship with those rejected articles. Articles that bear a strong kinship with rejected articles may be filtered and archived for later comparison, but not posted. Articles that are dissimilar to the rejected articles may be considered relevant articles and passed on to be posted by the system100.

FIG.12is a flowchart of backend functionality of the system100. Block1201A shows the system100starting with a dataset that has been autonomously chosen. A dataset may be obtained from the system100autonomously pulling an article1201A or one manually entered by an administrator1201B. The data may then be preprocessed1202A as previously described in order to strip the text into a workable medium. Once preprocessed, the extraction algorithm may be applied1203. The artificial model1204may then be created, or recreated1204depending on circumstance and the model may be stored as a file1205. The model may be stored as the brain to assist with making the decision as to whether a chosen article is an advertisement or not,1206. Then, the existing data may be updated with the new prediction in a system database and new data may be added to the database as well,1207. The database1208may keep this information for storage and reference. As shown, steps1203through1206may be repeated as necessary.

Further operational features of the system100may include the prediction analysis1209as previously described that may be checked against and used in conjunction with the list of excluded or stop words1210. The text may be preprocessed1202B the model loaded, and prediction made by model1212. This processes1209-1212may be repeated indefinitely to refine the system learning and strengthen future prediction accuracy.

Block1213illustrates the ability for the system100to provide manual input of words meant for automatic exclusion. These words and data may be applied into the database and tagged appropriately,1214. Lastly, the system100may post approved articles on a client's website1215.

FIG.13illustrates the architecture of a client website104,1300that may be generated by the system100. The client website104,1300may include a title section1301containing a page title with the specific locale of the client as determined from the client intake and setup engines101,102. Further included may be company information including details about the company in the company information section1302. Other sections generated by the system100may include services offered1303, a mission statement1304, and a map1305.

Also shown is the optimized content display module1306. This section displays the articles that have been retrieved by the optimization engine106from the news server107. These articles have been processed for comparison against previously rejected data in articles and have been found to be dissimilar to those previously rejected articles. As a result, they have been selected as relevant articles to be displayed on the client website104,1300. They have been given structured data mark-up with html and displayed within the optimized content display module1306. Of particular importance to note is that articles may be selected by their comparison and ultimate kinship to the title section. For example, articles with a subject matter that relate to the locale in the title section are given priority for posting. This may occur by the system100comparing tagged keyword modifiers or converted input against the locale denoted in the title section. Once they have been on display for a predetermined time period, they may be replaced with new articles that have undergone the same vetting and filtering process.