Discrimination of Chinese Liquors Based on Electronic Nose and Fuzzy Discriminant Principal Component Analysis

The detection of liquor quality is an important process in the liquor industry, and the quality of Chinese liquors is partly determined by the aromas of the liquors. The electronic nose (e-nose) refers to an artificial olfactory technology. The e-nose system can quickly detect different types of Chinese liquors according to their aromas. In this study, an e-nose system was designed to identify six types of Chinese liquors, and a novel feature extraction algorithm, called fuzzy discriminant principal component analysis (FDPCA), was developed for feature extraction from e-nose signals by combining discriminant principal component analysis (DPCA) and fuzzy set theory. In addition, principal component analysis (PCA), DPCA, K-nearest neighbor (KNN) classifier, leave-one-out (LOO) strategy and k-fold cross-validation (k = 5, 10, 20, 25) were employed in the e-nose system. The maximum classification accuracy of feature extraction for Chinese liquors was 98.378% using FDPCA, showing this algorithm to be extremely effective. The experimental results indicate that an e-nose system coupled with FDPCA is a feasible method for classifying Chinese liquors.


Introduction
China has a long history of producing and drinking liquors [1]. Chinese liquors are traditionally strong alcoholic beverages, like brandy, vodka, and rum, but their raw materials and production processes are different. Chinese liquors are mainly produced by fermentation of grains (such as sorghum, rice, corn and wheat), followed by distillation and blending [2]. Chinese liquors are the well-liked alcoholic beverages in the Chinese people who like to drink a lot of liquor. Therefore, a large quantity of liquors need to be brewed every year in China. Liquors are also a high value-added commodity, so Chinese liquor factories are of great significance to the Chinese economy [3]. Due to differences in the fermentation process and raw materials, Chinese liquors have their unique aromas and tastes [4]. According to the taste and flavor, Chinese liquors can be classified into several grades. With the development of China's economy and improvement of the living standard, more and more people are pursuing high-grade liquors, even if their prices are high. In order to gain more profits, some merchants use inferior Chinese liquors to counterfeit high-grade Chinese liquors. The sale of

Chinese Liquor Samples
We purchased six kinds of Chinese liquors-Maotai (MT), Fenjiu (FJ), Kouzijiao (KZJ), Haizhilan (HZL), Yingjiagongjiu (YJ) and Gujinggongjiu (GJ)-from the local supermarket. The specific information of Chinese liquors is shown in Table 1. We used 50 samples for each type of Chinese liquors, equating to a total of 300 samples for the six types of Chinese liquors. The probability P, the difference between samples caused by sampling errors, was less than 0.001 (N = 50), indicating the results were statistically significant. There are three flavor types (Maotai style, Fen style, and Luzhou style) in these Chinese liquors. All liquors are produced by solid fermentation, but their origin and raw materials are different. In general, the flavors are different for different type of Chinese liquors. Therefore, we can classify different kinds of Chinese liquors according to their unique flavors using the e-nose system.

