Apparatus and method for generating confidence scores associated with scanned labels

JP2026527507APending Publication Date: 2026-08-14PRAMANA INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-22
Publication Date
2026-08-14

AI Technical Summary

Benefits of technology

【0009】 本明細書に記載の主題の1又は複数の変形形態の詳細は、添付の図面及び以下の説明に記載される。本明細書に記載の主題の他の特徴及び利点は、説明及び図面、並びに特許請求の範囲から明らかになるであろう。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026527507000001_ABST
    Figure 2026527507000001_ABST
Patent Text Reader

Abstract

An apparatus for generating confidence scores associated with scanned labels is disclosed. The apparatus includes at least one processor and a memory communicably connected to the at least one processor. The memory receives a profile which includes at least one label and multiple digital representations of a slide, performs a flip detection process on the profile to verify the orientation of at least the slide data of the profile, generates scanned labels according to at least one label, determines a confidence score associated with the scanned label, adjusts the confidence score for accuracy, and instructs the processor to display the confidence score using a display device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention generally relates to the field of data analysis. In particular, the present invention is directed to an apparatus and method for generating a confidence score associated with a scanned label.

Background Art

[0002] In various fields such as healthcare, pathology, logistics, and document management, the need for accurate and reliable extraction of information from scanned labels is important. However, OCR technology that converts text within an image or document into a machine-readable format is not always perfect and can introduce errors due to factors such as image quality, font variations, or handwriting inconsistencies.

Summary of the Invention

Means for Solving the Problems

[0003] In one embodiment, an apparatus for generating confidence scores associated with a scanned label is disclosed. The apparatus includes at least one processor and a memory communicably connected to the at least one processor. The memory instructs the processor to receive a profile comprising at least one label containing a plurality of metadata associated with at least one label. The at least one label may include an identification code. The memory may further instruct the at least one processor to generate a plurality of named entities in accordance with the at least one label. The memory may further instruct the at least one processor to classify the plurality of named entities into a plurality of entity categories, wherein classifying the plurality of named entities into a plurality of entity categories comprises classifying the plurality of named entities into a plurality of entity categories in accordance with the spatial arrangement of the plurality of named entities on the scanned label. The memory instructs the processor to generate a scanned label in accordance with the at least one label, wherein generating a scanned label comprises scanning at least one label using a text recognition module. The memory instructs the processor to determine a confidence score associated with the scanned label in accordance with a comparison of the scanned label with a plurality of previously scanned labels. The confidence score may include a derived score. A confidence score may include a representation score. A confidence score may include a temporal consistency score. Generating a confidence score may include generating a confidence score using a confidence machine learning model, which may include training a confidence machine learning model using confidence training data, where the confidence training data includes multiple data entries, each containing multiple scanned labels and multiple previously scanned labels as inputs, which correlate to a confidence score as an output, and using the trained confidence machine learning model to generate a confidence score in response to a comparison of the scanned labels and multiple previously scanned labels.The memory instructs the processor to display the confidence score using the display device.

[0004] In another embodiment, a method for generating confidence scores associated with a scanned label is disclosed. The method includes receiving a profile comprising at least one label containing a plurality of metadata associated with at least one label. The at least one label may include an identification code. The method includes generating a plurality of named entities in accordance with at least one label using at least one processor. The method may include instructing memory to instruct at least one processor to classify the plurality of named entities into a plurality of entity categories, wherein classifying the plurality of named entities into a plurality of entity categories comprises classifying the plurality of named entities into a plurality of entity categories in accordance with the spatial arrangement of the plurality of named entities on the scanned label. The method may further include instructing memory to instruct a processor to generate a scanned label in accordance with at least one label, wherein generating the scanned label comprises scanning at least one label using a text recognition module. The method includes determining a confidence score associated with a scanned label in accordance with a comparison of the scanned label with a plurality of previously scanned labels using at least one processor. The confidence score may include a derived score. The confidence score may include a representation score. The confidence score may include a temporal consistency score. Generating a confidence score may include generating a confidence score using a confidence machine learning model, which may include training a confidence machine learning model using confidence training data, where the confidence training data includes multiple data entries, each containing multiple scanned labels and multiple previously scanned labels as inputs, which correlate to a confidence score as an output, and using the trained confidence machine learning model to generate a confidence score in response to a comparison of the scanned labels and multiple previously scanned labels.The method involves using a display device to display confidence scores.

[0005] In one embodiment, an apparatus for generating confidence scores associated with scanned labels is disclosed. The apparatus includes at least one processor and memory communicably connected to at least one processor. The memory receives a profile from the processor, which includes at least one label and a plurality of metadata associated with at least one label; generates scanned labels according to at least one label; determines confidence scores associated with scanned labels; displays the confidence scores using a display device; and determining the confidence scores includes generating confidence scores using a confidence machine learning model by receiving a confidence training dataset and iteratively training the confidence machine learning model using the confidence training dataset; training the confidence machine learning model includes retraining the confidence machine learning model with feedback from previous iterations of the confidence machine learning model and determining confidence scores using the trained confidence machine learning model. Generating scanned labels may include scanning at least one label using a text recognition module. Determining the confidence scores may be a function of comparison between the scanned labels and a plurality of previously scanned labels, performed by the trained machine learning model. At least one processor may be further configured to identify multiple labels that have been scanned in the past, depending on metadata associated with at least one label. Generating scanned labels may include training a label machine learning model with training data containing multiple labels that correlate to examples of scanned labels, receiving profiles as input to the label machine learning model, and having the machine learning model output scanned labels. Profiles may include digital representations of histological slides. Confidence scores may include derived scores. At least one processor may be further configured to generate multiple named entities depending on at least one label, using a lookup table.At least one processor may be further configured to classify multiple named entities into multiple entity categories based on their spatial location on a scanned label. Classifying multiple named entities into multiple entity categories involves identifying multiple named entities in text using template-based named entity recognition, using a predetermined template selected according to the healthcare facility data.

[0006] In another embodiment, a method for generating confidence scores associated with scanned labels is disclosed. The method includes using a computing device to receive a profile which includes at least one label and a plurality of metadata associated with at least one label; generating scanned labels according to at least one label; determining confidence scores associated with the scanned labels; and displaying the confidence scores using a display device. Determining the confidence scores includes generating confidence scores using a confidence machine learning model by receiving a confidence training dataset; and iteratively training the confidence machine learning model using the confidence training dataset. Training the confidence machine learning model includes retraining the confidence machine learning model with feedback from previous iterations of the confidence machine learning model; and determining confidence scores using the trained confidence machine learning model. Generating scanned labels may include training a label machine learning model with training data comprising a plurality of labels correlated with examples of scanned labels; receiving a profile as input to the label machine learning model; and the machine learning model outputting scanned labels. The profile may include a digital representation of a histological slide. The confidence scores may include derived scores. At least one processor may be further configured to generate multiple named entities based on at least one label using a lookup table. At least one processor may be further configured to classify multiple named entities into multiple entity categories based on the spatial location of the multiple named entities on the scanned label. Classifying multiple named entities into multiple entity categories includes identifying multiple named entities in text using template-based named entity recognition with a predetermined template selected in accordance with the healthcare facility data.

[0007] In one embodiment, an apparatus for generating confidence scores associated with scanned labels is disclosed. The apparatus includes at least one processor and a memory communicably connected to the at least one processor. The memory provides the processor with a profile which includes at least one label and multiple digital representations of slides; performs a flip detection process on the profile to verify the orientation of at least one slide data in the profile; generates scanned labels according to at least one label; determines a confidence score associated with the scanned labels; adjusts the confidence score for accuracy; displays the confidence score using a display device; performs a flip detection process which may include performing a color extraction process on multiple digital representations of slides; trains a color parameter machine learning model using training data which correlates slide data with color orientation data; outputs a color parameter evaluation by the color parameter machine learning model; generates scanned labels which may further include scanning at least one label using a text recognition module; determines a confidence score which may include generating a confidence score using a confidence machine learning model by receiving a confidence training dataset; iteratively trains the confidence machine learning model using the confidence training dataset; trains the confidence machine learning model which may include retraining the confidence machine learning model using feedback from previous iterations of the confidence machine learning model; and determining a confidence score using the trained confidence machine learning model. In a non-limiting example, performing the inversion detection process may further include performing contrast calculations on multiple digital representations of the slide, training a contrast parameter machine learning model using training data that correlates the slide data with contrast orientation data, and outputting a contrast parameter evaluation by the contrast parameter machine learning model.In another non-limiting example, performing the inversion detection process may further include extracting labels from a profile, training a label evaluation machine learning model with training data that correlates slide data to label orientation data, and outputting label parameter evaluations by the label evaluation machine learning model. In yet another non-limiting example, performing the inversion detection process may include training an orientation machine learning model with training data that correlates multiple parameter evaluations to multiple thresholds classified into orientation statuses, and outputting orientation labels by the orientation machine learning model. Determining confidence scores associated with scanned labels may further include adjusting the confidence scores for accuracy, and adjusting the confidence scores may include performing stain detection analysis using image segmentation techniques to separate stained regions in multiple digital representations of the slide. Subsequently, adjusting the confidence scores may further include using named entity recognition to identify stain labels associated with stained regions that have stained regions with expected hues, and comparing the hue values ​​of the stained regions with expected hues to determine the hue difference. Subsequently, adjusting the confidence scores may further include adjusting the confidence scores based on the hue difference.

[0008] In another embodiment, a method for generating confidence scores associated with scanned labels is disclosed. The method includes using a computing device to receive a profile which includes at least one label and multiple digital representations of slides; performing an inversion detection process on the profile to verify the orientation of at least one slide data in the profile; adjusting a confidence score for accuracy; and displaying the confidence score using a display device. Performing the inversion detection process may include performing a color extraction process on the multiple digital representations of slides; training a color parameter machine learning model with training data that correlates the slide data to color orientation data; outputting a color parameter evaluation by the color parameter machine learning model; and generating a scanned label corresponding to at least one label. Generating a scanned label may further include scanning at least one label using a text recognition module; and determining a confidence score associated with the scanned label. Determining a confidence score includes generating a confidence score using a confidence machine learning model by receiving a confidence training dataset; and iteratively training the confidence machine learning model using the confidence training dataset. Training a confidence machine learning model includes retraining the confidence machine learning model with feedback from previous iterations of the confidence machine learning model; and determining a confidence score using the trained confidence machine learning model. In a non-limiting example, performing the inversion detection process may further include performing contrast calculations on multiple digital representations of the slide, training a contrast parameter machine learning model using training data that correlates the slide data with contrast orientation data, and outputting a contrast parameter evaluation by the contrast parameter machine learning model.In another non-limiting example, performing the inversion detection process may further include extracting labels from a profile, training a label evaluation machine learning model with training data that correlates slide data to label orientation data, and outputting label parameter evaluations by the label evaluation machine learning model. In yet another non-limiting example, performing the inversion detection process may include training an orientation machine learning model with training data that correlates multiple parameter evaluations to multiple thresholds classified into orientation statuses, and outputting orientation labels by the orientation machine learning model. Determining confidence scores associated with scanned labels may further include adjusting the confidence scores for accuracy, and adjusting the confidence scores may include performing stain detection analysis using image segmentation techniques to separate stained regions in multiple digital representations of the slide. Subsequently, adjusting the confidence scores may further include using named entity recognition to identify stain labels associated with stained regions that have stained regions with expected hues, and comparing the hue values ​​of the stained regions with expected hues to determine the hue difference. Subsequently, adjusting the confidence scores may further include adjusting the confidence scores based on the hue difference.

[0009] Details of one or more variations of the subject matter described herein are shown in the accompanying drawings and the following description. Other features and advantages of the subject matter described herein will become apparent from the description and drawings, as well as the claims.

[0010] For the purpose of illustrating the present invention, the drawings illustrate aspects of one or more embodiments of the present invention. However, it should be understood that the present invention is not limited to the exact arrangement and means shown in the drawings. [Brief explanation of the drawing]

[0011] [Figure 1] This is a block diagram of an exemplary embodiment of a device for generating confidence scores associated with scanned labels. [Figure 2] This is an exemplary block diagram of a machine learning process. [Figure 3] This is a block diagram of an exemplary embodiment of a score database. [Figure 4] This is a diagram of an exemplary embodiment of a neural network. [Figure 5] This is a diagram illustrating an exemplary embodiment of a neural network node. [Figure 6] This figure shows an exemplary embodiment of fuzzy set comparison. [Figure 7] This is a flowchart illustrating an exemplary method for generating confidence scores associated with scanned labels. [Figure 8] This is an illustrative flowchart of the inversion detection process. [Figure 9] This is a block diagram of a computer system that may be used to implement one or more of the methodologies disclosed herein and any one or more of them. [Modes for carrying out the invention]

[0012] Drawings are not necessarily to scale and may be represented by imaginary lines, schematics, and partial drawings. In some cases, details not necessary for understanding the embodiment, or details that would make it difficult to perceive other details, may be omitted. Similar reference numerals in different drawings indicate similar elements.

[0013] Broadly speaking, the aspects of the disclosed information relating to an apparatus and method for generating confidence scores associated with scanned labels. The apparatus includes at least one processor and a memory communicatively connected to the at least one processor. The memory instructs the processor to receive a profile comprising at least one label containing a plurality of metadata. The memory instructs the processor to generate a scanned label in relation to at least one label, and generating the scanned label comprises scanning at least one label using a text recognition module. The memory instructs the processor to determine a confidence score in relation to a comparison of the scanned label with a plurality of previously scanned labels. The memory instructs the processor to display the confidence score using a display device. Exemplary embodiments illustrating aspects of the disclosed information are described below in the context of several specific examples.

[0014] Herein, we refer to Figure 1, which is an exemplary embodiment of apparatus 100 for generating confidence scores associated with scanned labels. Apparatus 100 includes a processor 104. The processor 104 may include any computing device as described in this disclosure, including, but not limited to, a microcontroller, microprocessor, digital signal processor (DSP), and / or system on a chip (SoC) as described in this disclosure. The computing device may include, be included in, and / or communicate with a mobile device, such as a mobile phone or smartphone. The processor 104 may include a single computing device operating independently, or it may include two or more computing devices operating in cooperation, in parallel, sequentially, etc. Two or more computing devices may be included together in a single computing device or two or more computing devices. The processor 104 may interface with or communicate with one or more additional devices via a network interface device, as described in more detail below. The network interface device may be used to connect the processor 104 to one or more of various networks and one or more devices. Examples of network interface devices include, but are not limited to, network interface cards (e.g., mobile network interface cards, LAN cards), modems, and any combination thereof. Examples of networks include, but are not limited to, wide area networks (e.g., the Internet, corporate networks), local area networks (e.g., networks associated with offices, buildings, campuses, or other relatively small geographical spaces), telephone networks, data networks associated with telephone / voice operators (e.g., mobile carrier data and / or voice networks), direct connections between two computing devices, and any combination thereof.The network can use wired and / or wireless communication modes. In general, any network topology can be used. Information (e.g., data, software, etc.) can be communicated to and from computers and / or computing devices. Processor 104 may include, but is not limited to, a computing device or cluster of computing devices at a first location and a second computing device or cluster of computing devices at a second location. Processor 104 may include one or more computing devices dedicated to data storage, security, traffic distribution for load balancing, etc. Processor 104 can distribute one or more computing tasks, as described below, across multiple computing devices of computing devices that can operate in parallel, serial, redundantly, or in any other way used for task or memory distribution between computing devices. Processor 104 may be implemented using a “no-share” architecture in which data is cached in workers, which in one embodiment may enable scalability of the device 100 and / or computing devices.

[0015] Continuing to refer to Figure 1, the processor 104 may be designed and / or configured to perform any method, process, or series of process steps in any embodiment of the disclosure in any order and to any degree of repetition. For example, the processor 104 may be configured to repeatedly perform a single process or series of processes until a desired or instructed result is achieved. The repetition of a process or series of processes is performed by repeatedly and / or recursively using the output of the previous repetition as input to the subsequent repetition, aggregating the inputs and / or outputs of the repetitions to produce an aggregated result, reducing or decreasing one or more variables such as global variables, and / or dividing a larger processing task into a set of smaller, repeatedly addressed processing tasks. The processor 104 may execute any process or series of processes in parallel, such as by using two or more parallel threads, processor cores, etc., to execute the process simultaneously and / or substantially simultaneously multiple times. Task division between parallel threads and / or processes may be performed according to any protocol suitable for task division between iterations. Those skilled in the art, upon reviewing the entirety of this disclosure, will recognize a variety of ways in which processes, sets of processes, processing tasks, and / or data can be subdivided, shared, or otherwise processed using iterative, recursive, and / or parallel processing.

[0016] Continuing to refer to Figure 1, the apparatus 100 includes memory. The memory is communicatively connected to the processor 104. The memory may include instructions that configure the processor 104 to perform tasks disclosed in this disclosure. Where used in this disclosure, “communicatively connected” means connected by a connection, attachment or link between two or more related things that enable the reception and / or transmission of information between them. For example, but not limited to, this connection may be a wired or wireless, direct or indirect connection that enables the reception and / or transmission of (one or more) data and / or signals between two or more components, circuits, devices, systems, apparatus, etc. The data and / or signals between them may include, but not limited to, electrical, electromagnetic, magnetic, video, audio, radio and microwave data and / or signals, or combinations thereof. The communication connection may be achieved, for example, directly or through one or more intervening devices or components via wired or wireless electronic, digital or analog communication, but not limited to. Furthermore, a communication connection may include electrically coupling or connecting at least one output of one device, component, or circuit to at least one input of another device, component, or circuit. For example, this may be done via a bus or other equipment for communication between elements of a computing device, for example, but not limited to. A communication connection may also include indirect connections via, for example, wireless connections, radio communications, low-power wide-area networks, optical communications, magnetic coupling, capacitive coupling, or optical coupling, for example, but not limited to. In some cases, the term “communicatively coupled” may be used in place of “communicatively connected” in this disclosure.

