Computer-implemented method and computer program for detecting and classifying volatile organic compounds
Patent Information
- Application Number
- JP2021170352
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-10-26
- Filing Date
- 2021-10-18
- Publication Date
- 2025-03-26
- Estimated Expiration
- 2041-10-18
Smart Images

Figure 0007651238000001 
Figure 0007651238000002 
Figure 0007651238000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates generally to the detection and classification of volatile organic compounds. In particular, the present disclosure relates to the detection and classification of volatile organic compounds using trained machine learning models. [Background technology]
[0002] The detection and classification of Volatile Organic Compounds (VOCs) has been and continues to be a challenging area for the research community. Sensors detect VOCs by integrating an array of partially specific and uniquely selective VOC-recognizing sensors that are directly exposed to the chemical analytes or environment of interest. The main components of the sensor are an array of gas sensors and a pattern recognition algorithm that learns the unique signature of the VOCs and then accurately classifies unknown VOCs in a supervised or unsupervised manner. Summary of the Invention [Problem to be solved by the invention]
[0003] For example, the processing functions required to facilitate the classification of volatile organic compounds cannot be performed by humans as a series of mental acts. [Means for solving the problem]
[0004] The following presents a summary intended to provide a basic understanding of one or more embodiments of the present disclosure. This summary is not intended to identify key or critical elements or to delineate the scope of particular embodiments or the claims. Its purpose is to present concepts in a simplified form as a prelude to the more detailed description that is presented later. In one or more embodiments described herein, a device, system, computer-implemented method, apparatus, and / or computer program product enables automated classification of detected volatile organic compounds.
[0005] Aspects of the present invention disclose methods, systems, and computer-readable media related to classifying volatile organic compounds (VOCs) by receiving test data related to detection of volatile organic compounds, analyzing the test data according to a set of data features associated with known VOCs, determining a match between each feature of the test data and a corresponding feature in the set of data features to obtain a set of matches, defining a first degree of anomaly for the test data according to the set of matches, and classifying the test data according to the first degree of anomaly. [Brief description of the drawings]
[0006] The above and other objects, features, and advantages of the present disclosure will become more apparent through a more detailed description of several embodiments of the present disclosure in the accompanying drawings, in which the same references generally refer to the same components in the embodiments of the present disclosure.
[0007] [Figure 1] 1 is a schematic diagram of a computing environment according to one embodiment of the present invention.
[0008] [Diagram 2] 4 is a flow chart illustrating an operational sequence according to one embodiment of the present invention.
[0009] [Diagram 3] 3 is a flowchart illustrating logical data flow according to one embodiment of the present invention.
[0010] [Figure 4] FIG. 1 illustrates a cloud-computing environment in accordance with an embodiment of the present invention.
[0011] [Diagram 5] FIG. 2 illustrates abstraction model layers according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Some embodiments will be described in more detail with reference to the accompanying drawings, in which embodiments of the present disclosure are shown, however, the present disclosure may be embodied in various ways and should not be construed as being limited to the embodiments disclosed herein.
[0013] In an embodiment, one or more components of the system may employ hardware or software, or both, to solve problems that are highly technical in nature (e.g., analyzing test data features according to a set of data features associated with known VOCs, determining a match between each feature of the test data and a corresponding feature of the set of data features resulting in a set of matches, defining a first degree of anomaly of the test data according to the set of matches, and classifying the test data according to the first degree of anomaly, etc.). These solutions are not abstract and cannot be performed by a human being as a series of mental acts due to the processing functions required to facilitate, for example, classification of volatile organic compounds. Furthermore, some of the processing performed may be performed by a dedicated computer for performing defined tasks related to data classification. For example, tasks related to, for example, classification of volatile organic compounds may be performed using a dedicated computer.
[0014] The volatile organic compounds are transduced by the array of sensors to provide a time series of voltage outputs from each sensor associated with the VOCs that each sensor contacts. The voltage output of each sensor may be analyzed in terms of transitions from a first voltage to a second voltage. Each voltage transition may be divided into equal temporal segments, such as five segments per transition. Each temporal segment of each transition may be characterized as a feature for that transition. In this manner, a set of voltage outputs from the sensor array during exposure to a VOC may be transformed into a set of VOC-related features. Similarly, a set of array sensor output voltages associated with exposure to a set of VOCs, such as an aroma bouquet associated with a food or beverage item, may be transformed into a set of features associated with voltage transitions of the sensor outputs of the corresponding set of VOCs. The disclosed embodiments enable classification of new volatile organic compounds in terms of a set of previously classified volatile organic compounds utilized to train a machine learning volatile organic compound classification model.
[0015] The output of the sensor array may be provided directly to a computing system of an electronic nose that implements the disclosed embodiments, or the data may be recorded and provided to an external computing system that implements the disclosed embodiments.
[0016] In one embodiment, the method trains a machine learning model with a set of labeled VOCs, each of which may constitute a single VOC or may constitute a set of labeled VOCs, such as a set of VOCs associated with a particular scent or flavor. The method collects a voltage output of an electronic nose for each VOC.
[0017] In one embodiment, each sensor of the electronic nose is subjected to one or more temperature oscillations, resulting in a sensor voltage output waveform that develops over the course of the temperature change of the sensor. In this embodiment, the sensing device can vary the temperature of each sensor according to a defined temperature waveform using a thermistor that varies the temperature of the sensor.
[0018] For each labeled VOC sample in the training sample set, the method performs multiple sensing sessions, resulting in a set of voltage outputs from the sensor array for each labeled VOC sample. The value of each feature of each labeled VOC may vary among the set of voltage outputs for the VOC. The set of voltage outputs defines a distribution of values associated with each feature in the set of features for the VOC.
[0019] For each labeled VOC in the training dataset, the method learns a set of m features, a class corresponding to that VOC. For each feature in each class, the method learns and defines feature boundaries by analyzing the distribution of feature values from the output set associated with the sensing sessions of the labeled VOC.
[0020] In one embodiment, to reduce computational complexity, the method reduces a set of m features associated with each labeled VOC. In this embodiment, for the distribution of values of each feature for each class, the method tests each value for inclusion in the set of feature and class values. In the method, for each class, an m-dimensional real vector is considered, where m corresponds to the entire set of features associated with the VOC sample. The evaluation of the set of features includes defining the boundaries of each feature in the set of features.
[0021] In this method, the mean (μ j ), standard deviation (σ j ) to define the boundaries of each feature of the class. Then, we use Chebyshev's inequality and μ j ±n j *σ j The feature boundaries are determined according to a first threshold defined as: j The value of the distribution is Z% of the value [μ j -n j *σ j ,μ j +n j*σ j Find it as the minimum number that can be included in the interval defined by ], and use the user's input to define Z%, for example 95%. As a result of such consideration, this method is based on the set of eigenvalue boundaries μ0 ± n0*σ0, μ1 ± n1*σ1, …, μ m ±n m *σ m where m * < m. In the defined boundaries of this example, 95% of the feature data falls within the boundaries, and 5% of the feature data falls outside the defined boundaries. This method excludes features with a distributed distribution represented by hyperparameter n j values above the threshold from the class. As a result, 95% of the set of training sample data features, or other user-defined limits, are associated with the labeled VOC, and 5% of the training sample data features cause anomalies in the labeled VOC.
[0022] This method inputs the boundaries of the features defined and associated with each of the labeled VOCs and VOC sets included in the training samples into the VOC database. This method classifies the test samples according to the VOC content by comparing the data of the test samples with the set of feature boundaries in the VOC database.
[0023] After training, this method provides a classification model for use with the array sensor output voltage associated with test samples (samples not included in the training sample set). In this method, for each test sample, the output voltage data is divided into features with the same time scale as that used when dividing the training sample data. For each feature of each sensor output of each test sample, this method compares the feature with the corresponding feature boundaries from each VOC of the model. In this method, if two features occupy the same position on the time line of the voltage output, the features are considered to correspond.
[0024] In one embodiment, the method classifies as anomalous test samples that have values outside the defined feature boundaries by more than a defined maximum number of features (Max). In this embodiment, the method defines the maximum number according to the distribution of the training sample data for the feature. For the training set data, the method starts with Max=0, which represents the state where all samples are classified as anomalous, and linearly increases Max in steps of 1 until the number of anomalies in the training sample set that are classified as anomalous is less than or equal to the complement of a user-defined confidence level (100-Z)% of the training samples. For example, the method defines Max as the number of features whose boundaries are exceeded by the training sample data when 5% of the training samples are classified as anomalous, for a user-defined Z of 95. In practice, the method defines the number of test sample feature values that are outside the defined feature boundaries μ0±n0*σ0,μ1±n1*σ1,...,μ m* ±n m* *σ m* A test sample is classified as anomalous if its feature value is less than Max, which is determined according to the training sample dataset. Test samples with feature values outside the defined feature boundaries and less than Max are classified as VOCs with the highest number of feature matches against the test sample data feature values.
[0025] In one embodiment, the method defines a value a as the number of test sample feature values that fall outside the bounds of the corresponding feature. For test samples with a≧Max, the method classifies the test sample as anomalous. A larger value of a indicates that the test sample is more anomalous compared to the baseline VOC of the trained model. For test samples classified as anomalous, the method considers anomaly and classifies the test sample as either a member of an unseen class (relatively less anomalous) that is not currently present in the model's VOC database, or as a contaminated sample (relatively more anomalous).
[0026] In one embodiment, the method defines a threshold for a as the average value of a for the training samples that fall outside the feature boundaries when the method defines the boundaries (if Z is 95, the method defines the feature boundaries to include 95% of the training samples, and then uses the average a value for the 5% of training samples that fall outside the currently defined feature boundaries as the threshold, and further classifies the anomalous test samples as samples of an unseen class if a is below the threshold, and as contaminated samples if a is above the threshold).
[0027] In one embodiment, the method labels test samples with an a value equal to or greater than the "a" threshold as contaminants and assigns the samples to the contaminant class. Unsupervised application of the method to samples of the contaminant class results in new classes of VOCs associated with specific types of contamination according to test sample feature values with similar characteristics. In this embodiment, the method utilizes the feature sets of the test samples classified as contaminated and further classifies the entire set of classified samples according to the similarity of the samples' respective feature sets. The new classifications of contaminants may be added to the database of baseline VOCs and used to classify new test samples.
[0028] If the test sample is classified as anomalous but the value of a is below the threshold of “a”, the method classifies the test sample as an unseen class. When the method is applied in an unsupervised manner to a test sample classified as unseen, it further classifies the test sample according to the similarity between the feature sets of the sample. The new classification is added to the database of baseline VOC and may be used to classify new test samples.
[0029] In one embodiment, the sensors of the array may experience output drift due to sensor degradation over time with use. In this embodiment, the thresholds described above may drift in response to the sensor output drift. Running the method in training mode may determine new thresholds that correspond to changes in the sensors. In this embodiment, operation of the method in training mode to check and modify thresholds may occur on a periodic basis, such as monthly, semi-annual, or annually.
[0030] Applications of the disclosed embodiments include testing food samples to check for spoilage, as indicated by a shift in sample VOCs from a defined baseline for meat, dairy, and other foods. Applications also include checking for the presence of volatile organic compounds associated with hazardous materials. For example, checking for VOCs added to commercial natural gas to identify system leaks, checking for the presence of ammonia gas near refrigeration systems that use ammonia gas, and checking baseline volatile organic compounds emanating from other hazardous materials such as explosives. Applications also include sensing VOCs associated with illnesses to be used as diagnostic indicators.
[0031] FIG. 1 is a schematic diagram of exemplary network resources relevant to the implementation of the disclosed invention. The present invention may be implemented in a processor of any of the disclosed elements that processes an instruction stream. As shown, a networked client device 110 wirelessly connects to a server subsystem 102. A client device 104 wirelessly connects to the server subsystem 102 via a network 114. The client devices 104 and 110 include a volatile organic compound classification program (not shown) along with sufficient computing resources (processor, memory, network communication hardware) to execute the program. As shown in FIG. 1, the server subsystem 102 includes a server computer 150. FIG. 1 is a block diagram illustrating components of the server computer 150 in a network computer system 1000 according to an embodiment of the present invention. It should be understood that FIG. 1 is merely an example of one implementation and is not intended to imply any limitation with respect to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.
[0032] Server computer 150 may include processor 154, memory 158, persistent storage 170, communications 152, input / output (I / O) interface 156, and communications fabric 140. Communications fabric 140 provides communication between cache 162, memory 158, persistent storage 170, communications 152, and input / output (I / O) interface 156. Communications fabric 140 may be implemented with any architecture designed to pass data and / or control information between processors (such as microprocessors, communications and network processors), system memory, peripherals, and other hardware components in the system. For example, communications fabric 140 may be implemented with one or more buses.
[0033] Memory 158 and persistent storage 170 are computer-readable storage media. In this embodiment, memory 158 includes random access memory (RAM) 160. In general, memory 158 may include any suitable volatile or non-volatile computer-readable storage medium. Cache 162 is a high-speed memory that improves performance of processor 154 by holding recently accessed data and data near to recently accessed data from memory 158.
[0034] Program instructions and data used to implement embodiments of the present invention, such as a volatile organic compound classification program 175, are stored in persistent storage 170 for execution and / or access by one or more of the respective processors 154 of the server computer 150 via cache 162. In this embodiment, persistent storage 170 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage 170 may include a solid state hard drive, a semiconductor memory device, a read only memory (ROM), an erasable programmable read only memory (EPROM), a flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.
[0035] The media used by persistent storage 170 may also be removable. For example, a removable hard drive may be used for persistent storage 170. Other examples include optical or magnetic disks, thumb drives, or smart cards that are inserted into a drive for transfer to another computer-readable storage medium that is also part of persistent storage 170.
[0036] The communications unit 152 provides for communication with other data processing systems or devices, including, in these examples, the resources of the client computing devices 104 and 110. In these examples, the communications unit 152 includes one or more network interface cards. The communications unit 152 may provide communications using either or both physical and wireless communications links. Software distribution programs and other programs and data used in the practice of the invention may be downloaded to persistent storage 170 of the server computer 150 via the communications unit 152.
[0037] The I / O interface 156 allows for input and output of data to and from other devices that may be connected to the server computer 150. For example, the I / O interface 156 may provide a connection to an external device 190, such as a keyboard, keypad, touch screen, microphone, digital camera, or other suitable input device, or a combination thereof. The external device 190 may also include portable computer-readable storage media, such as, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to implement embodiments of the present invention, for example, the volatile organic compound classification program 175 on the server computer 150, may be stored on such portable computer-readable storage media and loaded into the persistent storage 170 via the I / O interface 156. The I / O interface 156 is also connected to a display 180.
[0038] Display 180 provides a mechanism for displaying data to a user and may be, for example, a computer monitor, or may function as a touch screen, such as the display on a tablet computer.
[0039] FIG. 2 provides a flow chart 200 illustrating exemplary activities associated with practicing the present disclosure. After the program begins, in block 210, the method of volatile organic compound classification program 175 receives sensor array output voltage data related to VOCs from an electronic nose as test data. The method may receive the data by directly connecting to the electronic nose or indirectly after the data has been recorded and passed to the method for processing. Direct or indirect connections may include passing the data to the method through a computer network infrastructure. The method converts the received VOC data into data features for use in classifying test samples according to the VOC content of the samples.
[0040] In block 220, the method of volatile organic compound classification program 175 analyzes the test data according to a set of baseline VOC feature patterns stored in the database. In one embodiment, the method created the VOC database by analyzing VOC sample data labeled according to the classification step of the method. The method defines boundaries for the training sample data features. The method defines a threshold for classifying the test samples as anomalous, and further classifies the anomalous test samples as either contaminated samples or unseen VOC samples.
[0041] At block 230, the method determines matches between the data features of the test sample and the data feature patterns of the classified VOC. The method compares the data feature values of the test sample to previously defined data feature boundaries of the corresponding VOC data features. Values within the defined boundaries are considered to match and values outside the defined boundaries are considered not to match. The method determines the number of test sample data features that match the known VOC data features and the number of test sample data features that do not match the known VOC data features.
[0042] At block 240, the method defines a first anomaly measure for the test sample data. The method uses the number of matches determined above to define the first anomaly measure. The method determines a number, a, representing the number of test sample data features that fall outside the boundaries of the defined training sample VOC data features. The method advances the value of a as the first anomaly measure for the test sample.
[0043] In block 250, the method classifies the test sample according to a first degree of anomaly. In one embodiment, the method defines a Max threshold value of a-values of the test sample data features according to the distribution of data of the training sample. The method determines a threshold number of data feature boundaries that will provide a user-specified level of accuracy in classifying the training data samples. As an example, the method determines a maximum number of unmatched training sample data feature boundaries that will result in anonymous classification of a large number of training samples that are below a user-defined tolerance level. For a user-defined confidence level of 95%, for a 5% anomaly tolerance, the method determines a maximum number of feature boundaries that a training set sample may fall outside, resulting in 5% or less of the training samples being classified as anomaly.
[0044] Test samples with a values below the threshold are classified as baseline VOCs with the highest number of features matching the test sample data features. Test samples with a values above the defined a threshold are classified as anomalous.
[0045] FIG. 3 provides a flow chart 300 illustrating method logic and data flow associated with training a model, according to an embodiment of the present invention. As shown, a machine learning classification model 310 receives training sample sensor array output data 312. The model 310 uses the data 312 to define data feature boundaries 314 for labeled VOCs according to a user's confidence level Z. The method stores the pattern of labeled VOC feature boundaries in a VOC feature boundary database 315. The model further defines a MAX threshold 316 related to the number of feature boundaries that a sample data may fall outside without being classified as an anomaly. The method determines the MAX threshold 316 as a function of the user's confidence and the distribution of sample data features from the training sample set. The method also determines an "a" threshold 318 for anomaly classification. The method determines the "a" threshold 318 as the average value of a, the number of missed feature boundary matches, for samples in the training set classified as anomalies. If the anomaly tolerance level is 5%, then the method determines the "a" threshold 318 as the average "a" value of 5% of the training set samples classified as anomalous.
[0046] As shown, the method utilizes a trained model 310, including feature boundary definitions 314, a MAX threshold 316, and an "a" threshold 318, to classify new test sample data 322. The trained model receives the test sample data 322 and compares 324 the test sample data features to stored VOC data feature boundaries 314 from the model's VOC feature boundary database 315. For each test sample, the method determines the number of VOC feature boundaries that the sample's data features match and the number that the sample's features do not match, i.e., the test sample's "a" value.
[0047] At 325, the method compares the "a" value of the test sample to the previously determined value of the MAX threshold 316. For test samples with an "a" value less than MAX, the method classifies the test sample as the VOC with the most data features matching the sample 326. For test samples with a value equal to or greater than MAX, the method classifies the test sample as anomalous 327.
[0048] For test samples classified as anomalous, at 327 the method compares the sample's a value to the "a" threshold 318. Test samples having an "a" value equal to or greater than the "a" threshold 318 are classified as contaminants 328. Test samples having a value below the "a" threshold are classified as non-visible volatile organic compounds 329.
[0049] In embodiments where sufficient contaminant samples or subvisible volatile organic compound samples have been accumulated, the method performs a training phase using the accumulated contaminant or subvisible volatile organic compound data as new training data 312 to generate new classifications for the model.
[0050] Although this disclosure includes detailed descriptions of cloud computing, it should be understood that practice of the teachings described herein is not limited to cloud computing environments. Rather, embodiments of the invention may be practiced in conjunction with other types of computing environments now known or developed in the future.
[0051] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, services, etc.) that can be rapidly provisioned and released with minimal administration or interaction with a service provider. This cloud model includes at least five characteristics, at least three service models, and at least four deployment models.
[0052] Its features are as follows.
[0053] On-Demand Self-Service: Cloud customers can unilaterally and automatically provision computing capacity, such as server time or network storage, as needed, without the need for human interaction with the service provider.
[0054] Broad network access: Functionality is available across the network and is accessible through standard mechanisms, allowing use across a wide variety of thin and thick client platforms (e.g., mobile phones, laptops, PDAs, etc.).
[0055] Resource Pooling: Pooling a provider's computing resources to serve multiple consumers using a multi-tenant model, dynamically allocating and reallocating different physical and virtual resources according to demand. There is location independence in that consumers generally do not have control or knowledge of the exact location of the provided resources, but may be able to specify the location at a higher level of abstraction (e.g., country, state, or data center).
[0056] Rapid Elasticity: Capabilities can be provisioned rapidly and elastically, sometimes automatically, scaled out quickly, released quickly and scaled in quickly. To the consumer, it often appears that the capabilities available for provisioning are unlimited and can be purchased at any time and in any quantity.
[0057] Measured Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at levels of abstraction that correspond to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services used.
[0058] The service model is as follows:
[0059] Software as a Service (SaaS): The functionality offered to the consumer is the use of a provider's applications running on a cloud infrastructure. The applications can be accessed from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer has no management or control over the cloud infrastructure, including networks, servers, operating systems, storage, or the functionality of individual applications, except for limited user-specific application configuration settings.
[0060] Platform as a Service (PaaS): A consumer-provided capability that allows applications that the consumer creates or acquires to be deployed onto a cloud infrastructure using programming languages and tools supported by the provider. The consumer does not manage or control the cloud infrastructure, including the underlying networks, servers, operating systems, storage, etc., but does have control over the deployed applications and, in some cases, the configuration of the application's hosting environment.
[0061] Infrastructure as a Service (IaaS): The facility offered to the consumer provides processing, storage, network, and other basic computing resources to allow the consumer to deploy and run any software, including operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has control over the operating systems, storage, deployed applications, and has limited control over some network components (e.g., host firewalls).
[0062] The deployment model is as follows:
[0063] Private Cloud: The cloud infrastructure is operated solely for the organization and may be managed by the organization or a third party and may exist on-premise or off-premise.
[0064] Community Cloud: Cloud infrastructure is shared among multiple organizations to support a specific community that shares a common concern (e.g., mission, security requirements, policies, compliance considerations), and may reside on-premise or off-premise, managed by the organization or a third party.
[0065] Public Cloud: Cloud infrastructure made available to the general public or large industry groups and is owned by organizations that sell cloud services.
[0066] Hybrid Cloud: Cloud infrastructure is a combination of two or more clouds (private, community, public) that, while unique, are bound together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
[0067] A cloud computing environment is a service-oriented environment that emphasizes statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0068] Referring now to FIG. 4, an exemplary cloud computing environment 50 is shown. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10 with which local computing devices used by cloud users can communicate, such as, for example, a personal digital assistant (PDA) or mobile phone 54A, a desktop computer 54B, a laptop computer 54C, or an automobile computer system 54N, or both. The nodes 10 may communicate with each other. They may be grouped (not shown) in one or more networks, such as the aforementioned private cloud, community cloud, public cloud, hybrid cloud, or combinations thereof, either physically or virtually. This allows the cloud computing environment 50 to provide infrastructure, platform, and / or software as a service without the cloud user having to maintain resources on a local computing device. It should be understood that the types of computing devices 54A-N shown in FIG. 4 are for illustrative purposes only, and that the computing nodes 10 and the cloud computing environment 50 can communicate with any type of computerized device over any type of network or network addressable connection or both (e.g., using a web browser).
[0069] Referring now to Figure 5, a set of functional abstraction layers provided by cloud computing environment 50 (Figure 4) is shown. It should be understood in advance that the components, layers, and functions shown in Figure 5 are for illustrative purposes only, and embodiments of the present invention are not limited thereto. As shown, there are the following layers and corresponding functions:
[0070] Hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframe 61, reduced instruction set computer (RISC) architecture based servers 62, servers 63, blade servers 64, storage devices 65, and networks and network components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0071] The virtualization layer 70 provides an abstraction layer within which examples of virtual entities are provided, including virtual servers 71 , virtual storage 72 , virtual networks including virtual private networks 73 , virtual applications and operating systems 74 , and virtual clients 75 .
[0072] In one example, management layer 80 may provide the functionality described below: Resource provisioning 81 dynamically provides computing and other resources utilized to execute tasks in the cloud computing environment. Metering and pricing 82 tracks costs as resources are utilized in the cloud computing environment and provides billing or charging for the consumption of these resources. In one example, these resources include application software licenses. Security provides identity verification of cloud consumers and tasks, protection of data and other resources. User portal 83 provides access to the cloud computing environment to consumers and system administrators. Service level management 84 provides allocation and management of cloud computing resources such that requested service levels are met. Service level agreement (SLA) planning and fulfillment 85 pre-arranges and provides cloud computing resources for anticipated future demand in accordance with SLAs.
[0073] The workload tier 90 provides examples of functions for which a cloud computing environment may be utilized. Examples of workloads and functions provided by this tier include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instructional delivery 93, data analytics processing 94, transaction processing 95, and volatile organic compound classification programs 175.
[0074] The present invention may be a system, method, and / or computer program product, in any possible level of technical detail integration. The present invention may be beneficially implemented in any system, single or parallel, that processes instruction streams. The computer program product may include computer readable storage medium(s) having computer readable program instructions for causing a processor to implement aspects of the present invention.
[0075] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), static random access memories (SRAMs), portable compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), memory sticks, floppy disks, punch cards or mechanically encoded devices such as ridge structures in grooves having recorded instructions, and any suitable combination of the above. Computer-readable storage medium, or computer-readable storage, as used herein, is not to be construed as a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted through a wire.
[0076] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or may be downloaded to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, or a wireless network, or both. The network may comprise copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in the computer-readable storage medium within the respective computing / processing device.
[0077] The computer readable program instructions for carrying out the operations of the present invention may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages. The one or more programming languages include object oriented programming languages such as Smalltalk, C++, etc., and procedural programming languages such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partially on the user's computer as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), and the connection may be made to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, to perform aspects of the invention, an electronic circuit, including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuit.
[0078] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0079] These computer readable program instructions may be provided to a general purpose computer, a processor of a special purpose computer, or other programmable data processing apparatus to produce a machine, whereby the instructions are executed via the computer's processor or other programmable data processing apparatus to create means for implementing the functions / operations specified in the flowchart and / or block diagram blocks or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that may instruct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner. Thus, a computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions that implement aspects of the functions / operations specified in the flowchart and / or block diagram blocks or blocks.
[0080] Computer-readable program instructions may also be loaded into a computer, other programmable data processing apparatus or other device and cause a sequence of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer-implemented process, whereby the instructions executing on the computer, other programmable apparatus or other device implement the functions / operations identified in the flowcharts and / or block diagram blocks or within the blocks.
[0081] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may be executed in the reverse order depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a special-purpose hardware-based system that performs the specified functions or operations or realizes a combination of special-purpose hardware and computer instructions.
[0082] References herein to "one embodiment," "embodiment," "exemplary embodiment," and the like indicate that the embodiment being described may include a particular feature, structure, or characteristic, but not all embodiments may necessarily include that particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Moreover, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is believed to be within the knowledge of one of ordinary skill in the art to affect such feature, structure, or characteristic in connection with multiple other embodiments, whether or not stated.
[0083] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used herein, the singular forms "a", "one" and "above" are intended to include the plural forms unless the context clearly indicates otherwise. It is further understood that the terms "comprise", "consist" or "comprise", or combinations thereof, as used herein, specify the presence of stated features, integers, steps, operations, elements or components, or combinations thereof, and do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or groups thereof, or combinations thereof.
[0084] The description of various embodiments of the present invention has been presented for illustrative purposes, but is not intended to be exhaustive or limiting of the disclosed embodiments. Many modifications and variations will become apparent to those skilled in the art without departing from the scope and spirit of the present invention. The terms used in this specification have been selected to best explain the principles of the embodiments, practical applications or technical improvements to the technology found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.
Claims
1. receiving, by one or more computer processors, test data relating to detection of volatile organic compounds (VOCs); analyzing, by the one or more computer processors, the test data according to a set of data characteristics associated with known VOCs; determining, by the one or more computer processors, a match between each feature of the test data and a corresponding feature of the set of data features to generate a set of matches; defining, by the one or more computer processors, a first degree of abnormality of the test data in response to the set of matches; classifying, by the one or more computer processors, the test data according to the first degree of anomaly; 1. A computer-implemented method for classifying volatile organic compounds, comprising:
2. The computer-implemented method of claim 1 , wherein determining a match between each feature of the test data and the corresponding feature of the set of data features comprises determining a match according to a second degree of anomaly.
3. The computer-implemented method of claim 2 , wherein the second degree of abnormality is determined as a function of a first threshold value related to a distribution of the corresponding feature in a set of training samples.
4. The computer-implemented method of claim 1 , further comprising classifying, by the one or more computer processors, the test data as anomalous according to the first degree of anomaly.
5. The computer-implemented method of claim 4 , further comprising classifying, by the one or more computer processors, the test data as being of an unseen class according to a third degree of anomaly.
6. 5. The computer-implemented method of claim 4, further comprising classifying, by the one or more computer processors, the test data as tainted according to a third degree of abnormality.
7. The computer-implemented method of claim 6 , wherein the third abnormality measure is associated with a distribution of abnormal data samples in a set of training samples.
8. 1. A computer program for classifying volatile organic compounds, comprising: receiving test data relating to detection of volatile organic compounds (VOCs); analyzing the test data according to a set of data features associated with known VOCs; determining a match between each feature of the test data and a corresponding feature of the set of data features to generate a set of matches; defining a first anomaly measure for the test data in response to the set of matches; classifying the test data according to the first abnormality degree; A computer program for executing the above.
9. The computer program product of claim 8 , wherein determining a match between each feature of the test data and the corresponding feature of the set of data features comprises determining a match as a function of a second degree of anomaly.
10. The computer program product of claim 9 , wherein the second degree of abnormality is determined as a function of a first threshold value related to a distribution of the corresponding feature in a set of training samples.
11. classifying the test data as anomalous according to the first degree of anomaly.
11. The computer program product according to claim 8, further comprising:
12. classifying the test data as being of an unseen class according to a third degree of anomaly. The computer program product of claim 11 , further comprising:
13. classifying the test data as tainted according to a third degree of abnormality. The computer program product of claim 11 , further comprising:
14. The computer program product of claim 13 , wherein the third abnormality measure is associated with a distribution of abnormal data samples in a set of training samples.
15. 1. A computer-implemented method for classifying volatile organic compounds (VOCs) in response to an array of sensors whose voltage output is a function of the VOCs present in a given test sample in contact with the array, comprising: receiving a voltage output from the array, the voltage output being related to the test sample; analyzing, by one or more computer processors, the voltage output to match said voltage output against previously recorded waveforms having respective characteristics corresponding to various organic compounds; for each feature associated with each VOC in a database of known VOCs, determining whether the voltage output of the test sample matches the feature according to a first threshold value for the feature; A computer-implemented method comprising:
16. The computer-implemented method of claim 15 , wherein the first threshold is determined as a function of a distribution of the features in a set of VOC training samples.
17. 17. The computer-implemented method of claim 15 or 16, further comprising determining a first degree of abnormality of the test sample, the first degree of abnormality comprising a number of mismatched features.
18. applying a second threshold to the first anomaly measure, the second threshold being calculated taking into account a second anomaly measure calculated on a subset of VOC training samples corresponding to an anomaly sample; classifying test samples associated with a first degree of abnormality that exceeds the second threshold as abnormal test samples; 20. The computer-implemented method of claim 17, further comprising:
19. applying a third threshold to the first anomaly measure of the anomalous test sample, the third threshold being calculated taking into account a second anomaly measure calculated on a subset of VOC training samples corresponding to the anomalous sample; classifying test samples below the third threshold as unseen VOC samples; 20. The computer-implemented method of claim 18, further comprising:
20. analyzing the abnormal test sample; updating said database of known VOCs in response to said analysis.
20. The computer-implemented method of claim 18 or 19, further comprising:
Citation Information
Patent Citations
Equipment state monitoring method and device using the same
JP2013143009A
Systems and methods for analyte sensing in physiological gas samples
JP2019020415A
Volatile organic compounds as diagnostic breath markers for pulmonary oxygen toxicity
US20180180590A1
System and method for volatile organic compound detection
US20190317079A1