Electronic-Nose System
The hardware of the designed e-nose system, shown in Figure 1, consisted of a sensor array, power supply, pump (KLP05-6, KAMOER Fluid Technology (Shanghai) Co. Ltd., Shanghai, China), and data acquisition card (MP4623, Beijing Shuangnuo Measurement and Control Technology Co. Ltd., Beijing, China). It had two power supplies, which provided +5 volts and +10 volts for the gas sensor array and the pumps, respectively. One pump was used to transfer the volatile gas of the Chinese liquor samples to the air chamber where the gas sensor array was located. The other pump was used to clean the air chamber. The gas sensor array included 10 kinds of gas sensors : TGS2600, TGS2602,  TGS2610, TGS2611, TGS2620, TGS813, TGS822, TGS822TF, MQ136, and MQ3. The Taguchi (TGS) gas sensor, manufactured by Japan Figaro, is a metal-oxide-semiconductor (MOS) gas sensor, which can serve as detectors to measure the current by oxidizing or reducing an object gas at an electrode to obtain a target gas concentration. MQ gas sensors are semiconductor gas sensors manufactured by Weisheng Electronics Technology Co. Ltd. (Zhengzhou, China). The sensitive material of MQ-series gas sensors is a highly active metal-oxide semiconductor.
MQ gas sensors can detect a variety of flammable gases. The MOS sensor is made of a reactive material, such as SnO 2 , ZnO 2 , or Fe 2 O 3 , as the substrate, and a precious metal, such as platinum or palladium, is added as a catalyst. The catalyst can shorten the response time of the sensor to the chemical reaction equilibrium and accelerate the response speed of the sensor. In addition, the MOS sensor has a simple structure and long service life. It is also inexpensive to manufacture and easily miniaturized and integrated. In addition, MOS sensors respond quickly and are reproducible in a short period of time [40]. The details of the sensor parameters are described in Table 2. The gas sensor array could detect the flavors of Chinese liquors and outputted the analog signals to the data acquisition card, which converted the analog signals into the digital signals processed by the computer. The response curves of the digital signals were examined using the LabVIEW 2013 software (National Instruments Corporation, Austin, TX, USA). Machine-learning algorithms for data analysis were programmed with MATLAB 2014 (MathWorks, Natick, MA, USA).  TGS2602, TGS2610, TGS2611, TGS2620, TGS813, TGS822, TGS822TF, MQ136, and MQ3. The Taguchi (TGS) gas sensor, manufactured by Japan Figaro, is a metal-oxide-semiconductor (MOS) gas sensor, which can serve as detectors to measure the current by oxidizing or reducing an object gas at an electrode to obtain a target gas concentration. MQ gas sensors are semiconductor gas sensors manufactured by Weisheng Electronics Technology Co. Ltd. (Zhengzhou, China). The sensitive material of MQ-series gas sensors is a highly active metal-oxide semiconductor.

Experimental Steps and Data Processing
The e-nose data of Chinese liquors were collected in the laboratory (about 15 • C, 40% relative humidity) to ensure the gas sensor worked in an appropriate test environment. The experimental processes are shown in Figure 2. Chinese liquor sample. The response curve of pump (input) and pump (output) of the liquors based on the sensor array is shown in Figures 3 and 4, respectively.
Step 5. Repeat steps 2-4 until all data are collected.  The data processing for Chinese liquor samples included data compression, feature extraction, and data classification. To extract fuzzy features from the data, we used a new feature extraction, i.e. FDPCA, to more accurately classify Chinese liquors. The process of classification using FDPCA was as follows: Step 1. Compress the data using PCA.
Step 2. Calculate the values of fuzzy membership and the values of cluster centers using fuzzy K-nearest neighbor algorithm.
Step 3. Extract the fuzzy features from the data using FDPCA.
Step 4. Classify the data using the LOO strategy and KNN classifier. For the LOO strategy, N − 1 samples were selected as training samples from the N samples, and one sample was left to serve as a test sample. Therefore, there were a total of N test samples, and the classification accuracy was calculated N times. In addition, the k-fold cross-validation was used to verify the effect of feature extraction. A total of 30 tests were performed, and the average of the accuracies was calculated. The experimental steps for data collection of the Chinese liquors using the e-nose system were as follows: Step 1. Check the electronic nose device, power the e-nose system, preheat the gas sensor array, and open the pump (output) to clean the air chamber.
Step 2. Place 15 ml of Chinese liquor in the conical bottle (where the sample is placed).
Step 3. Send the vapor of the sample to the air chamber by pumping it in (lasting 10 min), collect the data and send them to the PC using the data acquisition card (MP4623), and observe the situation of data acquisition through LabVIEW 2013 software. After 10 min, record and save the data.
Step 4. After the data collection for a sample is complete, clean the gas chamber for 5 min by pumping it out. Whether the gas chamber is clean or not can be observed by the response curve in the LabVIEW 2013 software. After the gas chamber is completely clean, collect the data of another Chinese liquor sample. The response curve of pump (input) and pump (output) of the liquors based on the sensor array is shown in Figures 3 and 4, respectively. Chinese liquor sample. The response curve of pump (input) and pump (output) of the liquors based on the sensor array is shown in Figures 3 and 4, respectively.
Step 5. Repeat steps 2-4 until all data are collected.  The data processing for Chinese liquor samples included data compression, feature extraction, and data classification. To extract fuzzy features from the data, we used a new feature extraction, i.e. FDPCA, to more accurately classify Chinese liquors. The process of classification using FDPCA was as follows: Step 1. Compress the data using PCA.
Step 2. Calculate the values of fuzzy membership and the values of cluster centers using fuzzy K-nearest neighbor algorithm.