[0017] Continuing with Figure 1, the processor 104 may be configured to receive a profile 108 from the user. For the purposes of this disclosure, “profile” is a representation of information and / or data describing information about an individual slide or group of slides. Profile 108 may consist of multiple slide data. As used in this disclosure, “data” is information about slides. Profile 108 may be a digital representation of a histological slide. As used in this disclosure, “histological slide” is a slide containing a portion of biopsy tissue. A histological slide may contain biopsy tissue from a patient, which is sliced ​​into very thin layers and placed on a glass slide. A digital representation of a histological slide may include a digital photograph of the histological slide. These photographs may include digital photographs taken under a microscope. Profile 108 may further include documentation surrounding the histological slide. This disclosure may include information regarding the examination, analysis, storage, and disposal of histological slides by healthcare professionals. Profile 108 can be created by the processor 104, the user, a medical professional, or a third party (e.g., spouse, support staff, family). Profile 108 may include any of the following personal information: age, weight, height, sex, geographical location, diagnostic information, medical history, test results, and laboratory results. Profile 108 may include patient and / or organization-related medical information.

[0018] Continuing to refer to Figure 1, profile 108 includes a label 112 associated with the histological slide. As used in this disclosure, “label” is a descriptive tag or identifier assigned to an individual histological slide or group of histological slides. A label 112 may contain multiple pieces of information about the histological slide. A label 112 may contain information about a patient or patient case identifier, where a unique identifier is assigned to a particular patient or case, helping to track and refer to slides associated with that case. A label 112 may contain information about the type of biological sample, disease, tissue, or morphology contained within the histological slide. This may include the type of tissue or sample represented by the slide, such as breast tissue, lung biopsy, skin lesion, cardiac tissue, or liver tissue. In some cases, a label 112 may contain information about a pathological diagnosis or condition investigated or identified on the slide, such as carcinoma, lymphoma, or infectious disease. A label 112 may contain information about a specific staining or analytical technique applied to the histological slide. Specific staining or preparation techniques used on slides, including but not limited to hematoxylin and eosin (H&E) staining, immunohistochemistry (IHC), or special staining, may provide additional information regarding the characteristics of the slide. Label 112 may include additional notes, observations, or annotations made by a pathologist that may be relevant to the slide, such as the presence of specific features or abnormalities. Label 112 may further include grading labels, staging labels, quality assessment labels, etc. Grading labels may reflect the severity or stage of a disease based on certain criteria. Quality assessment labels may reflect the reliability or suitability of the slide for analysis. The specific use of labels may vary depending on the protocols and practices of the pathology laboratory. The purpose of the labels is to improve the organization, communication, and retrieval of histological slides within the laboratory or medical facility.

[0019] Continuing to refer to FIG. 1, label 112 can be provided in a plurality of formats. Label 112 can include both printed labels, digital labels, handwritten labels, photographs of labels, scans of labels, etc. In some cases, the label can take the form of an identification code. The "identification code" used in the present disclosure is a visual representation of a label. The identification code can include a barcode. The barcode can be composed of a series of parallel lines, bars, or squares with varying widths and intervals. The barcode can function as a unique identifier for the slide and include encoded data that provides related information about the slide. The identification code is designed to be scanned or read by a barcode scanner or reader that can quickly decode the encoded information. Identification codes are widely used in various industries for purposes such as product identification, inventory management, and tracking. The identification code can include both one-dimensional (1D) barcodes and two-dimensional (2D) barcodes. A linear or one-dimensional (1D) barcode composed of a series of vertical bars and spaces. The widths and intervals of these bars and spaces represent a specific pattern that encodes alphanumeric or numerical data. Examples of 1D barcodes include the Universal Product Code (UPC) and Code 39 barcode. A two-dimensional (2D) barcode that can encode more complex information in a smaller space. 2D barcodes use patterns of squares, dots, or other geometric shapes to represent data. Examples of 2D barcodes include the QR Code (registered trademark) (Quick Response code) and Data Matrix code. By scanning a barcode related to a histological slide, healthcare professionals can quickly access related information within a digital database or laboratory information system (LIS). This facilitates the efficient tracking, identification, and retrieval of slides during diagnosis, consultation, or research.

[0020] Continuing to refer to Figure 1, profile 108 includes multiple metadata 116. As used in this disclosure, “metadata” refers to descriptive information or attributes that provide context, structure, and meaning to data. Metadata 116 is essentially data about data. Metadata 116 can help understand and manage various aspects of data, such as its origin, content, format, quality, and use. It can play a crucial role in effectively organizing, retrieving, and interpreting data. Metadata 116 may include descriptive metadata, structural metadata, management metadata, technical metadata, source metadata, and usage metadata. Metadata 116 can be organized and managed through metadata schemas, standards, or frameworks. These provide guidelines and specifications for capturing, storing, and exchanging metadata in a consistent and structured manner. Common metadata 116 standards include Dublin Core, Metadata Object Description Schema (MODS), and Federal Geographic Data Committee (FGDC) metadata standards. In some cases, metadata 116 may be associated with a label 112 of a histological slide. The metadata 116 can provide additional descriptive information or attributes linked to the slide's label. This metadata 116 provides context and relevant details about the slide, assisting in the identification, classification, and management of the slide within the pathology laboratory or healthcare facility. Specific metadata 116 associated with a label 112 may vary based on the requirements and practices of the healthcare facility. Metadata 116 associated with a label may include patient information. Patient information may include data such as the patient's name, a unique patient identifier (ID), age, sex, and any other relevant demographic information. Patient information helps identify the slide and associate it with the correct individual's medical record. Metadata 116 may also include case-specific details, which may include information about a specific case or clinical scenario related to the slide.Case-specific details may include information about the case number, attending physician, medical history, associated symptoms, or any other relevant details that help understand the context of the slide. In some cases, metadata 116 may include information about the specific specimen type of the slide. This may include the type of tissue or sample the slide represents. Metadata 116 may include notes, comments, or observations made by a pathologist or other healthcare professional. These annotations may highlight specific features, anomalies, or noteworthy aspects of the slide that are important for interpretation or follow-up analysis. For example, a timestamp reflecting when and where the slide was prepared, analyzed, or labeled may be associated as metadata 116. This information helps track and maintain a chronological record of slide-related activities. It may be breast tissue, lung biopsy, skin lesion, or any other anatomical or pathological specimen. In some embodiments, metadata may include information about staining or preparation techniques, pathological diagnosis, etc.

[0021] Continuing to refer to Figure 1, the processor 104 is configured to generate a scanned label 120 in accordance with at least one label 112. As used in this disclosure, “scanned label” is a label 112 converted from a physical document or image into machine-encoded text or binary code. A scanned label 120 can refer to the process of capturing or digitizing information on a label using a scanning device such as a barcode scanner or an optical character recognition (OCR) system. Scanning the label 112 enables the automatic extraction and interpretation of the label’s contents for further processing or integration into a digital system. When the label 112 is scanned, the scanning device captures a visual representation of the label, whether it is a barcode, text, or a combination of both. The processor 104 then converts the scanned image into a scanned label 120 that can be read and interpreted by a computer or software system. This includes converting the image associated with the label 112 into machine-encoded text. In a non-limiting example, we assume that if the label 112 is scanned using a barcode scanner, then the label 112 is a barcode. The scanner converts the barcode into a scanned label 120 containing a binary code representing the encoded data. In another non-limiting example, if label 112 contains text or alphanumeric characters, the OCR system scans the label, uses an image recognition algorithm to identify the characters, and converts it into a scanned label 120 containing machine-encoded text. The OCR software analyzes the scanned image, identifies the shape and pattern of the characters, and applies character recognition techniques to convert them into digital text. In some embodiments, once the scanned label 120 is generated, the text data can be extracted from the label. The text data can be associated with a corresponding histological slide in a digital database or a Lithological Information System (LIS).Data from the scanned label 120 can be used for various purposes such as patient identification, case management, and slide classification, which enables efficient tracking, retrieval, and management of histological slides.

[0022] Continuing to refer to FIG. 1, the processor 104 is configured to generate a scanned label 120 using the text recognition module 124. As used in this disclosure, a "text recognition module" is software designed to automatically recognize and extract text from an image or scanned document. This is a technology that enables a computer to understand and interpret printed or handwritten text characters. The output of the text recognition module 124 may be the extracted text in a machine-readable format that can be further processed, stored, or analyzed by other applications or systems. The accuracy and performance of the text recognition module 124 may depend on factors such as the quality of the input image, the complexity of the text, the language being recognized, and the robustness of the recognition algorithm. In some embodiments, the text recognition module 124 can find applications in various fields, including digitalization of documents, data entry, automated form processing, intelligent character recognition (ICR), and optical mark recognition (OMR), invoice processing, and text-based search within images or scanned documents, including automatic reading of printed or handwritten text.

[0023] Referring further to Figure 1, the text recognition module 124 may include an optical character recognition (OCR) system. The optical character recognition system or optical character reader (OCR) may be configured to convert an image of written text (e.g., typed, handwritten, or printed) into machine-encoded text. In some cases, the recognition of at least one keyword from the image components may include, but are not limited to, one or more processes including optical character recognition (OCR), optical word recognition, intelligent character recognition, and intelligent word recognition. In some cases, OCR may recognize written text one glyph or one character at a time. In some cases, optical word recognition may recognize written text one word at a time for languages ​​that use spaces as word delimiters, for example. In some cases, intelligent character recognition (ICR) may recognize written text one glyph or one character at a time, for example by using a machine learning process. In some cases, intelligent word recognition (IWR) may recognize written text one word at a time, for example by using a machine learning process.

[0024] Referring further to Figure 1, in some cases, OCR can be an "offline" process that analyzes static documents or image frames. In some cases, handwriting motion analysis can be used as input for handwriting recognition. For example, instead of simply using the shapes of glyphs or words, this technique can capture movements such as the order and direction in which line segments are drawn, and the pattern of lowering and lifting the pen. This additional information can make handwriting recognition more accurate. In some cases, this technique is also called "online" character recognition, dynamic character recognition, real-time character recognition, and intelligent character recognition.

[0025] Referring further to Figure 1, in some cases the OCR process may utilize image component preprocessing. Preprocessing processes may include, but are not limited to, deskew, despeckle, binarization, line removal, layout analysis or "zoning," line and word detection, script recognition, character separation or "segmentation," and normalization. In some cases, the deskew process may include applying transformations (e.g., homography or affine transformations) to image components to align text. In some cases, the despeckle process may include removing positive and negative spots and / or smoothing edges. In some cases, the binarization process may include converting an image from color or grayscale to black and white (i.e., a binary image). Binarization may be performed as a simple way to separate text (or any other desired image component) from the background of the image component. In some cases, for example, binarization may be required if the OCR algorithm used only works on binary images. In some cases, the line removal process may include removing non-glyphs or non-character images (e.g., boxes and lines). In some cases, a layout analysis or "zoning" process can identify columns, paragraphs, captions, etc., as separate blocks. In some cases, a line and word detection process can establish baselines of word and character shapes as needed and separate words. In some cases, a script recognition process can identify scripts, for example in multilingual documents, enabling the selection of an appropriate OCR algorithm. In some cases, a character separation or "segmentation" process can separate signal characters, for example, for character-based OCR algorithms. In some cases, a normalization process can normalize the aspect ratio and / or scale of image components.

[0026] Referring further to Figure 1, in some embodiments, the OCR process includes an OCR algorithm. An exemplary OCR algorithm includes a matrix matching process and / or a feature extraction process. Matrix matching may include comparing the image pixel by pixel with stored glyphs. In some cases, matrix matching may also be known as “pattern matching,” “pattern recognition,” and / or “image correlation.” Matrix matching may depend on the input glyphs being correctly separated from the rest of the image components. Matrix matching may also depend on stored glyphs that are similar in font and scale to the input glyphs. Matrix matching may work best with typewritten text.

[0027] Referring further to Figure 1, in some embodiments, the OCR process may include a feature extraction process. In some cases, feature extraction can decompose a glyph into features. Exemplary, non-limiting features may include corners, edges, lines, closed loops, line directions, line intersections, etc. In some cases, feature extraction can reduce the dimensionality of the representation and make the recognition process computationally more efficient. In some cases, the extracted features may be compared to an abstract vector-like representation of the character that can be reduced to one or more glyph prototypes. Common techniques for feature detection in computer vision are applicable to this type of OCR. In some embodiments, a machine learning process such as a nearest neighbor classifier (e.g., the K-nearest neighbor algorithm) may be used to compare image features with stored glyph features and select the closest match. The OCR may use any machine learning process described in this disclosure, for example, the machine learning process described with reference to Figure 2 below. Exemplary, non-limiting OCR software includes Cuneiform and Tesseract. Cuneiform is an open-source, multilingual optical character recognition system originally developed by Cognitive Technologies Inc. in Moscow, Russia. Tesseract is free OCR software originally developed by Hewlett-Packard, Inc. in Palo Alto, California, USA.

[0028] Referring further to Figure 1, in some cases, OCR can use a two-pass method for character recognition. The second pass involves adaptive recognition, using the character shapes recognized with high confidence in the first pass to better recognize the remaining characters in the second pass. In some cases, the two-pass method may be advantageous for unusual fonts or low-quality image components where the visual language content may be distorted. Another exemplary OCR software tool is OCRopus. The development of OCRopus is led by the German Research Center for Artificial Intelligence in Kaiserslautern, Germany. In some cases, OCR software can use neural networks, for example, the neural networks taught with reference to Figures 2, 4, and 5.

[0029] Referring further to Figure 1, OCR may, in some cases, include post-processing. For example, if the output is constrained by a vocabulary, OCR accuracy may be improved. The vocabulary may include a list or set of words that are permitted to appear in the document. In some cases, the vocabulary may include, for example, all words in English, or a more technical vocabulary for a particular field. In some cases, the output stream may be a plain text stream or a character file. In some cases, the OCR process may preserve the original layout of the visual language content. In some cases, proximity analysis may correct errors by utilizing co-occurrence frequency, noting that certain words are often found together. For example, "Washington, DC" is generally much more common in English than "Washington DOC." In some cases, the OCR process may use prior knowledge of the grammar of the language being recognized. For example, grammatical rules may be used to help determine whether a word is more likely to be a verb or a noun. Conceptualization of distance may be used for recognition and classification. For example, the Levenshtein distance algorithm may be used in OCR post-processing to further optimize the results.

[0030] Continuing to refer to Figure 1, the processor 104 may be configured to convert the data extracted from the label 112 into a digital format, which can be electronically stored and manipulated by the processor. Examples of digital formats may include textured representations (e.g., plain text, XML, JSON, etc.) and / or graphical representations (scanned labels containing graphic elements such as handwritten annotations or symbols may require this representation, e.g., digital vector graphics or bitmap images). Additionally or alternatively, the digital representation may be further structured using a specific data format, for example, but not limited to, scanned labels being represented using a standard format such as DICOM (Digital Imaging and Communications in Medicine) or HL7 (Health Level 7) to ensure interoperability with existing healthcare systems (some examples to be listed if any exist), enable seamless integration with database 300, and facilitate efficient data exchange and interoperability.

[0031] Continuing to refer to Figure 1, the processor 104 may be configured to generate a number of named entities 128 in response to a scanned label 120 using a named entity recognition process. As used in this disclosure, “named entity” is a specific type of word or phrase that represents a real-world object with a unique identity. Named entities are typically people, places, ideas, concepts, or things that represent a specific person, organization, place, date, time, product, event, quantity, disease, tissue sample, and other entities that can be uniquely identified. These entities play a crucial role in understanding context and extracting meaningful information from text. Named entities can provide contextual information and serve as reference points for understanding meaning and relationships within text. Recognizing and extracting named entities from text data is a fundamental task in natural language processing (NLP), information extraction, text mining, and various other applications where understanding the meaning of text and identifying key elements is critical.

[0032] Continuing to refer to Figure 1, the processor 104 may be configured to generate multiple named entities 128 using a named entity recognition (NER) system 132. Where used in this disclosure, the “Named Entity Recognition (NER) System” is software that identifies multiple named entities 128 from text. The NER system 132 may be configured to identify multiple named entities from scanned labels 120. Inputs to the NER system 132 may include a profile 108, labels 112, scanned labels 120, metadata, etc. Outputs to the named entity recognition system 132 may include multiple named entities 128. The named entities 128 may typically include a structured representation of the identified named entities in the form of annotations or tags attached to the original text.

[0033] Continuing to refer to Figure 1, the NER system 132 can generate multiple named entities 128 using a natural language processing model. Where used in this disclosure, “natural language processing (NLP) model” is a computational model designed to process and understand human language. It leverages techniques from machine learning, linguistics, and computer science to enable computers to understand, interpret, and generate natural language text. An NLP model can preprocess input text, which may include labels 112 and scanned labels 120, or any other data referred to herein. Preprocessing input text may include tasks such as tokenization (dividing text into individual words or subword units), normalization of text (lowercase, punctuation removal, etc.), and encoding text into a numerical representation suitable for the model. An NLP model may include a transformer architecture, which is a deep learning model that uses an attention mechanism to capture relationships between words or subword units in a text sequence. They consist of multiple layers of self-attention and feedforward neural networks. The NLP model can weight the importance of different words or subword units within a text sequence, taking context into account. This allows the model to capture dependencies and relationships between words, considering both local and global contexts. This process can be used to identify multiple named entities 128. The language processing model may include a program automatically generated by the processor 104 and / or named entity recognition system to generate associations between one or more significant terms extracted from scanned labels 120 and to detect such significant term associations (including, but not limited to, mathematical associations).Associations between linguistic elements, where the linguistic elements include significant terms extracted for the purposes of this specification, and the relationships between such categories and other such terms may include, but are not limited to, mathematical associations, including statistical associations between any linguistic element and any other linguistic element and / or linguistic elements. Statistical correlations and / or mathematical associations may include, for example, a probability formula or relation showing the likelihood that a given extracted significant term represents a given category of semantic meaning. As a further example, statistical correlations and / or mathematical associations may include probability formulas or relations showing positive and / or negative associations between at least the extracted significant terms and / or a given semantic relationship. Affirmative or negative indications may include indications that a given document exhibits or does not exhibit a categorical semantic relationship. Whether a phrase, sentence, word, or other text element within the scanned label 120 constitutes a positive or negative indicator can, in one embodiment, be determined by mathematical associations between detected significant terms, comparison with phrases and / or words that exhibit positive and / or negative indicators stored in the memory of the processor 104, and so on.

