[{"data":1,"prerenderedAt":746},["ShallowReactive",2],{"blog-en-document-recognizer-to-modernize-information-processing":3,"related-en-document-recognizer-to-modernize-information-processing":362},{"id":4,"title":5,"author":6,"body":7,"category":345,"description":346,"extension":347,"image":348,"isToc":349,"langAlt":6,"meta":350,"metaDescription":6,"navigation":351,"path":352,"published":351,"publishedAt":353,"readingTimeMinutes":354,"readingTimeText":355,"relatedArticles":356,"seo":358,"stem":359,"teaser":360,"updatedAtCustom":6,"__hash__":361},"blog_en\u002Fen\u002Fblog\u002Fdocument-recognizer-to-modernize-information-processing.md","Document Recognizer to modernize information processing",null,{"type":8,"value":9,"toc":327},"minimark",[10,22,27,32,43,47,50,53,56,72,76,79,82,86,93,96,103,107,114,121,131,135,139,146,167,170,176,179,182,190,194,197,201,211,218,222,225,240,246,249,276,279,283,286,292,303,314,318,321],[11,12,13,14,18,19],"p",{},"Documents, such as invoices, personal ID cards, or other standardized forms, contain important information that is essential for the company’s smooth operation and growth. Therefore, fast extraction is very convenient and, in most cases, provides a serious competitive advantage. Yet, it has been a big challenge for years as the questions of accuracy, structure, and of the entire process infrastructure itself were not sufficiently answered. We have implemented an innovative solution using the ",[15,16,17],"strong",{},"Microsoft Azure Form Recognizer",", an automated machine learning solution for text recognition, and we want to share ",[15,20,21],{},"the exciting insights based on a proof-of-concept (POC) analysis.",[23,24,26],"h2",{"id":25},"invoice-processing-case","Invoice processing case",[28,29,31],"h3",{"id":30},"case-introduction","Case introduction",[11,33,34,35,38,39,42],{},"An office equipment producer offers benefits to its clients based on the amount and types of products that they have purchased (office chairs and desks for example). The sales pipeline is indirect, the equipment is sold by various resellers, and the end clients must provide the invoices directly to the producer as proof of their purchases - in this case after the registration into the loyalty program. Thus, the producer receives hundreds of invoices that need to be processed to determine the benefits for each client. Processing all of the invoices manually is overwhelmingly ",[15,36,37],{},"time-consuming"," and ",[15,40,41],{},"prone to error."," The invoices often need to be checked more than once, thus further increasing the already high costs of labor. In this case, the benefit calculation is done twice a year, and the producer spends on average about 14 work-days just processing the invoices, and sometimes hiring extra help that is only for this purpose. To explain the process further, the invoices are sent in paper form via post, or are scanned and sent via email.",[28,44,46],{"id":45},"standard-process","Standard process",[11,48,49],{},"Reforming established methods and habits is not easy, yet it can, in a way, revolutionize daily tasks that bring in positive outcomes and improve processes. In this case, handling the invoices for the benefits happened as follows:",[11,51,52],{},"Customers sent their invoices via email or mail to the producer before the set deadline.",[11,54,55],{},"Once the invoices were collected, an employee started processing them. Processing one invoice went as follow:",[57,58,59,63,66,69],"ol",{},[60,61,62],"li",{},"Open an invoice.",[60,64,65],{},"Copy or type the seller company name and ID, customer company name and ID, product names, quantity, and prices into an MS Excel file.",[60,67,68],{},"Check if all of the information is correct.",[60,70,71],{},"Mark the invoice as processed by saving it to the \"Done\" folder.",[28,73,75],{"id":74},"obstacles","Obstacles",[11,77,78],{},"The process takes 4-7 minutes per invoice, depending on the number of products. During the process the employees make mistakes, which prolongs the entire process.",[11,80,81],{},"Invoices contain diverse information that needs to be extracted, mainly to assign the invoice to the correct client, extract information about the seller, and find all of the products that the company has produced (an illustrative invoice with labeled details is provided below). There can be a varying number of products; some invoices even include several page-long lists. Moreover, different sellers use various accounting systems to create the invoices, resulting in many differences between the invoice styles and the locations where a certain piece of information may be found. Therefore, this case required a more detailed analysis of the possible approaches.",[28,83,85],{"id":84},"solution","Solution",[11,87,88,89,92],{},"We have created a custom solution for invoice processing that contains user and administration interfaces. The core of the solution is the ",[15,90,91],{},"Azure Form Recognizer."," The application selection process involved broad research and testing that led us to the optimal solution (read more about the technical part of the solution below).",[11,94,95],{},"In practice, the traditional technique was changed markedly for the people involved in the process. Now, the customers can register and upload the invoices via a user-friendly web application. The processors see all of the new invoices in the administration portal. When a new invoice is uploaded, the employee sees the tag \"New\" and is prompted to check it. However, now the role is different when the main task is to review and correct the information. Once they open the new invoice, they see the information automatically written in the necessary fields. Some fields may show a warning to double-check if the data was inserted correctly. It is easy to check as the original invoice is already uploaded and can be opened instantly.",[11,97,98],{},[99,100],"img",{"alt":101,"src":102,"title":101},"Document recognizer administration interface","\u002Fupload\u002Fdocument-recognizer-interface.webp",[28,104,106],{"id":105},"results","Results",[11,108,109,110,113],{},"With this approach we were not only able to ",[15,111,112],{},"speed up the processing, but also make it easy, simple and clear for both the administrators and the customers",".",[11,115,116,117,120],{},"The average invoice processing time was between 4-7 minutes, and with the document recognizer, we were able to decrease it by half, down to ",[15,118,119],{},"2 minutes or less",". Even when a human check is still needed, it can substantially reduce the amount of time and resources needed, decrease human errors, and standardize the process, all at the same time.",[11,122,123,124,127,128,113],{},"Another advantage is the change to ",[15,125,126],{},"continuous activity",". Shifting from processing a large volume of documents twice-a-year to quick and easy processing, provides an opportunity to process continually, for example once a week or month. Now the customers can ",[15,129,130],{},"receive benefits all year-long",[132,133,134],"note",{},"\nWhen the number of such documents and forms is huge, investing into a custom solution that provides automated machine learning can cut the costs in half. The return on investment is usually around 1 or 2 years for hundreds of invoices processed yearly, while in the case of processing thousands of invoices, the investment returns within the first year. On top of that, it increases accuracy.\n",[23,136,138],{"id":137},"form-recognizer-overview","Form Recognizer overview",[11,140,141,142,145],{},"After evaluating the available options, we selected the ",[15,143,144],{},"Azure Form Recognizer",", which is part of Azure Cognitive Services. It is a service for information extraction from scanned documents. As it is relatively new on the market, Microsoft provides upgrades for the product often, increasing precision and broadening its applicability by introducing new features and approaches.",[11,147,148,149,155,156,161,162,113],{},"The Azure Form Recognizer offers several options to extract values from a document, based on a highly trained AI solution. These can be divided into pre-trained models, key-value pairs extraction, and custom models. The ",[15,150,151],{},[152,153,154],"em",{},"pre-trained models"," are highly effective, but only for the specific groups of documents they were trained on. While there is a prepared model for invoices, it is mostly trained on US data. Therefore, it is not applicable in our scenario due to significant differences in structure compared to the invoices from Central Europe. The ",[15,157,158],{},[152,159,160],{},"key-value extraction"," is best suited for extracting data from simple, well-structured office forms such as application forms. As such, we ended up with the choice that offered us the highest flexibility, the ",[15,163,164],{},[152,165,166],{},"custom models",[11,168,169],{},"Custom models allow us to train the AI solution based on existing invoices to form multiple models for different invoice issuers. They require a rich set of training data, detailed preparation, and thoroughness of marking the values needed on the training invoices. You can see the illustration of a labeled invoice in the Form Recognizer Labelling Tool (this tool needs to be used for the preparation of the training invoices and for marking the information that is required for extraction).",[11,171,172],{},[99,173],{"alt":174,"src":175,"title":174},"Invoice labeling in Form Recognizer","\u002Fupload\u002Fdocument-recognizer-invoice.webp",[11,177,178],{},"The outcome depends on the quality and variety of the included invoices for training the models and their labeling quality.",[11,180,181],{},"Extracted values from the Azure Form Recognizer may require further processing. For example, the quantities are partially extracted with the units (e.g., “2 pcs”, “1 set”), and these units need to be deleted to be able to use the quantity as a number. Further processing is mentioned in the precision evaluation analysis.",[183,184,185],"blockquote",{},[11,186,187],{},[152,188,189],{},"\"At Cross Masters, using cutting-edge AI technologies is not only a passion; it is an essential part of our work culture that requires continuous innovation. One of our latest success stories is the automation of the manual paperwork that is needed to process thousands of invoices. Thanks to Microsoft Form Recognizer’s AI engine, we were able to develop a unique customized solution for our client's invoice recognition tasks. What we find most convenient is the constant extraction quality improvement and the introduction of new features in the Form Recognizer - such as model composing or table labelling. This assures our clients competitive advantage in the market and helps elevate our product to the level of best-in-class solution.\" Jan Hornych, Head of Automation.",[23,191,193],{"id":192},"precision-evaluation","Precision evaluation",[11,195,196],{},"We tested the extraction of the values by the Azure Form Recognizer, in combination with subsequent automatic processing of the values, and compared it to human extraction in a proof-of-concept analysis. We found two ways to optimize the results: 1) Do a comparison of extracted values to lists of values or value combinations (for example, the list of sellers’ names and corresponding IDs), and 2) Cross referencing of the total price against the sum of all of the product prices.",[28,198,200],{"id":199},"_1-comparison-of-extracted-values-to-lists-of-values","1. Comparison of extracted values to lists of values",[11,202,203,204,207,208,113],{},"One of the critical pieces of information on the invoice is the identification of which client should receive the benefits based on a particular invoice. To maximize the precision of this identification, we extract more separate characteristics of the client; not only the name, but also the company registration ID for a legal entity, or personal ID for an individual client. We then match the extracted values with an existing client database, where the clients need to be registered to receive the benefits. If the extracted values are not matched to the same client, it shows a warning, and the invoice needs to be checked by a human. This ",[15,205,206],{},"automated process resulted in a higher precision"," for the client assignment than what was achieved by a human only, even though the human assignment process was checked afterward. In the graph below, you can see the comparison. Although both approaches have very high precision, the ",[15,209,210],{},"AI is more successful when combined with lists of value combinations",[11,212,213],{},[99,214],{"alt":215,"src":216,"title":217},"","\u002Fupload\u002Fdocument-recognizer-graph-1.webp","Difference between human and AI accuracy",[28,219,221],{"id":220},"_2-check-of-total-price-against-the-sum-of-all-product-prices","2. Check of total price against the sum of all product prices",[11,223,224],{},"The extraction of the product information varies in precision. In general, the Azure Form Recognizer performs better on a shorter list of products with properly spaced text. The procedure can be again improved with the help of a list of possible product names. You can match the extracted products with their correct names and exclude any incorrectly extracted values.",[11,226,227,228,233,234,239],{},"To further verify that the products were extracted correctly, a check is introduced comparing the total price extracted from the invoice with the sum of the price and quantity multiplied for each product (hereafter CheckSum). The outcomes based on the POC are presented in the graph below. When the ",[15,229,230],{},[152,231,232],{},"CheckSum is satisfied"," (in 44.7 % of the cases), it is almost certain that the products were extracted correctly (with a 96% probability, which is higher than the average precision of human extraction). When the ",[15,235,236],{},[152,237,238],{},"CheckSum is not satisfied"," (in the remaining 55.3 % of the cases), the extracted products need to be checked by a human to verify if the products were extracted correctly.",[11,241,242],{},[99,243],{"alt":244,"src":245,"title":244},"Comparison of human and AI verification of CheckSum","\u002Fupload\u002Fdocument-recognizer-graph-2.webp",[11,247,248],{},"The CheckSum can be not satisfied despite products being correctly extracted because we only need the correct extraction of the product names and quantities, the prices are available from the database.",[11,250,251,252,257,258,263,264,269,270,275],{},"In more than a half of the cases that need to be checked by a human (precisely in 32.5% of all cases), the ",[15,253,254],{},[152,255,256],{},"products and"," their ",[15,259,260],{},[152,261,262],{},"quantities"," were indeed ",[15,265,266],{},[152,267,268],{},"extracted correctly",", and the check failed due to the wrong extraction of the total price, individual product prices, or their discounts. In the rest of the cases (22.8% of the cases) the extracted ",[15,271,272],{},[152,273,274],{},"product information is not completely correct"," (e.g., a product is missing or some quantity is incorrect), and the values need to be corrected or inserted by a human. Still, the people correcting the values do not need to re-type the whole invoice. They can have all the values pre-filled and just compare and correct what is necessary.",[11,277,278],{},"The precision of the extraction greatly depends on using a model trained on data from the same seller. While it may be impractical to provide a model for every seller, the best results can be achieved by training models for each of the largest sellers to cover the largest share of invoices with minimal cost. In the POC, 89% of the invoices were issued by a seller for whom there is a specifically trained model.",[23,280,282],{"id":281},"estimation-of-time-saving-using-ai","Estimation of time saving using AI",[11,284,285],{},"As mentioned in the precision evaluation, the values extracted from the Azure Form Recognizer need to be partially verified. As described above, we implemented the AI document processing solution in combination with a user-friendly application that is tailored for the purpose of verifying and correcting the extracted values when necessary. Here, we demonstrate an estimation for time saving for the combination of Azure Form Recognizer and our application.",[11,287,288,289,113],{},"There are different checks that can be introduced for most of the fields. The person checking the invoices then does not need to spend time on checking all of the values and can focus only on the fields with no extracted information or checks that are not satisfied, leading to time saved on processing the documents. For example, for checking the list of products and their quantities there is no further human interaction that is necessary for invoices with product extraction verified by the CheckSum (44.7%). More than half of the remaining invoices (32.5% of all cases) only require a check of the values with no further correction, which can take up to 20 seconds on average. The last part of invoices (22.8%) requires checking and correcting at least some of the product names or quantities which can take around 1.5 minutes. Without the Document Recognizer, it can take around 4-7 minutes to set up an invoice in the database and fill in all of the necessary values. The Document Recognizer prepares the invoice, pre-fills all of the known information and marks values that require verification or correction. Using the distribution of missing values and non-satisfied checks for all of the fields from our POC, the integration of the Document Recognizer can ",[15,290,291],{},"save half of time spent per invoice",[11,293,294,295,302],{},"There are variable costs connected to using the Azure Form Recognizer service and fixed costs for the application interface (for the human check of the extracted values) and time spent for the training of models. The ",[296,297,301],"a",{"href":298,"rel":299},"https:\u002F\u002Fazure.microsoft.com\u002Fen-us\u002Fpricing\u002Fdetails\u002Fcognitive-services\u002Fform-recognizer\u002F",[300],"nofollow","pricing of the Azure Form Recognizer"," depends on the selected approach and the number of invoices. The entire process of training the models can take up to 4 hours (0.5 work-days) per model, as it requires selecting representative invoices for training, labeling them using Microsoft Labelling Tool, running the training, and checking the extracted results for an invoice example to verify the results. The training takes longer for invoices with poorly spaced text or varying product information (e.g., partial inclusion of discount information) because it requires more training invoices and repeated checking of the results.",[11,304,305,306,309,310,313],{},"The operation of the ",[15,307,308],{},"whole solution is cheap"," and if we only calculate the operating costs, it will pay off even for an amount in the low hundreds of invoices per year. The biggest investment is in the initial integration and training of the models, and it depends on the complexity of a particular case. While it is too costly for a very small number of different documents, it can be a dramatic difference for a larger bulk of documents. Nevertheless, in our experience, ",[15,311,312],{},"the solution pays off from 2,000 invoices a year",". In that case, the return on investment is 100% within two years.",[23,315,317],{"id":316},"summary","Summary",[11,319,320],{},"To summarize, the Azure Form Recognizer is a valuable innovative tool that allows companies to automatically extract information from scanned or electronic documents. Its precision can be higher than human extraction when accompanied by additional verifications and lists of values. To maximize the amount of time saved by the AI implementation, the solution needs to be accompanied by additional automatic processing of the values and an application tailored for checking and correcting the extracted values in the case of unsatisfied checks.",[322,323,326],"action",{"link":324,"button":325},"\u002Fen\u002Fget-in-touch\u002F","Contact Us","\nAre you interested in learning more about the Form Recognizer and how to solve your case? We can speed up your process of extracting information. Building and implementing custom solutions, including your own application interface, is one of our main areas of expertise. Contact us so we can discuss what is the best solution for your business. \n",{"title":215,"searchDepth":328,"depth":328,"links":329},2,[330,338,339,343,344],{"id":25,"depth":328,"text":26,"children":331},[332,334,335,336,337],{"id":30,"depth":333,"text":31},3,{"id":45,"depth":333,"text":46},{"id":74,"depth":333,"text":75},{"id":84,"depth":333,"text":85},{"id":105,"depth":333,"text":106},{"id":137,"depth":328,"text":138},{"id":192,"depth":328,"text":193,"children":340},[341,342],{"id":199,"depth":333,"text":200},{"id":220,"depth":333,"text":221},{"id":281,"depth":328,"text":282},{"id":316,"depth":328,"text":317},"Products","Documents, such as invoices, personal ID cards, or other standardized forms, contain important information that is essential for the company’s smooth operation and growth. Therefore, fast extraction is very convenient and, in most cases, provides a serious competitive advantage. Yet, it has been a big challenge for years as the questions of accuracy, structure, and of the entire process infrastructure itself were not sufficiently answered. We have implemented an innovative solution using the Microsoft Azure Form Recognizer, an automated machine learning solution for text recognition, and we want to share the exciting insights based on a proof-of-concept (POC) analysis.","md","\u002Fupload\u002Fform-recognizer-article-top.webp",false,{},true,"\u002Fen\u002Fblog\u002Fdocument-recognizer-to-modernize-information-processing","2021-03-05T11:32:46+00:00",14.035,"15 min read",[357],"content\u002Fen\u002Fblog\u002Fpractical-use-of-cognitive-computing.md",{"title":5,"description":346},"en\u002Fblog\u002Fdocument-recognizer-to-modernize-information-processing","How many hours or days in a year do you spend on manual data extraction from documents, in paper form, or scans? How many people on your team have to tackle the same task? It is time to change the old standards!","FupC6Ns8wfWwZN7MwSQBm6WNeGVOwL_eA8HVWuMiapI",[363],{"id":364,"title":365,"author":6,"body":366,"category":6,"description":370,"extension":347,"image":734,"isToc":349,"langAlt":6,"meta":735,"metaDescription":6,"navigation":351,"path":736,"published":351,"publishedAt":737,"readingTimeMinutes":738,"readingTimeText":739,"relatedArticles":740,"seo":742,"stem":743,"teaser":744,"updatedAtCustom":6,"__hash__":745},"blog_en\u002Fen\u002Fblog\u002Fpractical-use-of-cognitive-computing.md","Practical use of Cognitive Computing",{"type":8,"value":367,"toc":720},[368,371,374,378,381,384,388,398,401,404,409,412,415,418,423,426,432,438,441,472,475,479,482,485,490,493,498,501,506,511,515,518,525,528,535,540,543,554,560,568,571,576,580,583,588,592,595,599,602,607,614,619,626,637,640,644,647,653,658,661,665,672,677,681,692,697,704,709,711,714,717],[11,369,370],{},"If you combine artificial intelligence with signal processing, you can improve everyday tasks such as safety equipment checks, anomaly detection, or reading documents. Technology incorporating machine learning, natural language processing, human-computer interaction, and more are described as cognitive computing. At the first sight, it may seem like too much science behind, yet the algorithms can be implemented easier than you might think and help you with your marketing or occupational safety within your business.",[11,372,373],{},"We started the practical part of the workshop with an overview of the areas of Azure Cognitive Services and then we moved to use cases of Anomaly Detector, text, and vision services.",[28,375,377],{"id":376},"azure-cognitive-services","Azure Cognitive Services",[11,379,380],{},"Before we explain the practical use of Azure Cognitive Services, introducing all areas can give a good picture of how technology collaboration and accessibility can create an empowering experience for the end-user.",[11,382,383],{},"Azure Cognitive Services is a set of machine learning algorithms developed to solve problems in the field of Artificial Intelligence (AI). They are available widely to developers without requiring machine-learning expertise. All it takes is an API call to embed the ability to see, hear, speak, search, understand, and accelerate decision-making. It is a package of 25 tools that through APIs allow the developers to add a variety of features to their applications.",[23,385,387],{"id":386},"part-1-anomaly-detector","Part 1| Anomaly Detector",[11,389,390,391,394,395,113],{},"In the first part Azure Cognitive Services demos in practice, we focused on the ",[15,392,393],{},"Anomaly Detector"," service and ",[15,396,397],{},"AML Notebooks",[11,399,400],{},"In general, the anomaly detection algorithm predicts the value at a selected point based on previous observations. This prediction always has a certain sensitivity\u002Fconfidence interval in which it moves (light blue area in the image below).",[11,402,403],{},"The predicted value is then compared to the actual measured value and the points at which it is actually measured are identified.",[11,405,406],{},[99,407],{"alt":215,"src":408},"\u002Fupload\u002Fvalue-prediction.webp",[11,410,411],{},"The Azure anomaly detector REST API is a service that provides the ability to detect anomalies in time series from any data source. The only condition is that the data must be in a defined structure: timestamp + selected value",[11,413,414],{},"The Rest API can be called from any tool that can call GET requests. Examples include Jupyter Notebooks, Postman, Visual Studio, or Azure-enabled services such as Databricks, or Azure Machine Learning with integrated notebooks.",[11,416,417],{},"Azure anomaly detection REST API is a service provided by Azure as one of the Cognitive services accessible via the Azure portal where you can obtain the authorization key and endpoint that are necessary for later calls. The output after calling this API is a set of parameters that say whether it is an anomaly at a given point in time and whether it was a decrease or an increase.",[11,419,420],{},[99,421],{"alt":215,"src":422},"\u002Fupload\u002Fdata-manipulation-2.webp",[11,424,425],{},"Azure anomaly detector REST API works in two optional modes.",[11,427,428,431],{},[152,429,430],{},"\"Last\""," mode Works on stream data. Each point in time is analyzed based on a model trained by previous data. For example, it is suitable for data from Google Analytics.",[11,433,434,437],{},[152,435,436],{},"\"Entire\""," mode creates and trains one model for the entire time series and detects anomalies over the entire model and all data points at once.",[11,439,440],{},"Anomaly detection can be configured by entering parameter values in the request. We have the ability to work with these parameters:",[442,443,444,450,453,459,465],"ul",{},[60,445,446,449],{},[152,447,448],{},"Sensitivity - \"Sensitivity\""," is from 0 to 99, defines how sensitively the back-end API detects anomalies",[60,451,452],{},"Granularity - It can be annual, monthly, weekly, daily, hourly, minute (data must correspond to this granularity, i.e. the difference between subsequent data points must correspond to this Period)",[60,454,455,458],{},[152,456,457],{},"CustomInterval"," - For cases of different granularity (e.g. customInterval = 5 & granularity = minute will have an interval of 5 minutes)",[60,460,461,464],{},[152,462,463],{},"Period"," - defines how many history points are used to detect current anomalies. The extent of the period will vary according to the granularity.",[60,466,467,468,471],{},"maxAnomalyRatio - \"",[152,469,470],{},"MaxAnomaly","\" defines the maximum percentage of anomalies in one detection.",[11,473,474],{},"We also talked about the use of the Anomaly detector REST API in the event of an error in the implementation of measurement on the web.",[28,476,478],{"id":477},"business-case-fooled-bidding-engine","Business Case – Fooled bidding engine",[11,480,481],{},"Let’s look at one of our client’s normal day, an e-shop that sells clothes and uses a bidding engine to place ads. If everything works by default, the customer sees the advertisement, comes to the website, and makes an order.",[11,483,484],{},"Information about a successful order is sent to the bidding engine, which optimizes its behavior based on it. Unfortunately, not all days are so exemplary.",[11,486,487],{},[99,488],{"alt":215,"src":489},"\u002Fupload\u002Fnormal-day.webp",[11,491,492],{},"Unfortunately, a new version of the site was published from the test environment, which contained a measurement error that caused a duplication of pageviews to be measured for the men's sweatshirt category, indicating a successful conversion. This caused the bidding engine to start receiving false information and to make bad decisions because it thought the men's sweatshirt ad is twice as successful as it actually is. The engine started investing higher amounts in the ad. If this error would not be caught in time, it could lead to large losses in the marketing budget.",[11,494,495],{},[99,496],{"alt":215,"src":497},"\u002Fupload\u002Fbug-1.webp",[11,499,500],{},"In order to detect an anomaly, it is necessary to have a specialist who would check the data regularly and would be sufficiently attentive to changes in the data. It may not be as easy as noticing the mistakes in this case (in Google Analytics, only a week is visible by default).",[11,502,503],{},[99,504],{"alt":215,"src":505},"\u002Fupload\u002Fanomaly-detection-1.webp",[11,507,508],{},[99,509],{"alt":215,"src":510},"\u002Fupload\u002Fanomaly-detection-2.webp",[28,512,514],{"id":513},"solution-detecting-anomalies","Solution - Detecting Anomalies",[11,516,517],{},"Such a fluctuation in the measured data can be detected with Azure Anomaly Detector. There are two options.",[519,520,522],"h4",{"id":521},"azure-ml",[15,523,524],{},"Azure ML",[11,526,527],{},"One option is to use the Azure Machine Learning tool using integrated notebooks. Among other things, this tool allows you to create and manage models for machine learning.",[11,529,530,531,534],{},"We integrated this tool into the standard e-commerce process. Data for anomaly detection were obtained from the web analytics system in the standardized format ",[152,532,533],{},"Timestamp, Value",". We analyzed the data by calling the Azure anomaly detector API, and if we detect a problem, we start fixing it immediately.",[11,536,537],{},[99,538],{"alt":215,"src":539},"\u002Fupload\u002Fdata-manipulation.webp",[11,541,542],{},"However, this particular solution comparing to similar tools can be challenging due to:",[442,544,545,548,551],{},[60,546,547],{},"Need for regular manual execution - Someone needs to run the code regularly",[60,549,550],{},"The necessity to have relatively advanced knowledge of some programming language such as Python",[60,552,553],{},"Not completely clear insights, it is necessary to further modify, visualize, etc.",[519,555,557],{"id":556},"waaila",[15,558,559],{},"Waaila",[11,561,562,563,113],{},"The second option, which eliminates the problems described above, is to use ",[296,564,567],{"href":565,"rel":566},"https:\u002F\u002Fwaaila.com",[300],"the Waaila app",[11,569,570],{},"Waaila's connection to the standard data processing system is similar to the previous solution. We can connect directly to the data in GA through it. It is then possible to perform various tests on these data using logical conditions. In our case, we defined data in the format Timestamp: pageviews. Then the Azure anomaly detector API is called, and we find out if there is an anomaly in the dataset.",[11,572,573],{},[99,574],{"alt":215,"src":575},"\u002Fupload\u002Fwaaila-azure-anomaly-detector.webp",[28,577,579],{"id":578},"why-is-the-waaila-app-different","Why is the Waaila app different",[11,581,582],{},"The result obtained through Waaila has a clear and simple form. In the output table, we can see the days on which the anomaly was detected. These are the days that followed the publication of a new version of the website containing a measurement error. We can see that on both days there was a positive anomaly, which means that the display of the confirmation page was more frequent than was predicted based on previous developments.",[11,584,585],{},[99,586],{"alt":215,"src":587},"\u002Fupload\u002Fwaaila-demo.webp",[23,589,591],{"id":590},"part-2-azure-cognitive-services-text-vision","Part 2 | Azure Cognitive Services – Text & Vision",[11,593,594],{},"The second part of the workshop contained examples of the Text and Vision group of Cognitive services. One of the most common use cases involves the Vision group of Cognitive Services. We meet frequently with companies who experience troubles with employee safety obedience and are looking for a more sophisticated solution. The second case focuses on text recognition, for instance, homework check automation or reading receipts. Third case comments on means to gather data about customer satisfaction.",[28,596,598],{"id":597},"business-case-1-safety-equipment-check","Business Case 1: Safety Equipment Check",[11,600,601],{},"Construction companies are required to check that all workers on their sites wear hard hats and reflective vests. However, this is costly in terms of time and human resources. To minimize this cost, companies can incorporate an AI solution using the Custom Vision service in order to detect the equipment automatically.",[11,603,604],{},[99,605],{"alt":215,"src":606},"\u002Fupload\u002Fsafety-equipment-recognizing.webp",[11,608,609,610,613],{},"Using this approach, when somebody enters the construction site, the security camera at the entrance sends their image to be processed using the ",[15,611,612],{},"Custom Vision"," service. The image is evaluated for the presence of safety equipment based on a pre-trained model of similar tagged images. The results of the evaluation are sent back and in case of missing equipment, a message is outputted.",[11,615,616],{},[99,617],{"alt":215,"src":618},"\u002Fupload\u002Fcognitive-services-camera.webp",[11,620,621,622,625],{},"The visual evaluation can be combined with customized and personalized messages to be more noticeable and thus a better warning for workers without the safety equipment. The customized messages can be created in real-time using the ",[15,623,624],{},"Text to Speech"," service. This service constructs a voice message from inputted text using a high variety of voices in over 45 languages (including the Czech language).",[11,627,628,629,632,633,636],{},"Moreover, to personalize the warnings, ",[15,630,631],{},"Face verification"," can be used to compare the image of entering workers with database workers' photos. Based on the extracted name, a personalized message can be constructed again using the Text to Speech service. ",[15,634,635],{},"The personalized messages have the highest impact"," on ensuring that workers wear the safety equipment, especially if combined with the possibility to report the outcome to the supervisor.",[11,638,639],{},"This AI solution to automatic check allows the companies to save human and financial resources while minimizing the risk of having to pay a fine for potentially incorrect safety equipment on the site.",[28,641,643],{"id":642},"business-case-2-automatic-evaluation-of-exercise-results","Business case 2: Automatic evaluation of exercise results",[11,645,646],{},"AI is very useful in areas where documents were not fully converted to electronic form yet. When the current Covid-19 pandemic closed schools, teachers were often limited by the fact that their teaching materials were not well equipped for distance learning. Correcting homework in exercise books distantly requires a series of printing and scanning, costing a high amount of time and other resources. This opens a possibility for the AI solution using a Form Recognizer.",[11,648,649,652],{},[15,650,651],{},"Form Recognizer"," allows you to automatically extract both printed and hand-written text from computer non-readable documents and images. You provide training files and select one of the available approaches. The first approach consists of optimized prepared models for receipts and business cards, however, these cannot be applied to other documents. The second approach allows extracting all text fields that can be viewed as key-value pairs. While this provides more flexibility than the first approach, you cannot select which part of the file to concentrate on and cannot extract values without a well-located key. Most flexible and thus most suited for the case of school material is the third approach which consists of labeling required text fields and training on thus labeled files. For labeling, there is a special online tool where you can create labels and interactively assign them to OCR-extracted text fields from your training files. For illustration, we labeled and trained a simple model on a page from a first-grade mathematics textbook. Below is a snapshot of information extracted based on the simple model, displayed both visually in colored rectangles and as a list of values assigned to the tags of matching color along with a confidence of the assignment.",[11,654,655],{},[99,656],{"alt":215,"src":657},"\u002Fupload\u002Flabellingtool.webp",[11,659,660],{},"Using the Form Recognizer you can construct automatic homework evaluation by collecting a sample of homework, labeling the required fields on the sample, and training the model. Then you can use this model to form automatic extraction of the required information from other files and comparison of the extracted values to a solution key. While this is too demanding for a single teacher, it opens a business opportunity to cooperate with a publishing house on providing an official solution thus helping distance teaching.",[519,662,664],{"id":663},"applications-of-form-recognizer","Applications of Form Recognizer",[11,666,667,668,671],{},"Form Recognizer is useful in many fields. For example, when a customer brings ",[669,670,296],"del",{}," receipt for purchased goods he wants to complain about, the cashier needs to retype the receipt to fill in the complaint. Alternatively, in a loyalty program when the producer company requires invoices from distributors as proof for distributing the products, they often receive the forms in a scan or even paper form that they need to digitalize. To sum up, Form Recognizer saves both time and other resources. Based on our experience, it can provide even better results than manual extraction as the people working on it may often be over-worked or not well informed.",[11,673,674],{},[99,675],{"alt":215,"src":676},"\u002Fupload\u002Fcontoso-receipt-2-information.webp",[28,678,680],{"id":679},"business-case-3-customer-satisfaction","Business case 3: Customer satisfaction",[11,682,683,684,687,688,691],{},"Information about customer satisfaction is necessary for improving the quality of goods and services and keeping customers from going to the competition. It is mostly gathered from surveys and a set of buttons with smiley faces, however, these provide not only under-represented but also skewed results due to the selection of people willing to answer it. To overcome this problem, companies can employ behavior analytics on the e-shop and perceived emotion recognition in the stores. The e-shop ",[15,685,686],{},"Text Analytics"," service can help process comments and chat messages to prevent customers from leaving due to negative experiences or negative impressions of one customer to spread to other customers. At this moment there is only a selected number of language options for the TextAnalytics but it can be paired with ",[15,689,690],{},"Translator"," service to cover other languages. The text extraction can be combined with an analysis of customers' paths, waiting times, and other behavioral patterns which may provide further information on satisfaction.",[11,693,694],{},[99,695],{"alt":215,"src":696},"\u002Fupload\u002Fsatisfaction_buttons.webp",[11,698,699,700,703],{},"In stores, instead of using the buttons to express satisfaction, companies can use the entrance cameras to take an image. The image is then processed using a part of the ",[15,701,702],{},"Face"," service that can evaluate the Perceived emotion recognition. In this recognition, the location of the face in the image is found and several emotions are searched for in the detected face to evaluate the degree to which they are recognizably present on the face. This can be then used to find out how happy was a customer when leaving or how much did his mood change while inside the store which can help with the optimization of the store and the services.",[11,705,706],{},[99,707],{"alt":215,"src":708},"\u002Fupload\u002Fmona-lisa-and-emotions.webp",[23,710,317],{"id":316},[11,712,713],{},"To summarized the workshop focused on Cognitive Computing and its practical applications, we showed and explain a few use interesting cases for everyday use. With Azure, you can not only ensure security but also it can be very easily connected to cloud storage and other tools that overall create one well-working and inter-connected environment, built for your convenience.",[11,715,716],{},"We have applied similar and many more solutions. Marketing combined with Data Science experience and technical expertise provides us with a competitive advantage to build custom solutions for each project.",[11,718,719],{},"Let us know, how we can help you grow.",{"title":215,"searchDepth":328,"depth":328,"links":721},[722,723,728,733],{"id":376,"depth":333,"text":377},{"id":386,"depth":328,"text":387,"children":724},[725,726,727],{"id":477,"depth":333,"text":478},{"id":513,"depth":333,"text":514},{"id":578,"depth":333,"text":579},{"id":590,"depth":328,"text":591,"children":729},[730,731,732],{"id":597,"depth":333,"text":598},{"id":642,"depth":333,"text":643},{"id":679,"depth":333,"text":680},{"id":316,"depth":328,"text":317},"\u002Fupload\u002Fcognitive-computing-reading-cover.webp",{},"\u002Fen\u002Fblog\u002Fpractical-use-of-cognitive-computing","2020-10-27T10:26:29.000+00:00",12.47,"13 min read",[741],"content\u002Fen\u002Fblog\u002Fmachine-learning-in-marketing-practice.md",{"title":365,"description":370},"en\u002Fblog\u002Fpractical-use-of-cognitive-computing","Recently, we organized another online workshop on the topic of AI. This time we looked at use cases of Cognitive Computing. ","AAut8oZN3FCBWFH2JAa6ITI8JbP2EP969gnqYOr6P9w",1789131822791]