Discriminant Principal Component Analysis and Fuzzy Discriminant Principal Component Analysis
Based on discriminant principal component analysis (DPCA) [38] and fuzzy set theory, we developed FDPCA to extract fuzzy features. The DPCA algorithm can be described as follows [38]: Step 1. Calculate the maximum eigenvalue and the eigenvector according to Equation (1): where SB is the between-class scatter matrix; SW is the within-class scatter matrix; and Ψ and λ are the eigenvector and the corresponding eigenvalue, respectively. According to the above calculation, we have the maximum eigenvalue λ1 and the corresponding eigenvector Ψ1, which is the first vector of the optimal discriminant vector set.
Step 2. Calculate a set of optimal discriminant vectors.
I is the identity matrix; Ψr+1 and γ are the r + 1th eigenvector and the corresponding eigenvalue, respectively; and Ψ1, Ψ2,…, Ψr are a set of optimal discriminant vectors. According to the set of optimal discriminant vectors Ψ1, Ψ2,…, Ψr (r ≥ 1), the next optimal discriminant vector Ψr+1 can be calculated using Equation (2). The p (p > r) optimal discriminant vectors can be obtained through the above calculation. Then, we have an optimal discriminant vector set {Ψ1, Ψ2 ,…, Ψp}.
Before the FDPCA is used for feature extraction, the values of fuzzy membership and the values of cluster centers need to be calculated. The values of fuzzy membership can be obtained through fuzzy K-nearest neighbor algorithms [41]. The values of cluster centers can be achieved using Equation (4): where is the fuzzy membership value of in the class i; is the cluster center of the th class; is the number of training samples; ̅ is the sample mean of the th class; is the weight index, and must be greater than one. The feature extraction process of FDPCA is as follows: Step 1. Calculate the fuzzy between-class scatter matrix and the fuzzy total-class scatter matrix with the following equations: Step 5. Repeat steps 2-4 until all data are collected. The data processing for Chinese liquor samples included data compression, feature extraction, and data classification. To extract fuzzy features from the data, we used a new feature extraction, i.e. FDPCA, to more accurately classify Chinese liquors. The process of classification using FDPCA was as follows: Step 1. Compress the data using PCA.
Step 2. Calculate the values of fuzzy membership and the values of cluster centers using fuzzy K-nearest neighbor algorithm.
Step 3. Extract the fuzzy features from the data using FDPCA.
Step 4. Classify the data using the LOO strategy and KNN classifier. For the LOO strategy, N − 1 samples were selected as training samples from the N samples, and one sample was left to serve as a test sample. Therefore, there were a total of N test samples, and the classification accuracy was calculated N times. In addition, the k-fold cross-validation was used to verify the effect of feature extraction. A total of 30 tests were performed, and the average of the accuracies was calculated.

Discriminant Principal Component Analysis and Fuzzy Discriminant Principal Component Analysis
Based on discriminant principal component analysis (DPCA) [38] and fuzzy set theory, we developed FDPCA to extract fuzzy features. The DPCA algorithm can be described as follows [38]: Step 1. Calculate the maximum eigenvalue and the eigenvector according to Equation (1): where S B is the between-class scatter matrix; S W is the within-class scatter matrix; and Ψ and λ are the eigenvector and the corresponding eigenvalue, respectively. According to the above calculation, we have the maximum eigenvalue λ 1 and the corresponding eigenvector Ψ 1 , which is the first vector of the optimal discriminant vector set.
Before the FDPCA is used for feature extraction, the values of fuzzy membership and the values of cluster centers need to be calculated. The values of fuzzy membership can be obtained through fuzzy K-nearest neighbor algorithms [41]. The values of cluster centers can be achieved using Equation (4): where u m f ik the fuzzy membership value of x k in the class i; v i is the cluster center of the ith class; n is the number of training samples; x i is the sample mean of the ith class; m f is the weight index, and m f must be greater than one. The feature extraction process of FDPCA is as follows: Step 1. Calculate the fuzzy between-class scatter matrix S f B and the fuzzy total-class scatter matrix S f T with the following equations: where c is the number of class; n is the number of training samples; x the mean of training samples; T represents the transpose of the matrix.
Step 2. Calculate the maximum eigenvalue and the corresponding eigenvector using Equation (8): where S −1 f T is the inverse of the fuzzy total class scatter matrix; Ψ and λ are the eigenvector and the corresponding eigenvalue, respectively. After obtaining the maximum eigenvalue λ 1 and the corresponding eigenvector Ψ 1 , suppose that Ψ 1 is the first vector of the fuzzy optimal discriminant vectors.
Step 3. Compute the fuzzy optimal discriminant vectors using Equation (9): where β is the corresponding eigenvalue; I is the identity matrix; Ψ 1 , Ψ 2 , . . . , Ψ r is a set of fuzzy optimal discriminant vectors.