[0034] Continuing to refer to Figure 1, the processor 104 can classify multiple named entities 128 into multiple entity categories. As used in this disclosure, “entity category” is a category that represents one or more predetermined classes or types of data. An entity category may relate to one or more aspects of a histological slide. An entity category may include a broad area or aspect of a histological slide. Non-limiting examples of entity categories may include patient name, patient identification code, slide identification code, specimen identification code, specimen type, staining or preparation technique, alphanumeric identification code, pathological diagnosis, scoring or ranking of the histological slide, annotations, observations, notes, facility name, facility identification number, etc. In one embodiment, the processor 104 may be configured to generate multiple entity categories based on available scanned labels 120. The processor 104 may generate multiple entity categories based on past versions of entity categories. The processor 104 may generate multiple entity categories by extracting relevant features, characteristics, or traits associated with the scanned labels 120. The identification of features may depend on the nature and type of the histological slide. In a non-restrictive example, multiple named entities 128 may be classified into multiple entity categories based on their semantic meanings. In another embodiment, the processor 104 is configured to receive multiple entity categories from a database, such as database 300. In one embodiment, the entity categories can be used to retrieve a regular expression associated with each named entity from the database.

[0035] Continuing to refer to Figure 1, the processor 104 may be configured to classify each named entity 128 into one of several entity categories based on its spatial location on the scanned label 120. As used in this disclosure, “spatial location” refers to the location of the named entity on the label 112. The spatial location may take the form of a template-based NER. A template-based named entity recognition (NER) is a technique for identifying named entities in text using a given template or pattern. It relies on a set of fixed patterns that represent the structure or characteristics of the named entities to be extracted. In this case, the template may include multiple such fields at fixed spatial locations so that the processor 104 can assign the contents of each field to an entity category. The spatial location on the label 112 may be associated with one or more entity categories. The fields on the label 112 may include important information related to the slide and its associated data. These fields can provide identification, classification, and contextual details about the slide. Certain fields on the label 112 may be configured to have the same spatial location. In a non-limiting example, label 112 may include a spatial location or field for a person's name. To capture a person's name, processor 104 may obtain a list of known person names by referring to a lookup table described later herein and enter the person's name at the spatial location of the person's name. The format may vary depending on the laboratory or institution. Each field on label 112 may be associated with an entity category. Thus, processor 104 may be configured to classify each named entity 128 into an entity category based on its spatial location on label 112. Processor 104 may be configured to identify the spatial location on a scanned label depending on the healthcare facility to which the scanned label 120 is associated. Processor 104 may identify a healthcare facility using an alphanumeric code or another identifier on label 112 or in its associated metadata 116.

[0036] Continuing to refer to Figure 1, the processor 104 can determine multiple named entities using a lookup table. For the purposes of this disclosure, “lookup table” is a data structure such as an array of data that maps input values ​​to output values, but is not limited to this. Using a lookup table, runtime computations can be replaced with index operations such as array index operations. The lookup table may be configured to pre-calculate and store data in static program storage, which is computed as part of the program's initialization phase or stored in the hardware of the application-specific platform. The data in the lookup table may include previous examples of named entities compared with scanned labels 120. The data in the lookup table may be received from a database 300. The lookup table may also be used to generate multiple named entities 128 by matching input values ​​with output values ​​by matching inputs with a list of valid (or invalid) items in an array. In a non-limiting example, scanned labels 120 may include multiple fields containing text describing various aspects of a slide. An example of a named entity might indicate that the list of named entities from this particular healthcare facility includes patient names, patient identification numbers, sample identification numbers, and a list of staining or preparation techniques used on the slide. The lookup table can retrieve scanned labels 120 as input and output a list of named entities 128. The processor 104 may be configured to "retrieve" or input one or more scanned labels 120, labels 112, profiles 108, metadata 116, examples of named labels, etc. The output of the lookup table may also include a list of named entities. Alternatively or additionally, queries representing elements of scanned labels 120 can be submitted to the lookup table and / or database, and the associated data failure identifiers stored in the data records within the lookup table and / or database can be retrieved using the queries.

[0037] Continuing to refer to Figure 1, the processor 104 may be configured to generate scanned labels 120 using a label machine learning model. As used in this disclosure, “label machine learning model” is a machine learning model configured to generate scanned labels. The label machine learning model may be equivalent to a machine learning model or classifier, as described later in Figure 2. Inputs to the label machine learning model may include a profile 108, labels 112, metadata 116, multiple entity categories, examples of scanned labels 120, examples of named entities 128, etc. Outputs to the label machine learning model may include a list of scanned labels 120 and named entities. In some embodiments, the label machine learning model may be configured to sort the list of named entities 128 into one or more entity categories. Label training data is a set of data entries containing multiple inputs that correlate to multiple outputs for training the processor by a machine learning process. In one embodiment, the label training data may comprise multiple labels 112 that correlate to examples of scanned labels 120. In another embodiment, the label training data may comprise multiple labels 112 that correlate to examples of named entities. Label training data can be received from a database 300. The label training data may include information about profiles 108, labels 112, metadata 116, multiple entity categories, examples of scanned labels 120, examples of named entities 128, etc. Machine learning models can be, but are not limited to, linear machine learning models such as logistic regression and / or naive Bayes machine learning models, nearest neighbor machine learning models such as K-nearest neighbor machine learning models, support vector machines, least squares support vector machines, Fisher's linear discriminant, quadratic machine learning models, decision trees, boosted trees, random forest machine learning models, learning vector quantization, and / or machine learning models based on neural networks.

[0038] Continuing to refer to Figure 1, the processor 104 determines a confidence score 136 in relation to a comparison of the scanned label 120 with several previously scanned labels 120. Where used in this disclosure, “confidence score” is a quantitative measure of the accuracy of the content generated from the scanned label 120. The accuracy of the content of the scanned label 120 can refer to the accurate translation of the text of label 112 when generating the scanned label 120. The accuracy of the content of the scanned label 120 can also refer to the likelihood that the text of the scanned label 120 accurately reflects the content of the histological slide. The processor 104 can generate a confidence score 136 for each attribute of each entity. The confidence scores 136 can be used to normalize one or more scanned labels 120 to bring all scanned labels 120 to a comparable scale. This step is important to eliminate bias introduced by different qualities or views of the scanned labels. Normalization techniques may include minimum-maximum scaling, z-score normalization, or logarithmic transformation. In one embodiment, the confidence score 136 may be high if the content generated from the scanned label 120 is accurate, and conversely, the confidence score 136 may be low if the content generated from the scanned label 120 is likely to be inaccurate. The confidence score 136 can be expressed as a numerical score, a linguistic value, an alphanumeric score, or an alphabetical score. The confidence score 136 can be expressed as a score used to reflect the level of accuracy of the content of the scanned label 120. Non-limiting examples of numerical scores may include scales such as 1-10, 1-100, 1-1000, etc., where a rating of 1 may represent an inaccurate scanned label 120, and a rating of 10 may represent an accurate scanned label 120. In another non-limiting example, the linguistic value may include "very accurate," "moderately accurate," "moderately inaccurate," "very inaccurate," etc. In some embodiments, the linguistic value may correspond to a range of numerical scores. For example, a scanned label 120 that scores 50-75 on a scale of 1-100 may be considered "moderately accurate."

[0039] Continuing to refer to Figure 1, a confidence score 136 can be generated by comparing the currently scanned label 120 with previously scanned labels. As used in this disclosure, “previously scanned labels” are scanned labels 120 generated before the current iteration of the scanned label 120. The processor 104 can identify multiple previously scanned labels depending on the metadata 116 associated with the label 112. The metadata 116 may include information about a patient identifier or a healthcare facility identifier. Based on the patient identifier and / or healthcare facility identifier, the processor 104 can generate multiple previously scanned labels from the same facility and / or patient as the currently scanned label 120. The processor 104 can compare the previously scanned labels with the current scanned label 120 in terms of content, spatial location, font, etc. To verify the accuracy of the scanned label 120, and to compare the scanned label 120 with previously scanned labels, the processor 104 can implement a process that includes data matching and comparison. The processor 104 can extract relevant features or attributes from the current scanned label 120 and the previously scanned labels. These features may include specific fields or data elements such as slide ID, patient ID, specimen type, collection date, or any other relevant information present on the label. The processor 104 can then apply a comparison algorithm to evaluate the similarity or difference between the extracted features of the currently scanned label 120 and labels scanned in the past. The choice of comparison algorithm depends on the specific requirements and the nature of the data. For example, it could be a simple string comparison, a machine learning model, a fuzzy matching algorithm, or a more sophisticated technique such as Levenshtein distance or token-based similarity measurement. The processor 104 can determine if there is a match threshold or similarity threshold indicating the accuracy of the currently scanned label. If a match is found, this can be considered a verification of the label's accuracy. If there is a mismatch or discrepancy, further investigation or manual verification may be required.The processor 104 can assign a confidence score 136 indicating the level of accuracy or similarity between the currently scanned label 120 and previously scanned labels. This score may be based on the results of a comparison algorithm and can be used to make a decision based on a predetermined threshold or to trigger an appropriate action. In one embodiment, the previously scanned labels may be the barcodes described herein.

[0040] Continuing to refer to Figure 1, the confidence score 136 may include a derived score. As used in this disclosure, the “derived score” is a score that addresses the variability of the scanned label 120 compared to previously scanned labels. These variability may be caused by errors in OCR system performance resulting from text attributes such as font, bold, italics, and handwriting. The derived score may be negatively affected if the OCR system does not provide the same results for several OCR scans associated with the same user. The processor 104 may be configured to preprocess the scanned label 120. Preprocessing may include a step of normalizing the text attributes within the scanned label 120. This may include font standardization, removal of unwanted formatting, or conversion of text to a consistent style (e.g., removal of italics or bold). The processor 104 may extract relevant features or attributes, extracted from the scanned label and previously scanned labels. These features may include text content, font type, font size, bold, italics, or other relevant attributes that may affect OCR performance. Next, the processor 104 can compare the OCR results of the scanned label 120 with the OCR results of previously scanned labels. It evaluates the variability or differences in the OCR output, taking into account text attributes such as font, bold, italics, or handwritten style. Based on the comparison results, a derivation score can be calculated to quantify the level of variability or inconsistency in OCR performance. This score takes into account the frequency and magnitude of the variability in the OCR output related to different text attributes. The derivation score can serve as an indicator of the performance consistency of the OCR system. A lower derivation score suggests a lower likelihood of variability in OCR results due to text attributes, potentially reducing the confidence in detection accuracy. Conversely, a higher derivation score indicates more consistent OCR performance across different scans by the same user, increasing the confidence in detection.

[0041] Continuing to refer to Figure 1, the confidence score 136 may include a representation score. As used in this disclosure, “representation score” is a score that represents the OCR system’s translation of one or more words in the scanned label. The representation score may be reflected in each word in the scanned label 120, or it may be aggregated to provide a single score for all words contained in the scanned label 120. The processor 104 may be configured to preprocess the scanned label 120. Preprocessing may include a step of normalizing the text attributes in the scanned label 120. This may include font standardization, removal of unwanted formatting, or conversion of text to a consistent style (e.g., removal of italics or bold). The processor 104 can then extract multiple words from the scanned label 120. In some embodiments, the representation score may include a classification of each word in the scanned label 120 to a named entity 128. This classification may be performed by mapping the representation score to a predetermined set of named entities or categories. For each extracted word, processor 104 calculates a representation score that reflects the match or alignment with the expected named entity category. This score takes into account the presence or absence of a named entity associated with the extracted word. The representation score can serve as a confidence metric for the accuracy of the named entity classification. If the text extracted by OCR does not match one of the multiple named entities 128, the confidence decreases. A higher representation score indicates better alignment with the expected named entity, while a lower score suggests a potential error or mismatch.

[0042] Continuing to refer to Figure 1, the confidence score 136 may include a consistency score. As used in this disclosure, “consistency score” is a score representing the confidence level of the barcode. As described herein, the scanned label 120 may include one or more barcodes. The scanned label 120 (barcode) obtained via the OCR process may undergo a preprocessing step to normalize and clean the data. This may include noise removal, error correction, or text formatting. The processor 104 extracts barcode information from the scanned label 120 by applying barcode recognition techniques. This process may include decoding the barcode using a specific algorithm or library designed for barcode recognition. The processor 104 then extracts any accompanying text or information present with the barcode using the text recognition system described herein. The processor 104 may compare the content described by the extracted barcode with previously scanned labels or OCR scans. It evaluates whether there is a difference or mismatch between the information derived from the barcode and previously scanned labels. Based on content comparison, processor 104 can generate a consistency score that reflects the level of consistency between the barcode and previously scanned labels or other OCR-generated text. If there is a difference between the content described by the barcode and the OCR scan, the confidence level decreases, resulting in a lower consistency score. The generated consistency score provides a measure of accuracy between the scanned label 120 (barcode) and previously scanned labels or / or text obtained by OCR recognition. This helps to assess the reliability and confidence level of the accuracy of the scanned label. By evaluating the consistency score, the computer can make informed decisions, trigger appropriate actions, or initiate further verification processes based on a predetermined confidence threshold.

[0043] Continuing to refer to Figure 1, the confidence score 136 may include a temporal consistency score. Where used in this disclosure, the “temporal consistency score” is a score that addresses errors resulting from limitations in the consistency of handwritten or printed text. A temporal consistency score can be generated by comparing the current OCR scan to other documents associated with the same user, helping to capture degradation and reduce confidence. For example, a handwritten document contains the letter “R,” but the OCR system interprets the letter as “K” due to illegible handwriting. Processor 104 can compare the handwritten document to other documents in the set to identify inconsistencies between the scanned label 120 and labels scanned in the past. The temporal consistency score may reflect processor 104’s confidence in the scanned label. In the above example, the misinterpretation of the letter “R” could negatively impact the temporal consistency score. Processor 104 may normalize and clean the scanned label 120 through a preprocessing step. This includes noise reduction, error correction, and text formatting for comparison. Next, processor 104 compares the currently scanned label 120 with previously scanned labels. This comparison aims to identify inconsistencies or discrepancies in the text resulting from limitations in the quality of handwritten or printed text. Based on the text comparison, processor 104 can calculate a temporal consistency score that reflects the level of consistency or inconsistency between the currently scanned label 120 and previously scanned labels. This score helps to assess the temporal consistency and potential degradation of text recognition accuracy.

[0044] Continuing to refer to Figure 1, the processor 104 can generate a confidence score 136 based on the temporal consistency score, consistency score, representation score, and derivation score. This embodiment of the confidence score 136 may be an overall reflection of the confidence in the content generated from the scanned labels 120. In one embodiment, the confidence score 136 can be generated by averaging two or more of the aforementioned scores. This may involve assigning a weighted average to each score. In another embodiment, the confidence score 136 can be generated by evaluating the highest or lowest of the four scores as the confidence score 136.

[0045] Continuing to refer to Figure 1, the processor 104 can generate a confidence score 136 using a score machine learning model 140. Where used in this disclosure, “score machine learning model” is a machine learning model configured to generate a confidence score 136. The score machine learning model 140 may correspond to a machine learning model described later in Figure 2. Inputs to the score machine learning model 140 may include a profile 108, labels 112, metadata 116, multiple entity categories, scanned labels 120, named entities 128, and examples of confidence scores 136. Outputs from the score machine learning model 140 may include confidence scores 136 adjusted to one or more scanned labels 120. Outputs from the score machine learning model may further include a variation score, a representation score, a consistency score, and a temporal consistency score. Score training data may include multiple data entries, each containing multiple inputs correlated to multiple outputs for training a processor by a machine learning process. In one embodiment, the score training data may include multiple scanned labels 120 correlated to examples of confidence scores 136. Examples of confidence scores 136 may include historical confidence scores 136 generated from previous iterations of the score machine learning model or device 100. Score training data can be received from database 300. Score training data may include information such as profiles 108, labels 112, metadata 116, multiple entity categories, scanned labels 120, named entities 128, and examples of confidence scores 136. In one embodiment, the score machine learning model 140 can be iteratively updated with past input and output results of the score machine learning model. The machine learning model can be, but is not limited to, linear machine learning models such as logistic regression and / or naive Bayes machine learning models, nearest neighbor machine learning models such as K nearest neighbor machine learning models, support vector machines, least squares support vector machines, Fisher's linear discriminant, quadratic machine learning models, decision trees, boosted trees, random forest machine learning models, etc.

[0046] Continuing to refer to Figure 1, processor 104 can use comparative fuzzy inference to generate a confidence score 136 in response to a comparison of scanned label 120 with previously scanned labels. As used in this disclosure, “comparative fuzzy inference” is a method of interpreting values ​​in an input vector (i.e., scanned label 120 and previously scanned labels) and assigning values ​​to an output vector based on a set of rules. The set of fuzzy rules may include a set of linguistic variables that describe how the system should make decisions regarding the classification of inputs or the control of outputs. Fuzzy inference rules operate on a fuzzy set and provide a framework for mapping input variables to output variables via linguistic rules. Fuzzy inference rules may operate using linguistic variables that represent inaccurate or ambiguous concepts rather than exact numerical values. Linguistic variables are defined by membership functions that describe membership or degree of truth to different linguistic terms or categories. In a non-limiting example, the linguistic variables associated with the confidence score 136 may have linguistic terms such as “high confidence,” “medium confidence,” and / or “low confidence,” each having a corresponding membership function. Fuzzy inference rules typically follow a conditional "IF-THEN" structure, consisting of an antecedent (IF part) and a consequent (THEN part). The antecedent specifies the conditions or criteria under which the rule applies, and the consequent determines the output or conclusion of the rule. In one embodiment, the confidence score 136 may be determined by comparing the degree of matching between a first fuzzy set and a second fuzzy set, and / or by comparing a single value within it between each other or between either set, which is sufficient for the purposes of the matching process.

[0047] Referring further to Figure 1, the confidence score 136 may also be determined in accordance with the intersection of two fuzzy sets, each of which can represent the scanned label 120 and previously scanned labels, respectively. Comparing the scanned label 120 with previously scanned labels may involve using a fuzzy set inference system as described herein, or any scoring method as described throughout this disclosure. For example, but not limited to, the processor 104 may use a fuzzy logic model to determine the confidence score 136 in accordance with a fuzzy set comparison technique as described herein. In some embodiments, each piece of information related to the scanned label 120 can be compared with previously scanned labels, and the confidence score 136 may be expressed using a linguistic variable on a range of potential numerical values, the values ​​of the linguistic variable may be expressed as a fuzzy set on that range. A “good” or “ideal” fuzzy set may correspond to a range of values ​​that can be characterized as ideal, and other fuzzy sets may correspond to a range that can be characterized as average, bad, or other non-ideal ranges and / or values. In embodiments, these variables can be used to compare the scanned label 120 with previously scanned labels to determine a confidence score 136 specific to the scanned label 120. The fuzzy inference system can combine such linguistic variable values ​​according to one or more fuzzy inference rules, including any type of fuzzy inference system and / or rules described herein, to determine the degree of membership in one or more output linguistic variables having values ​​representing ideal overall performance, average or moderate overall performance, and / or low or insufficient overall performance. Such mappings can be “defuzzed” as described in more detail below to provide an overall output and / or evaluation.

[0048] Referring further to Figure 1, the processor may be configured to use a naive Bayes classification algorithm to generate machine learning models, such as score machine learning models. The naive Bayes classification algorithm generates classifiers by assigning class labels to problem instances, which are represented as vectors of element values. The class labels are drawn from a finite set. The naive Bayes classification algorithm can include generating a family of algorithms that, given class variables, assume that the values ​​of certain elements are independent of the values ​​of any other elements. The naive Bayes classification algorithm can be based on Bayes' theorem, expressed as P(A / B) = P(B / A)P(A)÷P(B), where P(A / B) is the probability of hypothesis A given data B, also known as the posterior probability; P(B / A) is the probability of data B given that hypothesis A is true; P(A) is the probability that hypothesis A is true regardless of the data, also known as the prior probability of A; and P(B) is the probability of data unrelated to the hypothesis. The naive Bayes algorithm can be generated by first converting the training data into a frequency table. The processor 104 can then compute a likelihood table by calculating the probabilities of different data entries and classification labels. The processor 104 can then use the naive Bayes equation to compute the posterior probability of each class. The class with the highest posterior probability is the prediction result. The naive Bayes classification algorithm can include a Gaussian model following a normal distribution. The naive Bayes classification algorithm can include a multinomial model used for discrete counts. The naive Bayes classification algorithm can include a Bernoulli model, which can be used when the vectors are binary.

[0049] Referring further to Figure 1, the processor 104 may be configured to generate machine learning models, such as score machine learning models, using the K-Nearest Neighbors (KNN) algorithm. Where used in this disclosure, the “K-Nearest Neighbors algorithm” includes a classification method that utilizes feature similarity to analyze how similar out-of-sample features are to the training data and classifies the input data into one or more clusters and / or feature categories as represented in the training data. This can be done by representing both the training data and the input data in vector form, using one or more measures of vector similarity to identify classifications in the training data and determine the classification of the input data. The K-Nearest Neighbors algorithm may include specifying a K value, which is a numerical value that instructs a classifier to select the training data of the k entries most similar to a given sample, determining the most common classifier for the entries in the database, and classifying the known sample. This can be done recursively and / or iteratively to generate classifiers that can be used to classify the input data as further samples. For example, an initial set of samples may be run to cover an initial heuristic and / or “first guess” in the output and / or relationships, which may be seeded with expert input received in accordance with any process described herein, but not limited to such processes. As a non-limiting example, the initial heuristic may include ranking the associations between input and training data elements. The heuristic may include selecting some of the highest-ranking associations and / or training data elements.

[0050] Continuing to refer to Figure 1, the K-nearest neighbor algorithm generates a first vector output containing the data entry cluster, a second vector output containing the input data, and the distance between the first and second vector outputs can be calculated using any appropriate norm, such as cosine similarity or Euclidean distance measure. Each vector output can be represented as an n-tuple of values, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, the values ​​can be represented as an axis for each category of values ​​represented in the n-tuple of values, for the purposes of this disclosure, for the purposes of this disclosure, for the purposes of this disclosure, for the data entry cluster containing Vectors may be more similar if their directions are more similar, or more different if their directions are more divergent. However, vector similarity may alternatively or additionally be determined using the average of similarities between similar attributes, or any other measure of similarity suitable for the values ​​of any n-tuple, or an aggregation of numerical similarities for the purpose of a loss function, as described in more detail below. Any vectors described herein can be scaled so that each vector represents each attribute along a scale of equivalent values. Each vector may be “normalized,” or Pythagorean norm:

[0051]

number

[0052] It may also be divided by a "length" attribute such as the length attribute l which is derived using, in the expression a iis the attribute number of the empirical vector. Scaling and / or normalization can function to perform vector comparisons independently of the absolute quantity of attributes, while preserving any dependency on attribute similarity. This may be advantageous, for example, when the instances represented in the training data are represented by different quantities of samples, resulting in proportionally equivalent vectors with divergent values.

[0053] Referring further to Figure 1, the processor 104 may be configured to display a confidence score 136 using a display device 144. As used in this disclosure, “display device” is a device used to display content. The display device 144 may include a user interface. As used herein, “user interface” is a means by which a user interacts with a computer system, for example, by using an input device and software. A user interface may include a graphical user interface (GUI), a command line interface (CLI), a menu-driven user interface, a touch user interface, a voice user interface (VUI), a form-based user interface, or any combination thereof. A user interface may include a smartphone, smart tablet, desktop, or laptop operated by the user. In one embodiment, the user interface may include a graphical user interface. As used herein, “graphical user interface (GUI)” is a graphical form of a user interface that enables a user to interact with an electronic device. In some embodiments, the GUI may include icons, menus, other visual indicators, or representations (graphics), audio indicators such as primary notation, as well as display information and associated user controls. A menu may include a list of choices from which the user can select one. A menu bar, such as a pull-down menu, may be displayed across the screen. When any option in this menu is clicked, a pull-down menu may appear. The menu may include a context menu that is displayed only when the user performs a specific action.One example of this is pressing the right mouse button. When this is done, a menu may appear under the cursor. Files, programs, web pages, etc., can be represented using small images within a graphical user interface. For example, links to the decentralized platform described in this disclosure may be incorporated using icons. Using icons can be a quick way to open documents, run programs, etc., because clicking them provides immediate access. Information contained in a user interface can be directly influenced using graphical control elements such as widgets. As used herein, “widget” is a user control element that allows a user to control and change the appearance of elements within a user interface. In this context, a widget can refer to a general GUI element such as a checkbox, a button, or a scroll bar to an instance of that element, or a customized set of such elements used for a particular function or application (such as a dialog box for a user to customize the appearance of a computer screen). User interface controls may include software components that the user interacts with through direct manipulation to read or edit information displayed through the user interface. Widgets may be used to display a list of related items, navigate the system using links and tabs, and manipulate data using checkboxes, radio buttons, etc.

[0054] Referring further to Figure 1, the processor 104 may be configured to perform an inversion detection process to determine the state of the slide data in profile 108, such as the orientation of the digital representation of the slides as described above. Inversion detection may be performed before the generation of scanned labels 120 to ensure that the metadata 116 can be properly extracted. When performing inversion detection, the processor 104 can implement multiple image analysis techniques and algorithms. For example, profile 108 may include high-resolution digital images of a group of stained or labeled slides using the method described above. The images may then be preprocessed to improve image quality and normalize lighting and color variations. Processes such as contrast enhancement, noise reduction, and color correction may be applied to make staining details and identifiers clear and distinct. Preprocessing slide images may include performing color extraction. The processor 104 may analyze each pixel in the image and extract its color value. Typically, a digital image consists of pixels, each represented in the RGB (red, green, blue) color space. The processor 104 can read the RGB values ​​of each pixel, which can be used directly for pattern recognition or converted to other color spaces such as HSV (hue, saturation, value) or LAB for different analysis purposes. In some embodiments, the hue values ​​of the stained region can be extracted using any of the above color extraction techniques. In some embodiments, the hue values ​​of the stained region may be extracted from multiple pixels within the stained region, and the extracted hue values ​​may be averaged together to obtain a hue value. In some embodiments, the saturation values ​​of the stained region can be extracted using any of the above color extraction techniques. In some embodiments, the saturation values ​​of the stained region may be extracted from multiple pixels within the stained region, and the extracted saturation values ​​may be averaged together to obtain a saturation value. In some embodiments, the color values ​​of the stained region can be extracted using any of the above color extraction techniques. In some embodiments, the color values ​​of the stained region may be extracted from multiple pixels within the stained region, and the extracted color values ​​may be averaged together to obtain a color value.In some embodiments, the RGB values ​​of a stained region can be extracted using any of the RGB extraction techniques described above. In some embodiments, the RGB values ​​of a stained region may be extracted from multiple pixels within the stained region, and these extracted RGB values ​​may be averaged together to obtain an RGB value. The processor 104 can also segment a slide image into different parts based on predetermined areas such as quadrants or clusters. Once segmented, the processor 104 can calculate the average color or pixel intensity for each segment. This average provides a more generalized view of which colors are dominant in each part of the slide, which may be useful in identifying larger patterns related to orientation. Segmentation can include fixed-grid segmentation, where the image is segmented into predetermined segments such as quadrants or grids. Each segment is then analyzed independently. Segmentation can include clustering-based segmentation, where pixels are grouped into clusters based on similarity of color or intensity. Algorithms such as K-means or mean-shifts can be used to generate clusters. Calculating the average color or pixel intensity may include determining the RGB mean. For each segment, processor 104 can sum the red, green, and blue values ​​of all pixels and then divide by the total number of pixels in that segment. This gives the average RGB value for that segment. For example, the formula is:

[0055]

number

[0056] This may also be the case. Similar calculations can be performed for green and blue. In some embodiments, RGB values ​​may be converted to other color spaces such as HSV (Hue, Saturation, Value) for more effective color analysis, for example, when dealing with variations in lighting or when hue is more relevant than intensity.

[0057] Referring further to Figure 1, preprocessing a slide image may include performing contrast calculations. Contrast can be calculated by examining the difference in intensity between adjacent pixels or within small patches of the image. Methods may include, but are not limited to, a Laplacian filter or an edge detection algorithm (e.g., Sobel, Canny). For example, processor 104 may implement a Sobel filter to calculate the gradient of image intensity at each pixel and provide the rate of change in brightness corresponding to the edges. Processor 104 may capture local changes in contrast, which may reveal edges, textures, and other important features that are sensitive to orientation. For a wider field of view, processor 104 may calculate contrast over a larger area or the entire image. This may include finding the maximum and minimum intensity values ​​in the entire image or a large segment and calculating the difference. High-contrast areas, particularly areas aligned with known patterns (such as edges of tissue or specific structures), may be useful in determining the correct orientation. Processor 104 may calculate the difference between the maximum and minimum intensity values ​​in the entire image or a large area. For example, the formula could be Contrast = Maximum (Intensity Value) - Minimum (Intensity Value).

[0058] Referring further to Figure 1, following preprocessing, a color parameter evaluation can be generated. The color parameter evaluation can analyze how well the color distribution and intensity within the slide of profile 108 matches the expected pattern corresponding to the correctly oriented slide. Processor 104 can implement a color parameter machine learning model to analyze the distribution and intensity of stains such as hematoxylin blue and eosin pink in H&E staining and evaluate whether the profile 108 slide image matches the exception of the correctly oriented slide based on the color parameters by classifying it into multiple evaluation metrics. Machine learning algorithms, including convolutional neural networks (CNNs), can be used to recognize correctly oriented specimens / slides based on staining patterns, for example. Using the preprocessed and segmented slide images derived from the color extraction process, as described above, the color parameter machine learning model can analyze the average color and color distribution within the segments to recognize staining patterns. For example, a specific stain is expected in a particular area of ​​the correctly oriented slide. If the observed pattern deviates from these expected distributions, it may indicate that the slide is inverted or incorrectly oriented. As described above, the training data for a color parameter machine learning model can correlate preprocessed slide data, such as color or pixel intensity based on segments or the entire image, with color orientation data. The color orientation data can include samples of staining patterns from various segmented and whole slides, detected from the color extraction method as described above, associated with samples of staining patterns from correctly oriented slides. The color orientation data can include a wide range of staining patterns to cover various types of tissues and staining techniques. Each sample in the color orientation dataset may be annotated with an accurate orientation label. The label may include "correctly oriented," "horizontally flipped," "vertically flipped," "rotated 90 degrees," etc. The output of the color parameter machine learning model can include the slide orientation status based on color analysis.The output of a color parameter machine learning model may include one or more evaluation metrics. Evaluation metrics may include classification scores ranging from low to high, indicating the degree of certainty of the slide's features' resemblance to known patterns. Evaluation metrics may include deviation metrics related to color intensity. Color deviation measures how much the actual color on the slide differs from what would normally be expected for a correctly oriented slide. Intensity deviation indicates variability in the expected intensity level of staining, which may be important for certain types of analysis. Evaluation metrics may include anomaly flags indicating the type and location of anomalies. Detected anomaly types may include unexpectedly high-intensity areas, inaccurate color gradients, etc. In embodiments where segmented image analysis is performed by a color parameter machine learning model, evaluation metrics may include the orientation status of each segment, which may differ across the slide if complex or mixed tissue types are present, and a classification score for each segment.

[0059] Referring further to Figure 1, following preprocessing, processor 104 can generate contrast parameter evaluations. Contrast parameter evaluations can analyze how well the contrast levels within the slides of profile 108 match the expected pattern corresponding to the correctly oriented slides. Processor 104 can implement a contrast parameter machine learning model configured to receive contrast data, such as the calculated difference between maximum and minimum intensity values ​​across the entire image or within a large area, as input for outputting contrast evaluation metrics similar to those of a color parameter machine learning model. Examples include orientation status, classification score, deviation metrics, and anomaly detection. A contrast-based deviation metric can indicate how much the observed contrast on a slide deviates from the expected contrast of a correctly oriented slide. This may include gradient anomalies or specific measurements of anomalous contrast levels that may indicate inaccurate orientation. A contrast-based anomaly flag may include specific types of contrast anomalies, such as unexpected sharp edges or high-contrast areas that do not follow the normal pattern of a given slide type. Training data for the contrast parameter machine learning model can include slide images correlated with contrast orientation data. The contrast orientation data can include a large set of slide images with known orientations. Each image can be associated with the preprocessed contrast data described above. These images can be annotated with labels indicating the correct orientation. Contrast orientation data can include variations in tissue type, staining quality, and other factors that may affect the contrast pattern, ensuring that the model learns to recognize orientation across diverse scenarios.

[0060] Referring further to Figure 1, following preprocessing, the processor 104 can generate a label parameter evaluation. The label parameter evaluation can analyze how well the data extracted from the slides of profile 108 matches the expected pattern corresponding to the correctly oriented slides. The extracted data can refer to data received using the OCR process as described above. For example, the extracted data may include the location of labels 112, such as barcodes, because these may be placed in specific locations relative to the specimen shown on the slide. The processor 104 can train and implement a label evaluation machine learning model to output label evaluation metrics similar to those of the color parameter machine learning model and the contrast parameter machine learning model. The training data for the label evaluation machine learning model can include slide images correlated with label orientation data. The label orientation data can include high-resolution images of slides containing various labels (e.g., barcodes, QR codes®, alphanumeric identifiers). Each image can be annotated with label location, label content (data contained in the label that may need to be correctly read and interpreted), and label orientation, etc. Label orientation data can include various label types positioned against different backgrounds (e.g., different staining or tissue types) to ensure that the model can generalize across different scenarios it actually encounters.

[0061] Referring further to Figure 1, to determine the orientation of slide images within profile 108, processor 104 can train and implement an orientation machine learning model configured to review and aggregate color, contrast, and label evaluation metrics against specific criteria or thresholds to determine the actual orientation of the slide images. The orientation machine learning model may include a classifier configured to classify multiple evaluation metrics into orientation statuses using threshold analysis. The training data can use thresholds to define what constitutes correct or incorrect orientation for labels, colors, and contrasts. For example, a certain color intensity or contrast level may be considered a threshold above which the slide is classified as incorrectly oriented. These thresholds are established based on expert input or historical data (e.g., training data for the color, contrast, and label machine learning models as described above) to ensure they realistically represent clinical or laboratory criteria. For example, if the deviation of the color distribution from the expected pattern exceeds a given threshold, the slide may be flagged as potentially incorrectly oriented. Similarly, anomaly detection thresholds can trigger a warning when an anomaly pattern in contrast or label position is detected. The training data may include multiple thresholds classified into orientation status / labels. For example, training data may include thresholds for inverted orientation, 90-degree orientation, and correct orientation. For instance, a slide may be classified as inverted if two or more of the following conditions are met: color deviation exceeds 20% from the baseline, contrast inversion exceeds 50% from the expected gradient, or label misplacement exceeds 80% from the correct position. The processor 104 may flag profile 108 as potentially containing inverted digital slides within its digital representation and display the flag / warning via the interface or display device described herein. The output of the orientation machine learning model may include orientation labels such as "correct orientation," "incorrect orientation," "correct label position," and "inverted" to indicate orientation status.To enhance reliability, the processor 104 also provides an option for manual verification in case of uncertainty and can continuously adjust its thresholds and criteria based on new data and expert feedback to improve accuracy.

[0062] Referring further to Figure 1, to improve the accuracy of the inversion detection process, the threshold in the orientation machine learning training data can be adaptively adjusted based on a successive set of slides being scanned. As a slide is scanned, typical color and contrast values ​​of an uninverted slide can be tracked. Based on these previous slides, the threshold can be fitted. This method allows the orientation machine learning model to adjust its evaluation parameters in real time and provides a robust mechanism for handling potential anomalies and variations across batches of slides. As a slide is processed, processor 104 continuously tracks and records typical color and contrast values ​​of an uninverted slide. These data points can form a baseline of expected values ​​for a correctly oriented slide. Over time, as more slides are scanned, this dataset becomes increasingly richer, enabling a more accurate and precise benchmark for evaluating new slides. By comparing each new slide to a previously analyzed set of slides, the orientation machine learning model can more effectively detect outliers and anomalies. If a single slide deviates significantly from a set of established patterns, perhaps in color distribution, contrast levels, or label placement, it can be flagged for further investigation. For example, if a new batch of slides exhibits slightly different color intensities due to variations in the staining technique, the processor 104 can adjust the color intensity threshold to better match these new conditions, thereby reducing the risk of incorrectly flagging slides for the wrong orientation.

[0063] Referring further to Figure 1, the orientation of the slide image can affect the generation of the confidence score 136. The correct orientation of the slide is important to ensure that the stains and labels look as expected, and that the automated system recognizes and interprets them accurately. Inverted or mis-oriented slides may display stains in an abnormal configuration, which can be misleading. For example, stains intended to highlight the top layer of a tissue section appearing at the bottom can confuse the system and lead to incorrect tissue identification or misclassification. If the inversion detection process detects a mis-orientation, the processor 104 may lower the confidence score of the slide's analysis result. To address orientation issues, the scoring machine learning model 140 can dynamically adjust the confidence score threshold. For example, if a batch of slides consistently exhibits minor orientation issues, the scoring machine learning model 140 can adapt its scoring mechanism to be less sensitive to certain orientation-based errors, balancing the need for accuracy with practical considerations.