Results and Discussion
We used FDPCA, DPCA, and PCA to extract features from the e-nose signals of Chinese liquors. Then, K-nearest neighbor (KNN) classifier was employed to classify the data. The LOO cross-validation and k-fold cross-validation were used to verify the performance of the feature extraction methods. Although we used the same classification method, the three feature extraction methods dealt with the e-nose signals separately, and their classification results were different.

Data Preprocessing
When the e-nose is used to acquire data, it is inevitably subject to noise interference, and the collected data cannot be directly used for data analysis. Moreover, when the e-nose is used to collect data for a long time, the collected data may have a certain deviation due to the influence of temperature and humidity (water vapor) on the sensor's response. Therefore, in order to reduce the impact of these factors on data collection, it is necessary to preprocess the data. First, when the MP4623 was operated for data acquisition, the MP4623_CAL, the data correction function of MP4623, was used for data correction. This could reduce the error during data collection to ensure the authenticity of the data and weaken the influence of temperature and humidity. Second, we took the average value of five different moments in the saturation region of the response curve to remove some noise interference caused by current. Finally, the data were normalized to simplify the complexity of the calculation for the classification of Chinese liquors.

PCA Analysis
The PCA is a common statistical algorithm for dimensionality reduction. In this study, the PCA was processed to reduce the complexity of the data and find the most important features. When the PCA was used to extract features, we selected five main features based on the differences in the data. In order to visualize the data information, we drew a three-dimensional scatter plot of the data processed by PCA ( Figure 5). The first principal component (PC1) contribution rate was 62.62%, the second principal component (PC2) contribution rate was 32.75%, the third principal component (PC3) contribution rate was 3.09%, and the cumulative contribution rate of the first three principal components was 98.38%. The three-dimensional scatter plot showed that the distances between FJ, HZL, and GJ were relatively far and they could easily be classified. However, the remaining three clusters of Chinese liquors were relatively close and evenly overlapped; as a result, it was difficult to classify them. Finally, we utilized the KNN classifier to classify the data and then used the LOO strategy and k-fold cross-validation to see the performance of the classification. The average cross-validation accuracy of PCA was 89.98%. According to the classification results, the most important features of the e-nose data could be calculated by PCA based on the differences of data (the variance of the data was the largest). However, PCA was not very good at computing the discriminant features for classification, and its classification accuracy was not high.
HZL, and GJ were relatively far and they could easily be classified. However, the remaining three clusters of Chinese liquors were relatively close and evenly overlapped; as a result, it was difficult to classify them. Finally, we utilized the KNN classifier to classify the data and then used the LOO strategy and k-fold cross-validation to see the performance of the classification. The average crossvalidation accuracy of PCA was 89.98%. According to the classification results, the most important features of the e-nose data could be calculated by PCA based on the differences of data (the variance of the data was the largest). However, PCA was not very good at computing the discriminant features for classification, and its classification accuracy was not high.

Classification with DPCA
The optimal transformation for discriminant and principal component analysis can be achieved by combining discriminant analysis and principal component analysis. This optimal transformation can reduce the dimensions of data when a set of optimal discriminant vectors is found. Here, we used DPCA for feature extraction to process the e-nose data to obtain an optimal discriminant vector set, which consisted of five optimal discriminant vectors. After the data of Chinese liquors were processed by DPCA, it was easier to classify the data clusters. Figure 6 shows the three-dimensional scatter plot of the data with DPCA. It was found that not only were MT and FJ obviously separated but that HZL and KZJ also had obvious boundaries. The same type of data cluster became more compact, and the distribution of the two different types of data clusters in the three-dimensional space became farther. However, there were also some liquors, such as GJ, HZL, and YJ, whose origins and raw materials were similar. Therefore, these data clusters were very close in three-dimensional space distribution. These data distributions had no obvious boundary lines and even had some overlaps. This would cause great difficulties in classification of GJ, HZL, and YJ. In order to solve this