[0064] Referring further to Figure 1, the processor 104 may be configured to adjust confidence scores using image analysis. For example, the processor 104 can classify named entities into stain-related entity categories and adjust confidence scores for generating scanned labels 120. The processor 104 can evaluate staining on a slide using both macro and whole slide images of the slide data in profile 108. As used herein, “macro image” is a high-level, large-scale photograph of the specimen containing broader contextual details of the slide. As used herein, “whole slide image (WSI)” is a high-resolution digital scan of the entire histological or pathological slide. They are created using a dedicated scanning device that captures every detail of the slide at a microscopic level. Macro and whole slide images capture extensive detail across the entire slide, not just the labeled areas. By focusing on unlabeled areas, the processor 104 can analyze the staining itself without interference from text or graphic annotations. Each type of histological stain may have a characteristic color or hue, which may be predefined in a database such as those described herein. For example, hematoxylin typically stains cell nuclei blue, while eosin stains cytoplasm and other tissue components in various shades of pink. During analysis, processor 104 can measure the actual hue of the stain visible on the slide. This color measurement can then be compared to the expected hue of the identified stain based on the NER results. The hue detected from the slide image can be compared to the typical hue expected for the stain identified by NER. If there is a mismatch between the detected hue and the typical hue of the stain, it may indicate a potential error in the stain identification process or a problem with the staining of the slide itself. As a result, the confidence score of the detected stain is adjusted to reflect this discrepancy. For example, NER system 132 can identify the stain on the slide as hematoxylin.The typical hue of hematoxylin may be a specific shade of blue, as predefined in the system. Processor 104 can then analyze the stain's hue from the unlabeled portion of the slide image. If the image analysis reveals that the stain's hue is closer to purple than the typical blue associated with hematoxylin, this mismatch may trigger a re-evaluation of the confidence score. For example, if the initial confidence score based solely on text analysis was 90%, discovering a hue mismatch may reduce this score to 60%, reflecting an increased uncertainty regarding the identity of the stain.

[0065] Referring further to Figure 1, performing image analysis for confidence score adjustment may include preprocessing the entire slide image and the Marko image. For example, preprocessing may include applying a blurring filter, such as a median filter or a Gaussian filter, to the WSI to reduce image noise that may interfere with the analysis. Preprocessing may include standardizing color representation across different slides to mitigate variations due to different lighting conditions or staining intensity. Techniques such as histogram matching or color balancing may be used. Preprocessing may include enhancing the contrast of the WSI to better distinguish between stained and unstained areas and to improve the visibility of tissue structures. After preprocessing, the processor 104 can perform stain detection analysis. Stain detection analysis may include separating stained areas from the rest of the tissue using image segmentation techniques. This may include color-based segmentation methods in which specific hue, saturation, and value (HSV) thresholds are set to identify common staining colors (e.g., blue for hematoxylin). Stain detection analysis may further include extracting color features from the segmented areas. This may include measuring the hue, saturation, and intensity of these areas for comparison with a predetermined standard of typical stain colors. After stain detection analysis, processor 104 may train a machine learning model, such as a convolutional neural network (CNN), using a dataset of labeled images of slides where the stain types correlate with their correct hues. Processor 104 may input preprocessed / separated regions of macro and entire slide images into a machine learning model configured to validate stain types. The machine learning model can evaluate whether the detected stain colors match those expected for correctly applied stains. The machine learning model output may include stain labels indicating the stain type and / or color match of the slide data. In some embodiments, the stain labels may include expected hues. For the purposes of this disclosure, “expected hue” is the hue associated with a particular stain that is expected to be seen in the stained areas exposed to the stain.In some embodiments, the processor 104 may retrieve the expected hue using the staining type from a database. In some embodiments, the processor 104 may retrieve the expected hue from a lookup table. The lookup table may, in non-limiting examples, correlate the staining type to the expected hue or range of expected hues. The staining type label may include category labels representing different types of stains used for biological slide preparation and medical slide preparation. The color match label may indicate whether the detected stain color in the slide data matches the expected hue of the correctly applied stain. The color match label may include labels such as “correct” or “incorrect.” In some embodiments, the processor may determine the hue difference by comparing the expected hue value of the stain with the hue value of the stained area. For the purposes of this disclosure, “hue difference” is the difference in hue between the measured value and the expected value. In some embodiments, the hue difference may be used to determine the color match label as disclosed above.

[0066] Referring further to Figure 1, when adjusting the confidence score 136 based on the scoring machine learning model 140, the processor 104 can compare the output to the expected staining characteristics. If there is a significant deviation from the expected value in the color metrics (hue, saturation, intensity), the processor 104 can adjust the confidence score downward. Adjusting the confidence score can include adjusting the derivation score, consistency score, representation score, etc., as described above. For example, adjusting the derivation score can include evaluating whether the visual attributes of the stain on the current slide (such as color and pattern) match the expected attributes derived from historical data. The processor 104 can compare the stain metrics of the current slide to historical baseline values ​​stored in the database. For example, if the typical hue of hematoxylin stain is a specific shade of blue, the processor 104 can measure how close the hue of the current slide is to this shade. If the color of the stain on the current slide deviates from the historical mean by a set threshold, the derivation score can be adjusted. For example, if hematoxylin typically appears at a hue value of 240 (on a scale where 360 ​​represents a full circle in the HSV color space), but the current slide shows a hue of 250 which is outside the acceptable range, the derived score will be reduced. The degree of adjustment to the derived score can be directly proportional to the deviation from the baseline. Small deviations may result in only slight adjustments, while larger deviations may result in a more significant reduction in the derived score. Continuing with the hematoxylin example, the acceptable deviation can be up to five hue points. A deviation of 10 points can reduce the derived score by a coefficient such as 20%, reflecting an increase in uncertainty regarding the added quality of the stain. The adjusted derived score can then be integrated with other components of the confidence score, such as the expression score and consistency score, to generate an overall confidence score / level for the slide analysis. Furthermore, the processor 104 may implement these methods described herein for the generation of confidence scores, rather than for adjusting previously generated confidence scores.

[0067] Referring further to Figure 1, in some embodiments, the confidence score 136 may include a hue confidence score. The hue confidence score can be calculated from hue values ​​extracted from the dyed area and the expected hue values ​​of the dyed area. In some embodiments, the score machine learning model 140 may be trained using hue training data, which may include examples of correlations between expected hue values ​​and hue values ​​and hue confidence scores. In some embodiments, the hue training data may include examples of correlations between hue differences that correlate to the confidence score. In some embodiments, the hue training data may include dye type labels associated with hue values ​​and / or expected hue values. In some embodiments, the score machine learning model 140 may be trained using a subset of the hue training data, which may be hue training data relating to a specific dye type or dye type label. In some embodiments, the confidence score 136 may be adjusted using the hue confidence score. For example, as a non-limiting example, the hue confidence score may be averaged with the confidence score 136 to generate an adjusted confidence score. For example, as a non-restrictive example, the hue confidence score can be averaged with a confidence score of 136 using a weighted average to generate an adjusted confidence score.

[0068] Referring here to Figure 2, an exemplary embodiment of a machine learning module 200 capable of performing one or more machine learning processes described herein is shown. The machine learning module can use the machine learning processes to perform steps, methods, processes, etc., of decision, classification, and / or analysis described herein. As used in this disclosure, “machine learning process” is a process that automatically uses training data 204 to generate an algorithm that is instantiated in hardware or software logic, data structures, and / or functions, which is executed by a computing device / module to produce an output 208 given data as input 212. This is in contrast to non-machine learning software programs, which are written in a programming language and whose commands to be executed are predetermined by the user.

[0069] Referring further to Figure 2, the “training data” as used herein is data containing correlations that can be used by a machine learning process to model the relationships between two or more categories of data elements. For example, but not limited to, training data 204 may contain multiple data entries, also known as “training examples,” where each entry represents a set of data elements recorded, received, and / or generated together. Data elements may be correlated by the presence of common elements in a given data entry, proximity in a given data entry, etc. Multiple data entries within training data 204 may reveal one or more trends in the correlations between categories of data elements. For example, but not limited to, higher values ​​of a first data element belonging to a first category of data elements may correlate with higher values ​​of a second data element belonging to a second category of data elements, showing a possible proportional or other mathematical relationship linking values ​​belonging to the two categories. Multiple categories of data elements can be related to training data 204 according to various correlations. Correlation can indicate causal and / or predictive links between categories of data elements, which can be modeled as relationships, such as mathematical relationships, by machine learning processes, as will be described in more detail below. The training data 204 can be formatted and / or organized by categories of data elements, for example, by associating data elements with one or more descriptors corresponding to categories of data elements. As a non-limiting example, the training data 204 may include data entered in a standardized format by a person or process, such that entries of a given data element in a given field in a form can be mapped to one or more descriptors of categories. Elements in the training data 204 may be linked to category descriptors by tags, tokens, or other data elements.For example, but not limited to, the training data 204 can be provided in a fixed-length format, a format that links the data location to categories such as comma-separated value (CSV) format, and / or a self-describing format such as an extensible markup language (XML) or JavaScript® Object Notation (JSON), enabling a process or device to detect the data categories.

[0070] Alternatively or additionally, continuing to refer to Figure 2, the training data 204 may include one or more unclassified elements. That is, the training data 204 may not be formatted or may not contain descriptors for some elements of the data. Machine learning algorithms and / or other processes can sort the training data 204 according to one or more classifications, for example, using natural language processing algorithms, tokenization, or the detection of correlation values ​​in the raw data. Categories can be generated using correlation and / or other processing algorithms. As a non-limiting example, in a corpus of text, phrases constituting a number "n" of compound words, such as nouns modified by other nouns, may be identified according to the statistically significant frequency of n-grams containing such words in a particular order. Such n-grams may be classified as linguistic elements, such as "words," which are tracked as well as single words, and new categories can be generated as a result of statistical analysis. Similarly, in data entries containing some text data, people's names are identified by referencing lists, dictionaries, or other glossaries of terms, enabling ad-hoc classification by machine learning algorithms and / or automated association of data within data entries with descriptors or given forms. The ability to automatically classify data entries makes the same training data 204 applicable to two or more different machine learning algorithms, as will be described in more detail below. The training data 204 used by the machine learning module 200 can correlate any input data described herein to any output data described herein. An exemplary example of the training data 204, not limited to this example, is a set of scanned labels 120 correlated to an example of confidence score 136.

[0071] Referring further to Figure 2, one or more supervised and / or unsupervised machine learning processes and / or models can be used to filter, sort, and / or select training data, as will be described in more detail below. Such models may include, but are not limited to, a training data classifier 216. The training data classifier 216 may include a “classifier,” which, as used in this disclosure, is defined as a mathematical model, a data structure that represents and / or uses a neural network, or a data structure that represents and / or uses a program generated by a machine learning algorithm known as a “classification algorithm,” which classifies an input into categories or bins of data and outputs categories or bins of data and / or labels associated therewith. The classifier may be configured to output at least one data point that labels or identifies datasets that have been clustered together and found to be close under a distance metric, as described below. The distance metric may include, but is not limited to, any norm, such as the Pythagorean norm. The machine learning module 200 can generate classifiers using classification algorithms defined as the process by which a computing device and / or any module and / or component operating therein derives a classifier from training data 204. Classification can be performed using, but is not limited to, linear classifiers such as logistic regression and / or naive Bayes classifiers, nearest neighbor classifiers such as K-nearest neighbor classifiers, support vector machines, least squares support vector machines, Fisher linear discriminant, quadratic classifiers, decision trees, boosted trees, random forest classifiers, learned vector quantization, and / or neural network-based classifiers.

[0072] Referring further to Figure 2, training examples for use as training data may be selected from a population of potential examples according to a cohort related to the analytical problem to be solved, classification task, etc. Alternatively or additionally, training data may be selected to span a range of situations or inputs that the machine learning model and / or process may encounter during deployment. For example, for each category of input data to a machine learning process or model that may exist within a range of values ​​in a population of phenomena such as images, user data, process data, and physical data, the computing device, processor, and / or machine learning model may select training examples that represent each possible value and / or a representative sample of values ​​in such a range. The selection of representative samples may include, for example, selecting training examples in proportion to a statistically determined and / or predicted distribution of such values ​​according to relative frequency, such that values ​​that are encountered more frequently in the population of data thus analyzed are represented by more training examples than values ​​that are encountered less frequently. Alternatively or additionally, the set of training examples may be compared against and / or presented to the user a set of representative values ​​in a database so that the process can automatically or via user input detect one or more values ​​that are not included in the set of training examples. Computing devices, processors, and / or modules can automatically generate missing training examples. This can be done by receiving and / or acquiring missing input and / or output values, and correlating the missing input and / or output values ​​with the acquired values ​​and corresponding output and / or input values ​​that coexist in the data record, provided by the user and / or other devices, etc.

[0073] Referring further to Figure 2, the computer, processor, and / or module may be configured to sanitize the training data. When used in this disclosure, “sanitizing” the training data is the process of removing training examples that would hinder the convergence of the machine learning model and / or processing to useful results. For example, but not limited to, training examples may include input and / or output values ​​that are outliers from values ​​that are normally encountered, and a machine learning algorithm using training examples will adapt to quantities that are less likely to be input and / or output. For example, values ​​that exceed a threshold of standard deviation from the mean, median, or expected value may be excluded. Alternatively or additionally, one or more training examples may be identified as having low-quality data, “low-quality” is defined as having a signal-to-noise ratio below a threshold.

[0074] As a non-limiting example, and referring further to Figure 2, images used to train an image classifier or other machine learning model, and / or images used in a process that takes images as input or generates images as output, may be rejected if their image quality falls below a threshold. For example, but not limited to, computing devices, processors, and / or modules may perform blur detection and eliminate one or more blurs. Blur detection can be performed, as a non-limiting example, by performing an approximation such as a Fourier transform or Fast Fourier transform (FFT) of the image and analyzing the distribution of low and high frequencies in the frequency domain depiction of the resulting image. The number of high-frequency values ​​below a threshold level may indicate blur. As a further non-limiting example, blur detection may be performed by convolving the image, the channels of the image, etc., with a Laplacian kernel. This can generate a numerical score that reflects the number of abrupt changes in intensity shown in the image, such that a high score indicates clarity and a low score indicates blur. Blur detection can be performed using gradient-based operators that measure the operator based on the gradient or first derivative of an image, based on the hypothesis that abrupt changes indicate sharp edges in an image and therefore indicate a lower degree of blur. Blur detection can be performed using wavelet-based operators that utilize the ability of discrete wavelet transform coefficients to describe the frequency and spatial content of an image. Blur detection can be performed using statistics-based operators that utilize several image statistics as texture descriptors to calculate the level of focus. Blur detection can be performed by using discrete cosine transform (DCT) coefficients to calculate the level of focus of an image from its frequency content.

[0075] Continuing to refer to Figure 2, the computing device, processor, and / or module may be configured to pre-tune one or more training examples. For example, if a machine learning model and / or process has one or more inputs and / or outputs that transmit or receive, requiring a certain number of bits, samples, or other data units, then the elements of one or more training examples used as inputs and / or outputs, or compared to them, can be modified to have such a number of data units. For example, the computing device, processor, and / or module can convert a smaller number of units, such as in a low-resolution image, into a desired number of units, for example, by upsampling and interpolation. As a non-limiting example, a low-resolution image may have 100 pixels, but the desired number of pixels may be 128. The processor can interpolate the low-resolution image to convert 100 pixels into 128 pixels. It should also be noted that those skilled in the art will know, upon reading this disclosure, various methods for interpolating a smaller number of data units, such as samples, pixels, or bits, into a desired number of such units. In some cases, the set of interpolation rules may be trained by a neural network or other machine learning model trained to predict interpolated pixel values ​​using training data, along with a set of very detailed inputs and / or outputs, and a corresponding set of inputs and / or outputs downsampled to fewer units. As a non-limiting example, sample inputs and / or outputs, such as a sample picture with sample augmented data units (e.g., pixels added between the original pixels), can be input to a neural network or machine learning model and output a pseudo-replica sample picture in which dummy values ​​are assigned to pixels between the original pixels based on the set of interpolation rules. As a non-limiting example, in the context of an image classifier, the machine learning model may have a set of interpolation rules trained on a set of very detailed images and images downsampled to fewer pixels, along with a neural network or other machine learning model trained using those examples to predict interpolated pixel values ​​in a face image context.As a result, an input having sample-expanded data units (with dummy values ​​added between the original data units) may be run through a trained neural network and / or model that can fill in values ​​to replace the dummy values. Alternatively or additionally, processors, computing devices, and / or modules may utilize sample expander methods, low-pass filters, or both. As used in this disclosure, a “low-pass filter” is a filter that allows signals below a selected cutoff frequency to pass through and attenuates signals above a cutoff frequency. The exact frequency response of the filter depends on the filter design. Computing devices, processors, and / or modules may use averaging, such as luma or chroma averaging in the image, to fill in data units between the original data units.

[0076] In some embodiments, continuing with reference to Figure 2, a computing device, processor, and / or module can downsample elements of a training example to a desired number of fewer data elements. As a non-limiting example, a high-resolution image may have 256 pixels, but the desired number of pixels could be 128. The processor can downsample the high-resolution image to convert 256 pixels to 128 pixels. In some embodiments, the processor may be configured to perform downsampling on the data. Downsampling, also known as decimation, can involve removing every Nth entry in a set of samples, all entries except the Nth, and so on, a process known as "compression," which can be performed, for example, by an N-sample compressor implemented using hardware or software. Anti-aliasing and / or anti-imaging filters and / or low-pass filters can be used to remove the side effects of compression.

[0077] Referring further to Figure 2, the machine learning module 200 may also be configured to run a lazy learning process 220 and / or protocol, which may alternatively be called a “lazy loading” or “invoke on demand” process and / or protocol, and may be a process in which machine learning is performed upon receiving an input that will be transformed into an output by combining the input and training set and deriving an algorithm used to generate an output on demand. For example, an initial set of simulations may be run to cover an initial heuristic and / or “first guess” on the output and / or relationships. As a non-limiting example, the initial heuristic may include ranking the associations between the input and elements of the training data 204. The heuristic may include selecting some of the highest-ranking associations and / or elements of the training data 204. Lazy learning can implement any suitable lazy learning algorithm, but is not limited to the K-nearest neighbor algorithm, the lazy naive Bayes algorithm, etc. Those skilled in the art will recognize, upon reviewing the entirety of this disclosure, a variety of lazy learning algorithms that can be applied to produce the outputs described herein, including, but not limited to, lazy learning applications of machine learning algorithms as described in more detail below.

[0078] Alternatively or additionally, referring again to Figure 2, a machine learning model 224 can be generated using the machine learning processes described in this disclosure. Where used in this disclosure, “machine learning model” is a data structure that represents and / or instantiates mathematical and / or algorithmic representations of relationships between inputs and outputs, generated and stored in memory using any machine learning process, including, but not limited to, any process such as those described above. Inputs are submitted to the generated machine learning model 224, and the machine learning model generates outputs based on the derived relationships. For example, a linear regression model generated using a linear regression algorithm may compute a linear combination of input data using coefficients derived during the machine learning process to compute output data. As a further non-limiting example, the machine learning model 224 may be generated by creating an artificial neural network, such as a convolutional neural network, having an input layer of nodes, one or more hidden layers, and an output layer of nodes. Connections between nodes can be created through a process of "training" the network, where elements from a set of 204 training data are applied to the input nodes, and then, using an appropriate training algorithm (e.g., Levenberg-Marquardt, conjugate gradient, simulated annealing, or other algorithms), the connections and weights between nodes in adjacent layers of the neural network are adjusted to produce the desired values ​​at the output nodes. This process is sometimes called deep learning.

[0079] Referring further to Figure 2, the machine learning algorithm may include at least one supervised machine learning process 228. The at least one supervised machine learning process 228 as defined herein includes an algorithm that receives a training set relating some inputs to some outputs and attempts to generate one or more data structures that represent and / or instantiate one or more mathematical relationships relating the inputs to the outputs, each of which is optimal according to some criteria specified for the algorithm using a scoring function. For example, the supervised learning algorithm may include the aforementioned scanned labels 120 as inputs, confidence scores 136 as outputs, and a scoring function that represents the desired form of the relationships detected between the inputs and outputs. The scoring function may, for example, attempt to maximize the probability that a given combination of inputs and / or element inputs is associated with a given output and minimize the probability that a given input is not associated with a given output. The scoring function can be expressed as a risk function representing the “expected loss” of the algorithm relating the input to the output, where the loss is calculated as an error function representing the degree to which the predictions generated by the relationship are inaccurate compared to a given input-output pair provided to the training data 204. Those skilled in the art will recognize, upon considering the entirety of this disclosure, various possible variations of at least one supervised machine learning process 228 that can be used to determine the relationship between inputs and outputs. The supervised machine learning process may include the classification algorithm defined above.

[0080] Referring further to Figure 2, training a supervised machine learning process may include, but are not limited to, iteratively updating coefficients, biases, and weights based on an error function, expected loss, and / or risk function. For example, the output generated by the supervised machine learning model using the input examples in the training examples may be compared to the output examples from the training examples. An error function can be generated based on the comparison, which may include any error function suitable for use in any machine learning algorithm described herein, such as squaring the difference between one or more sets of comparison values. Such an error function may be used to update one or more weights, biases, coefficients, or other parameters of the machine learning model via any suitable process, including, but are not limited to, a gradient descent process, a least-squares process, and / or other processes described herein. This may be done iteratively and / or recursively to progressively adjust such weights, biases, coefficients, or other parameters. The updates may be performed in a neural network using one or more backpropagation algorithms. The iterative and / or recursive updates of weights, biases, coefficients, or other parameters described above can be performed until the currently available training data is exhausted and / or until a convergence test is passed. A “convergence test” is a test of conditions selected to indicate that the model and / or its weights, biases, coefficients, or other parameters have reached a certain degree of accuracy. A convergence test can, for example, compare the difference between two or more consecutive error or error function values, and a difference below a threshold amount can be interpreted as indicating convergence. Alternatively or additionally, one or more error and / or error function values ​​evaluated in training iterations can be compared to a threshold.

[0081] Referring further to Figure 2, computing devices, processors, and / or modules may be configured to execute methods, process steps, series of process steps, and / or algorithms described with reference to this figure in any order and to any degree of repetition. For example, computing devices, processors, and / or modules may be configured to repeatedly execute a single step, a series of steps, and / or algorithm until a desired or instructed result is achieved. The repetition of a step or series of steps is performed iteratively and / or recursively using the output of the previous iteration as input to the subsequent iteration, aggregating the inputs and / or outputs of the iterations to produce an aggregated result, which may reduce or decrease one or more variables, such as global variables, and / or divide a larger processing task into a set of smaller processing tasks that are repeatedly dealt with. Computing devices, processors, and / or modules may execute any step, series of steps, or algorithm in parallel, such as executing a step simultaneously and / or substantially simultaneously multiple times using two or more parallel threads, processor cores, etc. Task division between parallel threads and / or processes may be performed according to any protocol suitable for task division between iterations. Those skilled in the art, upon reviewing the entirety of this disclosure, will recognize a variety of ways in which processes, sets of processes, processing tasks, and / or data can be subdivided, shared, or otherwise processed using iterative, recursive, and / or parallel processing.

[0082] Referring further to Figure 2, the machine learning process may include at least one unsupervised machine learning process 232. As used herein, an unsupervised machine learning process is a process that derives inferences within a dataset regardless of labels. As a result, an unsupervised machine learning process can freely discover any structures, relationships, and / or correlations provided within the data. An unsupervised process may not require a response variable. An unsupervised process can be used to find interesting patterns and / or inferences between variables, determine the degree of correlation between two or more variables, and so on.

[0083] Referring further to Figure 2, the machine learning module 200 can be designed and configured to create a machine learning model 224 using techniques for developing linear regression models. Linear regression models can include ordinary least squares regression, which aims to minimize the square of the difference between the predicted and actual results according to a suitable norm for measuring such differences (e.g., vector space distance norm). To improve minimization, the coefficients of the resulting linear equation can be modified. Linear regression models can include ridge regression, where the function to be minimized is a least squares function and a term that multiplies the square of each coefficient by a scalar quantity to penalize large coefficients. Linear regression models can include least absolute shrinkage and selection operator (LASSO) models, where ridge regression is combined with multiplying the least squares term by a coefficient obtained by dividing 1 by twice the number of samples. Linear regression models can include multitask LASSO models, where the norm applied to the least squares term of the LASSO model is the Frobenius norm, which corresponds to the square root of the sum of the squares of all terms. The linear regression model may include elastic net models, multitask elastic net models, minimum angle regression models, LARS LASSO models, orthogonal matching tracking models, Bayesian regression models, logistic regression models, stochastic gradient descent models, perceptron models, passive attack algorithms, robust regression models, Hoover regression models, or any other suitable model that a person skilled in the art may conceive of when considering the entire disclosure. In one embodiment, the linear regression model can be generalized to a polynomial regression model, thereby finding a polynomial (e.g., a quadratic, cubic, or higher-order equation) that provides the best predictive output / actual output fit. As will be apparent to a person skilled in the art when considering the entire disclosure, similar methods as described above can be applied to minimize the error function.

[0084] Continuing to refer to Figure 2, machine learning algorithms can include, but are not limited to, linear discriminant analysis. Machine learning algorithms can include quadratic discriminant analysis. Machine learning algorithms can include kernel ridge regression. Machine learning algorithms can include, but are not limited to, support vector machines, which include support vector classification-based regression processes. Machine learning algorithms can include stochastic gradient descent algorithms, which include classification and regression algorithms based on stochastic gradient descent. Machine learning algorithms can include nearest neighbor algorithms. Machine learning algorithms can include various forms of latent space regularization, such as variational regularization. Machine learning algorithms can include Gaussian processes, such as Gaussian process regression. Machine learning algorithms can include cross-decomposition algorithms, which include partial least squares and / or canonical correlation analysis. Machine learning algorithms can include naive Bayes methods. Machine learning algorithms can include decision tree-based algorithms, such as decision tree classification or regression algorithms. Machine learning algorithms can include ensemble methods, such as bagging meta-estimators, randomized tree forests, AdaBoost, gradient tree boosting, and / or voting classifier methods. Machine learning algorithms can include neural network algorithms, including convolutional neural network processes.

[0085] Referring further to Figure 2, machine learning models and / or processes can be deployed or instantiated by being incorporated into programs, devices, systems and / or modules. For example, but not limited to, machine learning models, neural networks, and / or some or all of their parameters can be stored and / or deployed in any memory or circuit configuration. Parameters such as coefficients, weights, and / or biases may be stored as circuit-based constants such as arrays of wires set to logical "1" and "0" voltage levels in a logic circuit and / or binary inputs and / or outputs to represent numbers in any suitable encoding system, including two's complement, or they may be stored in any volatile and / or non-volatile memory. Similarly, mathematical operations and inputs and / or outputs of data to and from models, neural network layers, etc., can be instantiated in the form of machine code such as instructions, binary arithmetic code instructions, assembly language, or any higher-order programming language within hardware circuit configurations and / or firmware. Machine learning processes and / or models can be instantiated using any technology for hardware and / or software instantiation of memory, instructions, data structures, and / or algorithms, including, but not limited to, the manufacture and / or configuration of non-reconfigurable hardware elements, circuits, and / or modules such as ASICs, the manufacture and / or configuration of reconfigurable hardware elements, circuits, and / or modules such as FPGAs, the manufacture and / or configuration of non-reconfigurable and / or configured non-rewritable memory elements, circuits, and / or modules such as non-rewritable ROMs, and any combination of the manufacture and / or configuration of reconfigurable and / or rewritable memory elements, circuits, and / or any computing devices and / or components described in this disclosure, such as rewritable ROMs or other memory technologies described herein.Such deployments and / or instantiated machine learning models and / or algorithms can receive input from any other processes, modules, and / or components described in this disclosure and generate outputs to any other processes, modules, and / or components described in this disclosure.

[0086] Continuing to refer to Figure 2, any machine learning model and / or algorithm can be modified, improved, and / or enhanced after its initial deployment and / or instantiation by performing and / or repeating any process of training, retraining, deploying, and / or instantiation of that machine learning model and / or algorithm. Such retraining, deployment, and / or instantiation may be performed as a periodic or regular process, such as retraining, deployment, and / or instantiation over a periodic elapsed time, after some measure of quantity, such as the number of bytes of data processed or other measures, the number of uses or executions of the processes described herein, and / or according to a software, firmware, or other update schedule. Alternatively or additionally, retraining, deployment, and / or instantiation may be event-based, but not limited to, triggered by user input exhibiting suboptimal or other problematic performance, and / or by automated field testing and / or audit processes, and the output of the machine learning model and / or algorithm and / or its error and / or error function may be compared to any threshold, convergence test, etc., and / or the output of the processes described herein may be compared to similar threshold, convergence test, etc. Event-based retraining, deployment, and / or instantiation may, alternatively or additionally, be triggered by the reception and / or generation of one or more new training examples. Several new training examples can be compared to a pre-configured threshold, and if the threshold is exceeded, retraining, deployment, and / or instantiation can be triggered.

[0087] Referring further to Figure 2, retraining and / or additional training can be performed using any currently or previously deployed version of the machine learning model and / or algorithm as a starting point, and using any process for training described above. Training data for retraining can be collected, pre-adjusted, screened, classified, sanitized, or otherwise processed in accordance with any process described herein. The training data may include, but are not limited to, training examples that include inputs and correlated outputs used, received, and / or generated from any version of any system, module, machine learning model or algorithm, apparatus, and / or method described herein. Such examples may be modified and / or labeled in accordance with user feedback or other processes to show desired results, and / or may have actual or measured results from processes modeled and / or predicted by the system, module, machine learning model or algorithm, apparatus, and / or method as “desired” results compared to the output of the training process as described above.

[0088] Redeployment can be performed by any reconfiguration and / or rewriting of reconfigurable and / or rewritable circuit and / or memory elements. Alternatively, redeployment may be performed by generating new hardware and / or software components, circuits, instructions, etc., which may be added to and / or replace existing hardware and / or software components, circuits, instructions, etc.

[0089] Referring further to Figure 2, one or more of the processes or algorithms described above may be performed by at least one dedicated hardware unit 236. For the purposes of this figure, “dedicated hardware unit” is a hardware component, circuit, etc. other than the main control circuit and / or processor that performs the steps of the method described herein, but is not limited to, being specifically designated or selected to perform one or more particular tasks and / or processes described with reference to this figure, such as pre-conditioning and / or sanitizing training data, and / or training machine learning algorithms and / or models. The dedicated hardware unit 236 may include, but is not limited to, a hardware unit that can perform iterative or centralized computations, such as matrix-based computations for updating or adjusting parameters, weights, coefficients, and / or biases of machine learning models and / or neural networks, using pipelined, parallel processing, etc., efficiently. Such a hardware unit may be optimized for such processes by including, for example, a dedicated circuit configuration for matrix and / or signal processing operations, including multiple arithmetic and / or logic circuit units such as multipliers and / or adders that can operate simultaneously and / or in parallel. Such dedicated hardware units 236 may include, but are not limited to, a graphical processing unit (GPU), a dedicated signal processing module, an FPGA, or other reconfigurable hardware configured to instantiate parallel processing units for one or more specific tasks. A computing device, processor, apparatus, or module may be configured to instruct one or more dedicated hardware units 236 to perform one or more operations described herein, such as evaluating model and / or algorithm outputs, one-time or iterative updates to parameters, coefficients, weights, and / or biases, and / or any other operations such as vector and / or matrix operations described herein.

[0090] Referring here to Figure 3, an exemplary score database 300 is shown by a block diagram. In one embodiment, it can store any past or present version of the data disclosed herein, including profiles 108, labels 112, metadata 116, multiple entity categories, scanned labels 120, named entities 128, confidence scores 136, and the like. The processor 104 can be communicated with the score database 300. For example, in some cases, the database 300 may be local to the processor 104. Alternatively or additionally, in some cases, the database 300 may be remote to the processor 104 and may communicate with the processor 104 over one or more networks. The networks may include, but are not limited to, cloud networks, mesh networks, and the like. For example, a “cloud-based” system, as the term is used herein, may refer to a system that includes software and / or data stored, managed, and / or processed on a network of remote servers hosted in the “cloud,” for example, via the Internet, rather than on a local server or personal computer. Where used in this disclosure, “mesh network” is a local network topology in which the infrastructure processor 104 connects directly, dynamically, and non-hierarchically to as many other computing devices as possible. Where used in this disclosure, “network topology” is the arrangement of elements of a communication network. The score database 300 can be implemented as, but is not limited to, a relational database, a key-value lookup database such as a NoSQL database, or any other format or structure for use as a database that a person skilled in the art would deem appropriate upon reviewing this entire disclosure. The score database 300 may also be implemented using a distributed data storage protocol and / or data structure such as a distributed hash table, alternatively or additionally. The score database 300 may contain multiple data entries and / or records as described above.Data entries in a database may be flagged by or linked to one or more additional elements of information, and one or more additional elements of information may be reflected in linked tables, such as tables associated by data entry cells and / or indexes in a relational database. Those skilled in the art, upon reviewing the entirety of this disclosure, will recognize a variety of ways in which data entries in a database can store, retrieve, organize, and / or reflect the data and / or records used herein, as well as categories and / or collections of data consistent with this disclosure. In one embodiment, the score database 300 may be a general-purpose storage mechanism. A general-purpose storage mechanism may be a storage system or method that is not specific to any particular type or format of data, i.e., a storage solution that provides a flexible and adaptable way to store and retrieve data without being tied to a specific data format, schema, or domain.

[0091] Referring here to Figure 4, an exemplary embodiment of neural network 400 is shown. Also known as an artificial neural network, neural network 400 is a network of “nodes,” or a data structure having one or more inputs, one or more outputs, and a function that determines the output based on the input. Such nodes can be organized into a network, such as a convolutional neural network, which includes, but is not limited to, an input layer of node 404, one or more hidden layers 408, and an output layer of node 412. Connections between nodes can be created through a process of “training” the network, in which elements from a training dataset are applied to the input nodes, and then, using an appropriate training algorithm (e.g., Levenberg-Marquardt, conjugate gradient, simulated annealing, or other algorithms), the connections and weights between nodes in adjacent layers of the neural network are adjusted to produce desired values ​​in the output nodes. This process is sometimes called deep learning. Connections may be made only from input nodes to output nodes in a “feedforward” network, or the output of one layer may be fed back to the input of the same or different layers in a “recurrent network.” As a further non-limiting example, a neural network may comprise a convolutional neural network having an input layer for a node, one or more hidden layers, and an output layer for a node. As used in this disclosure, a “convolutional neural network” is a neural network having one or more additional layers, such as pooling layers and fully connected layers, along with at least one hidden layer, which is a convolutional layer that convolves the input to that layer with a subset of inputs known as a “kernel.”

[0092] Referring here to Figure 5, an exemplary embodiment of a node in a neural network is shown. A node may include multiple inputs xi that can receive numerical values ​​from and / or other nodes, including inputs to the neural network containing the node. A node may perform a weighted sum of inputs using weights wi multiplied by each input xi. Additionally or alternatively, a bias b may be added to the weighted sum of inputs such that an offset is added to each unit in the neural network layer, which is independent of the inputs to the layer. The weighted sum can then be input to a function φ, which can produce one or more outputs y. The weights wi applied to an input xi may indicate whether the input is "excitatory," for example, by having large numerical values ​​for the corresponding weights, indicating that the input strongly influences one or more outputs y, and / or "inhibitory," for example, by having small numerical values ​​for the corresponding weights, indicating that the input weakly influences another input y. The values ​​of the weights wi can be determined by training the neural network with training data, which can be performed using any suitable process as described above.

[0093] Referring here to Figure 6, an exemplary embodiment of the fuzzy set comparison 600 is shown. In a non-limiting embodiment, the fuzzy set comparison 600 may coincide with the fuzzy set comparison in Figure 1. In another non-limiting example, the fuzzy set comparison 600 may coincide with name / version matching as described herein. For example, but not limited to, the parameters, weights, and / or coefficients of the membership function may be adjusted using any machine learning method for name / version matching as described herein. In another non-limiting embodiment, the fuzzy set may represent the scanned labels 120 from Figure 1 and previously scanned labels.