Classification with DPCA
The optimal transformation for discriminant and principal component analysis can be achieved by combining discriminant analysis and principal component analysis. This optimal transformation can reduce the dimensions of data when a set of optimal discriminant vectors is found. Here, we used DPCA for feature extraction to process the e-nose data to obtain an optimal discriminant vector set, which consisted of five optimal discriminant vectors. After the data of Chinese liquors were processed by DPCA, it was easier to classify the data clusters. Figure 6 shows the three-dimensional scatter plot of the data with DPCA. It was found that not only were MT and FJ obviously separated but that HZL and KZJ also had obvious boundaries. The same type of data cluster became more compact, and the distribution of the two different types of data clusters in the three-dimensional space became farther. However, there were also some liquors, such as GJ, HZL, and YJ, whose origins and raw materials were similar. Therefore, these data clusters were very close in three-dimensional space distribution. These data distributions had no obvious boundary lines and even had some overlaps. This would cause great difficulties in classification of GJ, HZL, and YJ. In order to solve this problem, we introduced the fuzzy theory into DPCA, therefore creating the FDPCA. Similarly, we used the KNN classifier to classify the data, and the LOO and the k-fold cross-validation were then used for cross-validation. The average cross-validation accuracy of DPCA was 95.94%, showing it was an appropriate feature extraction method for classification. However, DPCA is a "hard" feature extraction method, not a "soft" one. problem, we introduced the fuzzy theory into DPCA, therefore creating the FDPCA. Similarly, we used the KNN classifier to classify the data, and the LOO and the k-fold cross-validation were then used for cross-validation. The average cross-validation accuracy of DPCA was 95.94%, showing it was an appropriate feature extraction method for classification. However, DPCA is a "hard" feature extraction method, not a "soft" one.

Classification with PCA and FDPCA
The FDPCA was developed by introducing fuzzy theory into the optimal transformation that combined discriminant analysis and principal component analysis. When the FDPCA is used for feature extraction, the fuzzy membership ( ) and the value of class center ( ) should be calculated beforehand. We found that FDPCA worked best when the weight index was 2 by comparison. The fuzzy membership values are presented in Figure 7, where the abscissa represents the number of samples (each kind of Chinese liquors had 50 samples), and the ordinate represents the fuzzy membership values. For the ℎ sample , if the fuzzy membership value of , i.e. , is more than 0.5, belongs to the th class. On the other hand, if is smaller than 0.5, does not belong to the ℎ class. From the six subgraphs in Figure 7, it can be seen that almost all the fuzzy membership values of one kind of liquors were greater than 0.5, while almost all fuzzy membership values of the other kinds of liquors were less than 0.5. This shows that FDPCA based on fuzzy theory was very beneficial for classification. Especially in the areas where the cluster distribution overlapped, FDPCA could assign a weight to those overlapped data points, reduce the complexity of the data structure, and improve the accuracy of classification.
When FDPCA was used for feature extraction, it retained the five important features. Figure 8 shows the distribution of data clusters with FDPCA on a three-dimensional view. As can be seen from Figure 8, the same type of data clusters were more closely aggregated, and the distances between the two different data clusters became farther. The distribution of these data clusters can be largely explained by the differences in the origin and raw materials of different types of Chinese liquors. From the distribution of the data clusters, FDPCA was better than DPCA in feature extraction. Although there were a few data points between HZL, KZJ, and YJ that overlapped, each data cluster was roughly separated. After these data were classified by the KNN classifier with the LOO strategy and the k-fold cross-validation as the cross-validation method, the average crossvalidation accuracy of FDPCA was 98.78%.