[0094] Alternatively or additionally, referring further to Figure 6, the fuzzy set comparison 600 may be generated as a function for determining a data compatibility threshold. The compatibility threshold may be determined by a computing device. In some embodiments, the computing device may determine the compatibility threshold and / or version certifier using a logic comparison program, such as a fuzzy logic model, though not limited to this. Each such compatibility threshold may be represented as a value of a post variable representing the compatibility threshold, or, in other words, as the above fuzzy set corresponding to a degree of compatibility and / or acceptableness calculated using statistical, machine learning, or other methods that a person skilled in the art could conceive of in considering the entire disclosure. In some embodiments, determining the compatibility threshold and / or version certifier may involve using a linear regression model. The linear regression model may include a machine learning model. The linear regression model may, but is not limited to this, map statistics, such as the frequency of version numbers within the same range, to the compatibility threshold and / or version certifier. In some embodiments, determining the compatibility threshold for a post may involve using a classification model. The classification model may, but is not limited to this, be input with data collected based on the frequency of occurrence of a range of version numbers, a language indicator of compatibility and / or acceptableness, etc., and be configured to cluster the data to centroids. The centroids can include the scores assigned to each compatibility threshold, so that a score can be assigned to each compatibility threshold. In some embodiments, the classification model may include a K-means clustering model. In some embodiments, the classification model may include a particle swarm optimization model. In some embodiments, determining the compatibility thresholds may include using a fuzzy inference engine. The fuzzy inference engine may be configured to map one or more compatibility thresholds using fuzzy logic. In some embodiments, multiple computing devices may be arranged in the compatibility configuration by a logic comparison program. As used in this disclosure, “compatibility configuration” is any grouping of objects and / or data based on skill levels and / or output scores.The membership function coefficients and / or constants described above can be adjusted according to classification and / or clustering algorithms. For example, a clustering algorithm can determine a Gaussian or other distribution of questions relating to the centroids corresponding to a given compatibility threshold and / or version authenticator, and using iteration or other methods, find a membership function of any of the above membership function types that minimizes the mean error from a statistically determined distribution, such as a triangle or Gaussian membership function relating to the centroids representing the center of the distribution that best matches the distribution. The error function to be minimized and / or the method of minimization can be performed without limitation according to the error function and / or error function minimization processes and / or methods described herein.

[0095] Referring further to Figure 6, the inference engine may be implemented according to the input of multiple scanned labels 120 and multiple previously scanned labels. For example, the acceptance variable may represent a first measurable value relating the classification of the multiple scanned labels 120 to the previously scanned labels. Continuing this example, the output variable may represent a confidence score 136. In one embodiment, the multiple scanned labels 120 and / or previously scanned labels may be represented by their own fuzzy sets. In other embodiments, the evaluation coefficient may be represented according to the intersection of two fuzzy sets, as shown in Figure 6, and the inference engine may combine its arbitrary rules such as semantic versioning, semantic language, and version range. The degree to which a given input function membership matches a given rule can be determined by the triangular norm or "T-norm" of the output function having a rule or input function that satisfies the requirements of commutativity (T(a,b)=T(b,a)), monotonicity (T(a,b)≦T(c,d) for a≦c and b≦d), (associativity: T(a,T(b,c))=T(T(a,b),c)), and that the number 1 functions as the identity element, such as min(a,b), the product of a and b, the drastic product of a and b, the Hamacher product of a and b. Combinations of rules (combinations of "logical AND" or "logical OR" of rule membership determination) can be performed using any T-conorm, as represented by the inverted T symbol, i.e., "⊥", such as max(a,b), the stochastic sum of a and b (a+ba*b), the bounded sum, and / or the drastic T-conorm. Any T-conorm may be used that satisfies the properties of commutativity: ⊥(a,b)=⊥(b,a), monotonicity: ⊥(a,b)≦⊥(c,d) if a≦c and b≦d, associativity: ⊥(a,⊥(b,c))=⊥(⊥(a,b),c), and identity element 0. Alternatively or additionally, the T-conorm may be approximated by sums, such as in a “product-sum” inference engine where the T-norm is a product and the T-conorm is a sum.The final output score or other fuzzy inference output can be determined from the output membership function described above using any appropriate defussing process, including, but not limited to, the mean of maximum defussing, the centroid of area / centroid defussing, central mean defussing, area bisector defussing, etc. Alternatively or additionally, the output rules may be replaced by a function from the Takagi-Sugeno-King (TSK) fuzzy model.

[0096] The first fuzzy set 604 can be represented according to a first membership function 608 that represents the probability that an input falling within a first range of values ​​612 is a member of the first fuzzy set 604, the first membership function 608 having a range of values ​​such as the interval [0,1], and the area below the first membership function 608 can represent the set of values ​​within the first fuzzy set 604. In this exemplary description, for clarity, the first range of values ​​612 is shown as a range on a single numerical line or axis, but the first range of values ​​612 may be defined in two or more dimensions, for example, representing the Cartesian product between multiple ranges, curves, axes, spaces, dimensions, etc. The first membership function 608 may include any suitable function that maps the first range 612 to a probability interval, including, but not limited to, a trigonometric function defined by two linear elements such as a line segment or plane intersecting at or below the top of the probability interval. As a non-restrictive example, triangular membership functions can be defined as follows:

[0097]

number

[0098] The trapezoidal membership function can be defined as follows:

[0099]

number

[0100] The sigmoid function can be defined as follows:

[0101]

number

[0102] The Gaussian membership function can be defined as follows:

[0103]

number

[0104] The bell membership function can be defined as follows:

[0105]

number

[0106] Those skilled in the art will, upon reviewing the entirety of this disclosure, recognize a variety of alternative or additional membership functions that may be used in accordance with this disclosure.

[0107] The first fuzzy set 604 can represent any of the above values ​​or combinations of values, including any multiple scanned labels 120 and previously scanned labels. A second fuzzy set 616, which can represent any value that can be represented by the first fuzzy set 604, may be defined by a second membership function 620 on a second range 624. The second range 624 may be identical to and / or overlap with the first range 612, and / or may be combined with the first range via a Cartesian product or the like to generate a mapping that allows evaluation of the overlap between the first fuzzy set 604 and the second fuzzy set 616. If the first fuzzy set 604 and the second fuzzy set 616 have an overlapping region 636, the first membership function 608 and the second membership function 620 may intersect at a point 632 that represents the probability of a match between the first fuzzy set 604 and the second fuzzy set 616, as defined on a probability interval. Alternatively or additionally, a single value of the first and / or second fuzzy set may be located at a locus 636 on the first range 612 and / or the second range 624, and the probability of membership may be taken by evaluating the first membership function 608 and / or the second membership function 620 at that range point. The probabilities at 628 and / or 632 can be compared to a threshold 640 to determine whether a positive match is indicated. In a non-restrictive example, the threshold 640 can represent the degree of matching between the first fuzzy set 604 and the second fuzzy set 616, and / or the degree of matching between single values ​​within them or between either set, sufficient for the purposes of the matching process. For example, the confidence score 136 may indicate the degree of sufficient overlap between multiple scanned labels 120 and the fuzzy set representing previously scanned labels for a combination performed as described above. Each threshold may be established by one or more user inputs. Alternatively or additionally, each threshold can be adjusted by machine learning and / or statistical processes, for example, not as a limitation, but as will be described in more detail below.

[0108] In one embodiment, the degree of matching between fuzzy sets can be used to rank one resource against another. For example, if both multiple scanned labels 120 and previously scanned labels have fuzzy sets, a confidence score 136 may be generated if the degree of overlap exceeds a prediction threshold, and the processor 104 can further rank the two resources by ranking the resource with the higher degree of matching higher than the resource with the lower degree of matching. When multiple fuzzy matchings are performed, the degree of matching for each fuzzy set can be calculated and aggregated, for example by addition, averaging, etc., to determine an overall degree of matching, which can then be used to rank the resources. The selection between two or more matching resources may be performed by selecting the highest-ranked resource, and / or multiple notifications may be presented to the user in the order of ranking.

[0109] Herein, we refer to Figure 7, a flowchart of an exemplary method 700 for generating confidence scores associated with scanned labels. In step 705, method 700 includes using at least one processor to receive a profile comprising at least one label containing multiple metadata. This can be implemented as described with reference to Figures 1 to 7. The method further includes using at least one processor to generate multiple named entities according to at least one label. The method then includes using at least one processor to classify the multiple named entities into multiple entity categories. In one embodiment, the label includes a barcode.

[0110] Referring further to Figure 7, in step 710, method 700 includes generating a scanned label according to at least one label using at least one processor, and generating a scanned label comprises scanning at least one label using a text recognition module. This can be carried out as described with reference to Figures 1 to 7.

[0111] Referring further to Figure 7, in step 715, method 700 includes determining a confidence score in response to a comparison of a scanned label with a plurality of previously scanned labels using at least one processor. This can be carried out as described with reference to Figures 1 to 7. In some embodiments, the confidence score may include a derived score, a representation score, a consistency score, and / or a temporal consistency score. In other embodiments, generating a confidence score comprises generating a confidence score using a confidence machine learning model. Generating a confidence score using a confidence machine learning model may comprise training a confidence machine learning model using confidence training data, the confidence training data comprising a plurality of data entries including a plurality of scanned labels and a plurality of previously scanned labels as inputs correlated to a confidence score as an output, and using the trained confidence machine learning model to generate a confidence score in response to a comparison of a scanned label with a plurality of previously scanned labels.

[0112] Referring further to Figure 7, in step 720, method 700 includes displaying the confidence score using a display device. This can be carried out as described with reference to Figures 1 to 7.

[0113] Referring here to Figure 8, an exemplary flowchart of the inversion detection process 800 is shown. The inversion detection process 800 includes methods and embodiments disclosed with reference to Figure 1. The inversion detection process 800 may include, as described above, a processor 104 receiving a profile 108 and preprocessing the profile data using a color extraction method and contrast calculation. The inversion detection process 800 may also include receiving labels and other identifiers extracted from the profile 108 using OCR technology, as described in Figure 1. The data from the profile 108, whether preprocessed or not, may be input into multiple machine learning models to generate multiple evaluations. In one embodiment, as disclosed in Figure 1, the processor 104 may generate a color parameter evaluation by inputting the profile 108 into a color parameter machine learning model 808. In one embodiment, as disclosed in Figure 1, the processor 104 may generate a contrast parameter evaluation 812 by inputting the profile 108 into a contrast parameter machine learning model 816. In one embodiment, as disclosed in Figure 1, the processor 104 can generate label parameter evaluations 820 by inputting a profile 108 into a label evaluation machine learning model 824. The processor 104 can then input a plurality of parameter evaluations into the orientation machine learning model 824, as disclosed in Figure 1. The output of the orientation machine learning model 824 may include orientation labels, as disclosed in Figure 1.

[0114] It should be noted that any one or more of the embodiments and models described herein can be conveniently implemented using one or more machines programmed according to the teachings herein (e.g., one or more computing devices used as a user computing device for electronic documents, one or more server devices such as a document server, etc.), as will be obvious to those skilled in the art. As will be obvious to those skilled in the art, appropriate software coding can be readily produced by programmers skilled in the art based on the teachings of this disclosure. The above embodiments and implementations using software and / or software modules may also include appropriate hardware to assist in the implementation of machine-executable instructions of the software and / or software modules.

[0115] Such software may be a computer program product that uses a machine-readable storage medium. The machine-readable storage medium may be any medium capable of storing and / or encoding a set of instructions for execution by a machine (e.g., a computing device), causing the machine to execute any one of the methods and / or embodiments described herein. Examples of machine-readable storage mediums include, but are not limited to, magnetic disks, optical disks (e.g., CDs, CD-Rs, DVDs, DVD-Rs, etc.), magneto-optical disks, read-only memory "ROM" devices, random-access memory "RAM" devices, magnetic cards, optical cards, solid-state memory devices, EPROMs, EEPROMs, and any combination thereof. As used herein, machine-readable storage medium is intended to include a single medium, as well as a collection of physically separate media, such as a compact disk combined with computer memory or a collection of one or more hard disk drives. As used herein, machine-readable storage medium does not include transient forms of signal transmission.

[0116] Such software may also include information (e.g., data) that is carried as a data signal on a data carrier, such as a carrier wave. For example, machine-executable information may be included as a data-carrying signal embodied on a data carrier, where the signal encodes a set of instructions or a portion thereof for execution by a machine (e.g., a computing device), and any relevant information (e.g., data structures and data) that causes the machine to execute any one of the methods and / or embodiments described herein.

[0117] Examples of computing devices include, but are not limited to, e-book readers, computer workstations, terminal computers, server computers, handheld devices (e.g., tablet computers, smartphones, etc.), web appliances, network routers, network switches, network bridges, any machine capable of executing a set of instructions specifying actions to be taken by a machine, and any combination thereof. For example, a computing device may include and / or be included in a kiosk.

[0118] Figure 9 shows a schematic diagram of one embodiment of a computing device in an exemplary form of a computer system 900, in which a set of instructions for causing a control system to execute one or more of the embodiments and / or methodologies of the present disclosure can be executed. It is also conceivable that multiple computing devices could be used to implement a specially configured set of instructions for causing one or more of the devices to execute any one or more of the embodiments and / or methodologies of the present disclosure. The computer system 900 includes a processor 904 and memory 908 that communicate with each other and with other components via a bus 912. The bus 912 may include any of several types of bus structures, including but not limited to memory buses, memory controllers, peripheral buses, local buses, and any combination thereof, using any of various bus architectures.

[0119] The processor 904 may include, but is not limited to, any suitable processor, such as a processor incorporating logic circuit configurations for performing arithmetic and logic operations, such as an arithmetic and logic unit (ALU) coordinated by a state machine and directed by operational inputs from memory and / or sensors, and the processor 904 may, as an unspecified example, be organized according to the von Neumann architecture and / or the Harvard architecture. The processor 904 may include, incorporate, and / or be incorporated into, a microcontroller, microprocessor, digital signal processor (DSP), field-programmable gate array (FPGA), complex-programmable logic device (CPLD), graphical processing unit (GPU), general-purpose GPU, tensor processing unit (TPU), analog or mixed-signal processor, trusted platform module (TPM), floating-point unit (FPU), and / or system-on-a-chip (SoC).

[0120] Memory 908 may include, but is not limited to, a variety of components (e.g., machine-readable media) including random-access memory components, read-only components, and any combination thereof. For example, a basic input / output system (BIOS) 916 containing basic routines that help transfer information between elements within the computer system 900, such as during startup, may be stored in memory 908. Memory 908 may also include instructions (e.g., software) 920 (e.g., stored in one or more machine-readable media) that embody one or more aspects and / or methodologies of this disclosure. In another example, memory 908 may further include, but is not limited to, an operating system, one or more application programs, other program modules, program data, and any number of program modules, including any combination thereof.

[0121] The computer system 900 may also include a storage device 924. Examples of storage devices (e.g., storage device 924) include, but are not limited to, hard disk drives, magnetic disk drives, optical disk drives combined with optical media, solid-state memory devices, and any combination thereof. The storage device 924 may be connected to the bus 912 by a suitable interface (not shown). Exemplary interfaces include, but are not limited to, SCSI, advanced technology attachment (ATA), serial ATA, universal serial bus (USB), IEEE 1394 (FIREWIRE®), and any combination thereof. In one example, the storage device 924 (or one or more of its components) may be detachably interfaced with the computer system 900 (e.g., via an external port connector (not shown)). In particular, the storage device 924 and associated machine-readable media 928 can provide non-volatile and / or volatile storage for machine-readable instructions, data structures, program modules, and / or other data for the computer system 900. In one example, the software 920 may reside entirely or partially within a machine-readable medium 928. In another example, the software 920 may reside entirely or partially within a processor 904.

[0122] Computer system 900 may also include an input device 932. In one example, a user of computer system 900 may input commands and / or other information to computer system 900 via the input device 932. Examples of input devices 932 include, but are not limited to, alphanumeric input devices (e.g., keyboards), pointing devices, joysticks, gamepads, audio input devices (e.g., microphones, voice response systems, etc.), cursor control devices (e.g., mice), touchpads, optical scanners, video capture devices (e.g., still cameras, video cameras), touchscreens, and any combination thereof. Input device 932 may interface to bus 912 via any of a variety of interfaces (not shown) including, but not limited to, serial interfaces, parallel interfaces, game ports, USB interfaces, FIREWIRE® interfaces, direct interfaces to bus 912, and any combination thereof. Input device 932 may include a touchscreen interface, which may be part of or separate from display 936, as will be further described below. As described above, the input device 932 can be used as a user selection device for selecting one or more graphical representations within the graphical interface.

[0123] The user can also input commands and / or other information into the computer system 900 via a storage device 924 (e.g., a removable disk drive, a flash drive, etc.) and / or a network interface device 940. Network interface devices such as the network interface device 940 can be used to connect the computer system 900 to one or more of various networks, such as network 944, and one or more remote devices 948 connected to it. Examples of network interface devices include, but are not limited to, network interface cards (e.g., mobile network interface cards, LAN cards), modems, and any combination thereof. Examples of networks include, but are not limited to, wide area networks (e.g., the Internet, corporate networks), local area networks (e.g., networks associated with offices, buildings, campuses, or other relatively small geographical spaces), telephone networks, data networks associated with telephone / voice operators (e.g., mobile carrier data and / or voice networks), direct connections between two computing devices, and any combination thereof. A network, such as network 944, can use wired and / or wireless communication modes. In general, any network topology can be used. Information (e.g., data, software 920, etc.) can be communicated to and from the computer system 900 via the network interface device 940.

[0124] The computer system 900 may further include a video display adapter 952 for communicating displayable images to a display device such as a display device 936. Examples of display devices include, but are not limited to, liquid crystal displays (LCDs), cathode ray tubes (CRTs), plasma displays, light-emitting diode (LED) displays, and any combination thereof. The display adapter 952 and the display device 936 may be used in combination with a processor 904 to provide a graphical representation of the embodiments of this disclosure. In addition to the display devices, the computer system 900 may include one or more other peripheral output devices, including, but are not limited to, audio speakers, printers, and any combination thereof. Such peripheral output devices may be connected to the bus 912 via a peripheral interface 956. Examples of peripheral interfaces include, but are not limited to, serial ports, USB connections, FIREWIRE® connections, parallel connections, and any combination thereof.

[0125] The above has been a detailed description of exemplary embodiments of the present invention. Various modifications and additions can be made without departing from the spirit and scope of the invention. Features of each of the various embodiments described above can be combined as needed with features of other described embodiments to provide a number of feature combinations in relevant new embodiments. Furthermore, although several distinct embodiments have been described above, those described herein are merely illustrative of the application of the principles of the present invention. Furthermore, certain methods herein may be illustrated and / or described as being performed in a specific order, but the order will vary among those skilled in the art to achieve the methods, systems, and software according to this disclosure. Therefore, this description is intended to be construed as illustrative only and will not limit the scope of the invention.

[0126] Exemplary embodiments are disclosed above and shown in the accompanying drawings. Those skilled in the art will understand that various modifications, omissions, and additions can be made to those specifically disclosed herein without departing from the spirit and scope of the invention.

[0127] The subject matter described herein can be implemented in systems, apparatus, methods, and / or articles, depending on the desired configuration. The embodiments described above do not represent all embodiments that correspond to the subject matter described herein. Rather, they are merely some examples that correspond to aspects relating to the subject matter described herein. While several variations have been described in detail above, other modifications or additions are possible. In particular, further features and / or variations can be provided in addition to those described herein. For example, the embodiments described above may cover various combinations and partial combinations of the disclosed features, and / or combinations and partial combinations of some of the further features described above. Furthermore, the logical flows shown in the accompanying drawings and / or described herein do not necessarily require a specific order or sequence shown to achieve the desired result. Other embodiments may be within the scope of the following claims.

[0128] (Cross-reference of related applications) This application is a continuation of U.S. Nonprovisional Application No. 18 / 226,017, filed on July 25, 2023, titled "APPARATUS AND A METHOD FOR GENERATING A CONFIDENCE SCORE ASSOCIATED WITH A SCANNED LABEL," which is currently U.S. Patent No. 11,977,952, issued on May 7, 2024. It is also a continuation in part of U.S. Nonprovisional Application No. 18 / 616,414, filed on March 26, 2024, titled "APPARATUS AND A METHOD FOR GENERATING A CONFIDENCE SCORE ASSOCIATED WITH A SCANNED LABEL," filed on May 10, 2024. We claim the benefit of priority in U.S. Nonprovisional Application No. 18 / 661,308, entitled “LABEL,” which is incorporated herein by reference in its entirety.

Claims

1. A device for generating confidence scores associated with scanned labels, wherein the device comprises, At least one processor, A memory connected to the at least one processor, wherein the memory is It is a profile, At least one label, A profile is received which includes a plurality of metadata associated with at least one of the labels. By scanning the at least one label using a text recognition module, a scanned label is generated according to the at least one label. Based on a comparison of the scanned label with several previously scanned labels, a confidence score associated with the scanned label is determined. A device comprising memory and a memory, including instructions for configuring the at least one processor to display the confidence score using a display device.

2. The apparatus according to claim 1, wherein the memory further instructs the at least one processor to generate a plurality of named entities according to the at least one label.

3. The apparatus according to claim 2, wherein the memory further instructs the at least one processor to classify the plurality of named entities into a plurality of entity categories.

4. The apparatus according to claim 3, wherein classifying the plurality of named entities into the plurality of entity categories comprises classifying the plurality of named entities into the plurality of entity categories according to the spatial arrangement of the plurality of named entities on the scanned label.

5. The apparatus according to claim 1, wherein the confidence score comprises a derived score.

6. The apparatus according to claim 1, wherein the confidence score comprises an expression score.

7. The apparatus according to claim 1, wherein the confidence score comprises a consistency score.

8. The apparatus according to claim 1, wherein the confidence score comprises a temporal consistency score.

9. The apparatus according to claim 1, wherein the at least one label comprises an identification code.

10. To generate the aforementioned confidence score, This includes generating the confidence score using a confidence machine learning model, Generating the confidence score means training the confidence machine learning model using the confidence training data, wherein the confidence training data includes a plurality of data entries, each containing a plurality of scanned labels and a plurality of previously scanned labels as inputs, which correlate with the confidence score as an output. The apparatus according to claim 1, further comprising using the trained confidence machine learning model to generate the confidence score in accordance with a comparison of the scanned label with a plurality of previously scanned labels.

11. A method for generating confidence scores associated with scanned labels, wherein the method is Using at least one processor, a profile, At least one label, Receiving a profile comprising a plurality of metadata associated with at least one of the aforementioned labels, Using the at least one processor, a text recognition module is used to scan the at least one label, thereby generating a scanned label corresponding to the at least one label. Using at least one of the processors, a confidence score associated with the scanned label is determined based on a comparison of the scanned label with a plurality of previously scanned labels. A method comprising displaying the confidence score using a display device.

12. The method according to claim 11, further comprising using the at least one processor to generate a plurality of named entities according to the at least one label.

13. The method according to claim 12, further comprising classifying the plurality of named entities into a plurality of entity categories using the at least one processor.

14. The method according to claim 13, further comprising using the at least one processor to classify the plurality of named entities into a plurality of entity categories according to their spatial location on the scanned label.

15. The method according to claim 11, wherein the confidence score comprises a derived score.

16. The method according to claim 11, wherein the confidence score comprises an expression score.

17. The method according to claim 11, wherein the confidence score comprises a consistency score.

18. The method according to claim 11, wherein the confidence score comprises a temporal consistency score.

19. The method according to claim 11, wherein the at least one label comprises an identification code.

20. The method described above is The process further includes using at least one of the processors to generate a confidence score using a confidence machine learning model, and generating the confidence score is Training a confidence machine learning model using confidence training data, wherein the confidence training data includes a plurality of data entries, each containing a plurality of scanned labels and a plurality of previously scanned labels as inputs, which correlate with the confidence score as an output. The method according to claim 11, further comprising using a trained confidence machine learning model to generate the confidence score in relation to a comparison of the scanned label with a plurality of previously scanned labels.

21. A device for generating confidence scores associated with scanned labels, wherein the device comprises, At least one processor, A memory connected to the at least one processor, wherein the memory is It is a profile, At least one label, A profile is received which includes a plurality of metadata associated with at least one of the labels. A scanned label is generated according to the at least one of the aforementioned labels. A confidence score is determined according to the scanned label, A memory comprising instructions that configure the at least one processor to display a confidence score using a display device, Determining the confidence score involves receiving the confidence training dataset. Training a confidence machine learning model iteratively using the confidence training dataset, wherein training the confidence machine learning model includes retraining the confidence machine learning model using feedback from previous iterations of the confidence machine learning model. An apparatus comprising generating the confidence score using the confidence machine learning model by determining the confidence score using the trained confidence machine learning model.

22. The apparatus according to claim 21, wherein generating the scanned labels comprises scanning the at least one label using a text recognition module.

23. The apparatus according to claim 21, wherein determining the confidence score is performed by the trained machine learning model in accordance with a comparison between the scanned label and a plurality of previously scanned labels.

24. The apparatus according to claim 23, wherein the at least one processor is further configured to identify a plurality of labels that have been scanned in the past, in accordance with metadata associated with the at least one label.

25. To generate the scanned labels, Training a label machine learning model using training data containing multiple labels correlated with examples of scanned labels, The process involves receiving the aforementioned profile as input to a label machine learning model, The apparatus according to claim 21, further comprising outputting the scanned labels using the machine learning model.

26. The apparatus according to claim 21, wherein the profile comprises a digital representation of a histological slide.

27. The apparatus according to claim 21, wherein the confidence score comprises a derived score.

28. The apparatus according to claim 21, wherein the at least one processor is further configured to generate a plurality of named entities according to the at least one label using a lookup table.

29. The apparatus according to claim 28, wherein the at least one processor is further configured to classify the plurality of named entities into a plurality of entity categories based on the spatial location of the plurality of named entities on the scanned label.

30. The apparatus according to claim 29, wherein classifying the plurality of named entities into the plurality of entity categories includes identifying the plurality of named entities in text using template-based named entity recognition with respect to a predetermined template selected according to medical facility data.

31. A method for generating confidence scores associated with scanned labels, wherein the method is A profile is generated by at least one processor, At least one label, Receiving a profile comprising a plurality of metadata associated with at least one of the aforementioned labels, The at least one processor generates a scanned label according to the at least one label, The at least one processor determines the confidence score associated with the scanned label, The at least one processor is configured to display a confidence score using a display device, Determining the confidence score involves receiving the confidence training dataset. Training a confidence machine learning model iteratively using the confidence training dataset, wherein training the confidence machine learning model includes retraining the confidence machine learning model using feedback from previous iterations of the confidence machine learning model. A method comprising generating the confidence score using the confidence machine learning model by determining the confidence score using the trained confidence machine learning model.

32. The method according to claim 31, wherein generating the scanned labels comprises scanning the at least one label using a text recognition module.

33. The method according to claim 31, wherein determining the confidence score is performed by the trained machine learning model in accordance with a comparison between the scanned label and a plurality of previously scanned labels.

34. The method according to claim 33, further comprising identifying a plurality of labels that have been scanned in the past, in accordance with the metadata associated with the at least one label.

35. To generate the scanned labels, Training a label machine learning model using training data containing multiple labels correlated with examples of scanned labels, The process involves receiving the aforementioned profile as input to a label machine learning model, The method according to claim 31, further comprising outputting the scanned labels using the machine learning model.

36. The method according to claim 31, wherein the profile comprises a digital representation of a histological slide.

37. The method according to claim 31, wherein the confidence score comprises a derived score.

38. The method according to claim 31, further comprising using a lookup table to generate a plurality of named entities according to the at least one label.

39. The method according to claim 38, further comprising classifying the named entities into a plurality of entity categories based on their spatial location on the scanned label.

40. The method according to claim 39, wherein classifying the plurality of named entities into the plurality of entity categories is performed by identifying the plurality of named entities in text using template-based named entity recognition with respect to a predetermined template selected according to the medical facility data.

41. A device for generating confidence scores associated with scanned labels, wherein the device comprises, At least one processor, A memory connected to the at least one processor, wherein the memory is It is a profile, At least one label, Receive a profile that includes multiple digital representations of the slides, In order to verify the orientation of at least one slide data of the profile, an inversion detection process is performed on the profile. A scanned label is generated according to the at least one of the aforementioned labels. A confidence score is determined according to the scanned label, A memory comprising instructions that configure the at least one processor to display a confidence score using a display device, Determining the confidence score involves receiving the confidence training dataset. The process involves iteratively training a confidence machine learning model using the aforementioned confidence training dataset, An apparatus comprising generating the confidence score using the confidence machine learning model by determining the confidence score using the trained confidence machine learning model.

42. The apparatus according to claim 41, wherein generating the scanned labels further comprises scanning the at least one label using a text recognition module.

43. Performing the inversion detection process, Performing a color extraction process on the aforementioned multiple digital representations of the slide, Training a color parameter machine learning model using training data that correlates slide data with color orientation data, The apparatus according to claim 41, further comprising outputting a color parameter evaluation using the aforementioned color parameter machine learning model.

44. Performing the inversion detection process, Performing contrast calculations on the aforementioned multiple digital representations of the slide, Training a contrast parameter machine learning model using training data that correlates slide data with contrast orientation data, The apparatus according to claim 41, further comprising outputting a contrast parameter evaluation using the contrast parameter machine learning model.

45. Performing the inversion detection process, Extracting the label from the profile, Training a label evaluation machine learning model using training data that correlates slide data with label orientation data, The apparatus according to claim 41, further comprising outputting label parameter evaluations using the label evaluation machine learning model.

46. Performing the inversion detection process, Training a direction-oriented machine learning model using training data that correlates the evaluation of multiple parameters with multiple thresholds classified as direction status, The apparatus according to claim 41, further comprising outputting an orientation label using the orientation machine learning model.

47. The apparatus according to claim 41, further comprising determining a confidence score associated with the scanned label, and adjusting the confidence score for accuracy.

48. The apparatus according to claim 47, further comprising adjusting the confidence score by performing stain detection analysis using an image segmentation technique to separate stained areas within the plurality of digital representations of the slide.

49. Adjusting the aforementioned confidence score Using named entity recognition, identify the staining label associated with the stained region having the expected hue, The apparatus according to claim 48, further comprising comparing the hue value of the dyed region with the expected hue in order to determine the hue difference.

50. The apparatus according to claim 49, further comprising adjusting the confidence score based on the hue difference.

51. A method for generating confidence scores associated with scanned labels, wherein the method is A profile, depending on the computing device. At least one label, Receiving a profile that includes multiple digital representations of the slides, The computing device performs an inversion detection process on the profile in order to verify the orientation of at least one slide data of the profile, The computing device generates a scanned label according to the at least one label, The computing device determines a confidence score according to the scanned labels, The computing device adjusts the confidence score for accuracy, The computing device also includes displaying the confidence score using a display device. Determining the confidence score involves receiving the confidence training dataset. The process involves iteratively training a confidence machine learning model using the aforementioned confidence training dataset, A method comprising generating the confidence score using the confidence machine learning model by determining the confidence score using the trained confidence machine learning model.

52. The method according to claim 51, further comprising generating the scanned labels by scanning the at least one label using a text recognition module.

53. Performing the inversion detection process, Performing a color extraction process on the aforementioned multiple digital representations of the slide, Training a color parameter machine learning model using training data that correlates slide data with color orientation data, The method according to claim 51, further comprising outputting a color parameter evaluation using the color parameter machine learning model.

54. Performing the inversion detection process, Performing contrast calculations on the aforementioned multiple digital representations of the slide, Training a contrast parameter machine learning model using training data that correlates slide data with contrast orientation data, The method according to claim 51, further comprising outputting a contrast parameter evaluation using the contrast parameter machine learning model.

55. Performing the inversion detection process, Extracting the label from the profile, Training a label evaluation machine learning model using training data that correlates slide data with label orientation data, The method according to claim 51, further comprising outputting label parameter evaluations using the label evaluation machine learning model.

56. Performing the inversion detection process, Training a direction-oriented machine learning model using training data that correlates the evaluation of multiple parameters with multiple thresholds classified as direction status, The method according to claim 51, further comprising outputting an orientation label using the orientation machine learning model.

57. The method according to claim 51, further comprising determining a confidence score associated with the scanned label, and adjusting the confidence score for accuracy.

58. The method according to claim 57, wherein adjusting the confidence score involves performing stain detection analysis using an image segmentation technique to separate stained areas within the multiple digital representations of the slide.

59. Adjusting the aforementioned confidence score Using named entity recognition, identify the staining label associated with the stained region having the expected hue, The method according to claim 58, further comprising comparing the hue value of the dyed region with the expected hue in order to determine the hue difference.

60. The method according to claim 59, further comprising adjusting the confidence score based on the hue difference.

61. A device for generating confidence scores associated with scanned labels, wherein the device comprises, At least one processor, A memory connected to the at least one processor, wherein the memory is A profile, having at least one label, A profile is received which includes a plurality of metadata associated with at least one of the labels. By scanning the at least one label using a text recognition module, a scanned label is generated according to the at least one label. Based on a comparison of the scanned label with several previously scanned labels, a confidence score associated with the scanned label is determined. A memory comprising instructions that configure the at least one processor to display the confidence score using a display device, Determining the confidence score involves generating the confidence score using a confidence machine learning model, and A confidence training dataset having outputs correlated with inputs, wherein the input consists of multiple labels previously scanned, and the output consists of multiple confidence scores, and the dataset receives a confidence training dataset. Training the confidence machine learning model iteratively using the confidence training dataset, including retraining the confidence machine learning model using feedback from previous iterations of the confidence machine learning model. The apparatus further comprises determining the confidence score in accordance with a comparison of the scanned label with a plurality of previously scanned labels using the trained confidence machine learning model.

62. The apparatus according to claim 61, wherein the memory further instructs the at least one processor to generate a plurality of named entities according to the at least one label.

63. The apparatus according to claim 62, wherein the memory further instructs the at least one processor to classify the plurality of named entities into a plurality of entity categories.

64. The apparatus according to claim 63, wherein classifying the plurality of named entities into the plurality of entity categories comprises classifying the plurality of named entities into the plurality of entity categories according to the spatial arrangement of the plurality of named entities on the scanned label.

65. The apparatus according to claim 61, wherein the confidence score comprises a derived score.

66. The apparatus according to claim 61, wherein the confidence score comprises an expression score.

67. The apparatus according to claim 61, wherein the confidence score comprises a consistency score.

68. The apparatus according to claim 61, wherein the confidence score comprises a temporal consistency score.

69. The apparatus according to claim 61, wherein the at least one label comprises an identification code.

70. A method for generating confidence scores associated with scanned labels, wherein the method is Using at least one processor, a profile, Receiving a profile comprising at least one label and a plurality of metadata associated with the at least one label, Using the at least one processor, a text recognition module is used to scan the at least one label, thereby generating a scanned label corresponding to the at least one label. Using at least one of the processors, a confidence score associated with the scanned label is determined based on a comparison of the scanned label with a plurality of previously scanned labels. The system includes displaying the confidence score using a display device, Determining the confidence score involves generating the confidence score using a confidence machine learning model, and A confidence training dataset having outputs correlated with inputs, wherein the input consists of multiple labels previously scanned, and the output consists of multiple confidence scores, and the dataset receives a confidence training dataset. Training a confidence machine learning model, which involves iteratively training the confidence machine learning model using the confidence training dataset, and further includes retraining the confidence machine learning model using feedback from previous iterations of the confidence machine learning model; A method further comprising determining the confidence score in relation to a scanned label and a plurality of previously scanned labels using the trained confidence machine learning model.

71. The method according to claim 70, further comprising using the at least one processor to generate a plurality of named entities according to the at least one label.

72. The method according to claim 71, further comprising classifying the plurality of named entities into a plurality of entity categories using the at least one processor.

73. The method according to claim 72, further comprising using the at least one processor to classify the plurality of named entities into a plurality of entity categories according to their spatial location on the scanned label.

74. The method according to claim 70, wherein the confidence score comprises a derived score.

75. The method according to claim 70, wherein the confidence score comprises an expression score.

76. The method according to claim 70, wherein the confidence score comprises a consistency score.

77. The method according to claim 70, wherein the confidence score includes a temporal consistency score.

78. The method according to claim 70, wherein the at least one label comprises an identification code.