Classification with PCA and FDPCA
The FDPCA was developed by introducing fuzzy theory into the optimal transformation that combined discriminant analysis and principal component analysis. When the FDPCA is used for feature extraction, the fuzzy membership (u m f ik ) and the value of class center (v i ) should be calculated beforehand. We found that FDPCA worked best when the weight index m f was 2 by comparison. The fuzzy membership values are presented in Figure 7, where the abscissa represents the number of samples (each kind of Chinese liquors had 50 samples), and the ordinate represents the fuzzy membership values. For the kth sample x k , if the fuzzy membership value of x k , i.e., u ik , is more than 0.5, x k belongs to the ith class. On the other hand, if u ik is smaller than 0.5, x k does not belong to the ith class. From the six subgraphs in Figure 7, it can be seen that almost all the fuzzy membership values of one kind of liquors were greater than 0.5, while almost all fuzzy membership values of the other kinds of liquors were less than 0.5. This shows that FDPCA based on fuzzy theory was very beneficial for classification. Especially in the areas where the cluster distribution overlapped, FDPCA could assign a weight to those overlapped data points, reduce the complexity of the data structure, and improve the accuracy of classification.  When FDPCA was used for feature extraction, it retained the five important features. Figure 8 shows the distribution of data clusters with FDPCA on a three-dimensional view. As can be seen from Figure 8, the same type of data clusters were more closely aggregated, and the distances between the two different data clusters became farther. The distribution of these data clusters can be largely explained by the differences in the origin and raw materials of different types of Chinese liquors. From the distribution of the data clusters, FDPCA was better than DPCA in feature extraction. Although there were a few data points between HZL, KZJ, and YJ that overlapped, each data cluster was roughly separated. After these data were classified by the KNN classifier with the LOO strategy and the k-fold cross-validation as the cross-validation method, the average cross-validation accuracy of FDPCA was 98.78%.  We used the KNN classifier to classify the data processed by PCA, DPCA, and FDPCA. Then, the LOO cross-validation and k-fold cross-validation (k = 5, 10, 20, 25) were used to verify the accuracy of the classification. The classification results of the three feature extraction methods are shown in Table 3. We found that the average classification accuracy of FDPCA was higher than PCA and DPCA for feature extraction when using the same KNN classifier. According to the accuracy of the validation test, the FDPCA performed well in feature extraction. We used the KNN classifier to classify the data processed by PCA, DPCA, and FDPCA. Then, the LOO cross-validation and k-fold cross-validation (k = 5, 10, 20, 25) were used to verify the accuracy of the classification. The classification results of the three feature extraction methods are shown in Table 3. We found that the average classification accuracy of FDPCA was higher than PCA and DPCA for feature extraction when using the same KNN classifier. According to the accuracy of the validation test, the FDPCA performed well in feature extraction.
As can be seen from Figures 5, 6 and 8, the alcohol content had a significant impact on the classification results. The alcohol content of MT, GJ, and FJ is the same at 53%, and the alcohol content of YJ liquors is 52%, which is almost the same as the alcohol content of the other three kinds of liquors. For liquors with similar alcohol contents, the data clusters were closer or even coincident in the three-dimensional view, making them difficult to be distinguished. However, when the data were processed using the FDPCA algorithm, even MT, GJ, FJ, and YJ were relatively distinguished in three-dimensional view, and classification was relatively easy. This can be seen from the classification accuracy of the verification set in Table 3. After feature extraction with FDPCA, the accuracy of classification was improved by 3.24% on average. This also proved that the advantage of FDPCA was that it could achieve "soft" classification for areas with similar or overlapped data clusters, especially when dealing with a multiclass classification problem. When FDPCA was used for feature extraction, the discriminant information could be effectively obtained, and the classification accuracy was further improved. At the same time, the influence of alcohol content on the classification results was weakened to some extent, thereby improving the ability to identify different types of liquors in the electronic-nose system.

Conclusions
An e-nose system consisting of 10 kinds of gas sensors was designed to distinguish six different types of Chinese liquors. In addition, in order to improve the performance of feature extraction in distinguishing Chinese liquors, we developed a novel FDPCA algorithm for feature extraction. Through the comparison of classification accuracies, we found that the FDPCA algorithm was better for feature extraction and very useful for improving the performance of the e-nose system in the identification of Chinese liquors. The average classification accuracies of PCA, DPCA, and FDPCA were 89.98%, 95.54%, and 98.78%, respectively, when they were used to extract features from the e-nose data for classification of Chinese liquors. The classification accuracy of FDPCA was obviously higher than PCA and DPCA. Furthermore, we found that FDPCA had advantages in feature extraction when the data structure was complex (where some data clusters overlapped). The classification results show that the e-nose system combined with FDPCA and KNN classifier is a very effective method of identifying different types of Chinese liquors.