Explanations on Smart Stores� Arturo Acuaviva Huertos, Inmaculada Pérez Garbı́n, Belén Dı́az-Agudo, and Antonio A. Sánchez-Ruiz Department of Software Engineering and Artificial Intelligence Instituto de Tecnologı́as del Conocimiento Universidad Complutense de Madrid, Spain {arturoacuaviva, inmaperezgarbin}@gmail.com {belend, antsanch}@ucm.es Abstract. Nowadays, it is common to encounter artificial intelligence in most automated decision-making systems. A great example is the re- cent introduction by many companies of smart stores that completely automated the checkout process, e.g. Amazon Go or Tao Cafe. How- ever, although there is a clear call for a better understanding on how automated decisions are taken, there is no research available regarding explanations on smart stores to the best of our knowledge. In this pa- per, we address this concern by introducing a simple and effective way to generate human-understandable explanations for different smart store users. To achieve this, we propose a CBR system which reuses templates of explanations that are retrieved and adapted to match new situations. Keywords: Explainable AI, Smart Stores, Case-based Reasoning 1 Introduction In recent years, Artificial Intelligence for decision-making has been on the rise, and many concerns have been raised. In fact, the European Union released, in 2018, the General Data Protection Regulation (GDPR) [1], in which they stated the right of the users to obtain human intervention and contest the decisions made by automated systems. Although the regulation is itself quite controversial [2–4], there is a clear call for more clarity, transparency and disclosure for the algorithms that will be impacting our lives. Smart stores are a great example of how Artificial Intelligence for automated decisions is shaping the world. A smart store is a retail store that combines smart devices – such as smart shelves or smart carts – to reduce costs, enhance productivity and improve the efficiency in both organizational processes and selling activities [5]. With an increasing number of companies proposing and implementing their own smart store concepts, such as Amazon Go [6] or Tao � The research leading to these results/this publication has received funding from the iSee project from the CHIST-ERA programme under grant agreement CHIST-ERA- 19-XAI-008. Copyright © 2021 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). Cafe [7], a new field is clearly emerging. Despite this fact, even so there are quite a few papers introducing smart retailing concepts or ideas [8–13]; most of them introduce unmanned, unstaffed or cashier-less stores without diving deep into the need for explanation. Besides, this necessity is even greater for unmanned stores, which completely automate the in-store shopping experience. This need for explanation can be met at two different levels, derived from the fact that most of these establishments work by leveraging sensor fusion and computer vision: explain the system as a whole, or clarify each concrete algo- rithm or machine learning model implemented. Note that most of the techniques applied for product and customer recognition, and tracking, involve dealing with deep neural network models, and, consequently, any prediction can involve mil- lions of mathematical operations. For this reason, despite the complexity of deep learning models is a reason for their increased performance and accuracy, their nested non-linear structure makes them highly non-transparent (i.e. it is not clear what information in the input data makes them actually arrive at their decisions). Therefore, these models are typically regarded as black boxes [14]. Fortunately, black boxes models are being extensively studied and many meth- ods have already been proposed to try to explain them [15]. In consideration of the foregoing, we want to focus not on explaining the different deep learn- ing models that made up an unmanned smart store, but on clarifying the inner working of the retail establishment itself. Indeed, this is a concern that has not been addressed yet in the scientific literature to the best of our knowledge. Explanations on smart stores, as a whole, can be of great interest to cus- tomers, store managers, and any staff member, since they fulfill the need of understanding how automated decisions are taken. In fact, customers can bene- fit from explainable smart stores by being able to request a clarification on why a certain product was charged to their account. Most customers will request this clarification whenever they are certain that a product was wrongly added to their virtual shopping cart. Reviewing the explanation provided, they can then decide whether to agree on the decision made by the automated store or challenge it by justifying why the predictions of the system failed (e.g they can argue that although they took the product, they later put it back). This process does not only provide a way for customers to solve their issues, but also highlights the failures of the system so they can be addressed. On the other hand, store man- agers can obtain insights on past events for the store and receive more technical details on why the system behaved the way it did. This information is critical to ensure that any error is detected as early as possible (e.g. the system could notify that, because of a crowded environment, occlusion prevent the smart store from operating reliably). All in all, explanations do not only shed light on the decisions, but also build trust in the automated smart systems. In the following sections, we detail the general architecture for unmanned smart stores to be able to operate, as well as introduce the different types of users and the explanations each one demands. In addition to this, we introduce how Case-Based Reasoning (CBR) can be used to provide explanations in a smart store, and we show how to deal with some concrete case scenarios. Finally, we discuss the questions arising from the results of this work and expose our main conclusions. 2 Unmanned smart stores architecture Although there is no public and accessible information, nor research documents, showing the inner working of unmanned smart stores, companies have been claiming to use different technologies in their recent proof of concepts [7, 11, 16, 17]. For this reason, we outline the most common techniques and technolo- gies claimed to be implemented in these retail establishments. This information is particularly useful to describe the general context in which we assume to be operating, and, therefore, to know what data will be available to generate the explanations. The first simple device that is commonly found in smart stores is a smart shelf. Smart shelves can be conceived as the natural technological evolution of conventional racks. A simple way to create this device is to use load/weight sensors to measure the quantity of the items available. However, there have been some alternatives proposed that extend this model. Some of them are based on computer vision approaches to quantify if the product is in the right position (i.e. on the right shelf) or placed with right visibility to the shoppers [18]. Mainly, we will assume that there are smart shelves available which tell us which items are available and where are they placed at any time in the store. On the other hand, a frequent technique used in smart stores is deep learning for computer vision, since it is useful to deal with tasks such as assessing who takes an item, tracking customers inside the store, or recognizing in-store prod- ucts. In particular, we want to highlight the following problems that are usually addressed: – Object Detection. The process of detecting instances of objects of a cer- tain class within an image is named object detection. Detecting instances can be of great interest in areas such as video surveillance, customer track- ing inside a store, or product recognition. This information combined with human tracking is critical, since it can be used to identify customers who are taking or dropping a certain object. Additionally, it can also be useful to recognize items placed in the shelves. – Multitarget Tracking. Human tracking is the task of estimating the lo- cation of a moving person through a set of consecutive frames of images. Moreover, the problem of estimating a moving object is not limited to hu- man tracking, but it is generalized to multiple object tracking or multiple target tracking [19]. Tracking algorithms are suitable for smart stores since they offer a way of monitoring customers moving around in the establish- ment. This information can later be used to estimate who took or dropped an item to a shelf, or notify when a user enters or leaves the store. Apart from helping to figure out who performed a certain action that changed the state of the store, people tracking provides meaningful data for marketing analysis that can drastically improve targeted advertising. – Pose Estimation. Given an image, human pose estimation is the process of determining the positions of human body parts such as the head, hands, wrists, knees or elbows [20]. This technique plays a major role for almost every smart store model, since this estimation helps the computer to assess the best candidate who performed an interaction with the store, such as grabbing or dropping a product. 3 Explanations for different types of users There are mainly two different types of users in smart stores: customers and staff. We will now briefly describe each profile and introduce our explanation proposals for each one. 3.1 Customers Trusting the decisions made by the automated store is a major concern for customers. Whereas brick-and-mortar establishments offer an explicit checkout process that ensures that the only products considered are the ones taken by the customers, unmanned smart stores completely hide the payment process. Instead, the decision on what products will be charged is automated, relying on the data gathered from the sensor fusion network to make it. In this way, they could be mostly interested in knowing why a certain product was added to their account, so that they can review the decision. According to the context provided above, we consider that most customers could greatly benefit from visual explanations. A video of the exact moment when the customer took an item would justify the decision taken. Additionally, if the customer reviews the video and finds out that another person took the product, or they later put back the product but the video did not show it, they can ask for human intervention to contest the decision. In order to ensure that the smart store respect the right to privacy of the users, the system could blur all other customers in the video scene using infor- mation from the position tracked for each customer. Cropping and zooming the video to focus on the area of the shelf that contained the object could also help to provide a more targeted explanation, as well as trimming the video to include just the exact moment when the item was taken. 3.2 Staff members Store staff is mostly concerned about the proper functionality of the system. In this regard, they would be interested in detecting any potential issue that might lead to a poor shopping experience for customers. On the one hand, in brick-and-mortar retailers, the staff can actively supervise how customers are interacting with the store, while they keep records of the purchases made. On the other hard, in an unmanned smart store, the store staff can be reduced to just store managers or store supervisors who want to ensure that the store is properly and autonomously operating. Hence, whenever a complex situation arises, they want to be able understand why the system behaved the way it did, so they can evaluate the situation and decide whether any fix or modification is required. In consideration of the previous statements, the unmanned smart store must be able to provide explanations which clarify why the system made a certain decision, providing technical details and insights. We propose an approach based on the 4R of the Case-based Reasoning (CBR) cycle [21] to be able to generate explanations to different in-store events. The main idea is that the smart store will provide explanations for a certain in-store occurrence by retrieving the most similar case. Then, it will reuse the information and knowledge acquired in the past to try to explain the new case. After that, it will revise the solution proposed and retain new parts that could be of interest when classifying new future events. In the following sections, we will go through this CBR explanation approach in depth. 4 CBR for explanations As we have previously exposed, CBR can be advantageous when trying to gen- erate explanations for staff members in the store. In this section we introduce how we represent each case and their solutions provided to the customers in the form of filled up templates. Then, we move to detail each step of the 4R cycle. 4.1 Case representation Since most of the information available from the sensor fusion network can be en- coded numerically the most appropriate approach is to use a feature-vector repre- sentation. This technique represents a case as a vector of attribute-value pairs. In this setup, the cases are sometimes known as propositional cases and they sup- port k -nearest neighbor matching and instance-based learning [22]. Moreover, this representation also supports distance-based similarity metrics and common techniques related to Information Retrieval. In a particular unmanned smart store scenario, each case represents an ac- tion that changed the state of the store (i.e. a customer took or drop an item to the shelves). As we want to explain a certain past prediction for the event, we assume that each customer received a likelihood score of being the one perform- ing the action. Furthermore, we also presume that the human poses estimated for each customer received a certain prediction score. More detail on what data is gathered and available in the smart retail setup can be found in the literature [10–12]. Considering the statements above, we can use the following attributes to build the feature-vector case: – The number of customers close to the shelf, n. – The likelihood of customers who scored the highest value, s1 . – The likelihood of customers who scored the second highest value, s2 . – The pose estimated score prediction for the customer who scored the highest likelihood1 , p1 . – The pose estimated score prediction for the customer who scored the second highest likelihood1 , p2 . – The number of customers who scored the highest likelihood of performing the action, m1 . – The number of customers who scored the second highest likelihood of per- forming the action, m2 . – The distance from the highest scoring customers to the shelf, d1 . – The distance from the second highest scoring customers to the shelf, d2 . – The shelf impacted by the action, s. – The object taken or dropped, o. – The description of the action, whether it was an object taken or dropped, a. Using these attributes, we can build a case i general vector as it follows: Ci = (n, s1 , s2 , p1 , p2 , m1 , m2 , d1 , d2 , s, o, a) (1) Since we will be working with vectors of different lengths (i.e. Ci which might lack any of the attributes introduced before), we denote Ai to the set of all attributes of the i -th case. Moreover, we name each attribute α ∈ Ai of a Ci vector case as Ciα . Finally, we will not use the attributes s, o, and a to make predictions; therefore, we denote this subset of attributes as A� . To simplify the notation in this work, we consider that any set of attributes Ai is used after subtracting the elements of A� , so that none of the elements of A� are included in Ai . 4.2 Case solution The explanations of each case are known as the case solutions, and they are based on templates dynamically adapted to each case. The adaptation process approach is similar to the one taken by Diaz-Agudo et al. [23]. In this sense, each retrieved case has an associated template that includes text information describing the scene as well as the attributes of the case. In general, the template is divided into three sections: the header (a com- pilation of parameters that define the case), the body (a text explanation) and the footer (the similarity score). A generic template is detailed at Figure 1. Note that, although the generic template portrayed contains all of the pa- rameters, a concrete template to explain a certain case might be limited to a subset of attributes. 1 In case there is more than one customer with the same probability, we consider the mean value of their pose estimated score predictions. ATTRIBUTES Description Value Number of customers close to shelf n Likelihood of highest value customers s1 Likelihood of second highest value customers s2 Pose estimated score prediction (highest value customers) p1 Pose estimated score prediction (second highest value cus- p2 tomers) Number of customers scoring the highest likelihood m1 Number of customers scoring the second highest likelihood m2 Distance from highest scoring customer to shelf d1 Distance from second highest scoring customer to shelf d2 Shelf impacted by the action s Object (taken or dropped) o Action (take or drop) a EXPLANATION Text information containing the clarification Similarity Score α Fig. 1: Generic template associated to a case 4.3 Retrieval We propose a retrieval constraint-based methodology for filtering previous cases and avoid over-generalization [24], and an estimation of similarity based on the nearest-neighbour (NN) matching function [25]. Our approach extends the one introduced by Montazemi and Gupta [26]. Although we use the same constraints acquisition process to acquire the validity constraints from the domain expert, we modify the matching function not to compute similarities along any descriptors but to calculate the similarity of a subset of numerical values. The validity constraints will later be useful to filter out cases that are not applicable for the incoming query (e.g. when the human pose prediction scores are really low, cases that describe the event using information such as the action likelihood for a certain customer might not apply). Regarding the similarity, we introduce now the likelihood function that we propose to be used for the retrieval of similar cases: � wjk · sim(Cij , Ckj ) j∈Ai ∩Aj L(Ci , Ck ) = � (2) wjk j∈Ai ∩Aj where Ci is the new case and Ck a past case we are comparing against, and Ai and Aj are their respective set of attributes. The values wjk are called weights of the attribute j for the k past case, and they are a measure of the importance of the attribute. Additionally, the function sim(Cij , Ckj ) compares the attribute j instance for the new case Ci and the past case Ck . In order to compute the function sim(Cij , Ckj ), we propose a strategy which considers the maximum value Mj that any attribute j can take, and then we can express the function as it follows: |Cij − Ckj | sim(Cij , Ckj ) = 1 − (3) Mj As for the weights wjk , we considered them as contextual-importance values which help discriminating among previous cases. To quantify these values, we compute the variation of the standard deviation σj of the attribute j for the d previous candidates analyzed: � � d d �1 � j 1� j σj = � (Ck − µ̄j )2 where µ̄j = Ck (4) d d k=1 k=1 Hence, the importance of the j attribute to discriminate cases, with respect to a new case Ci , can be seem as the relative importance of the attribute: σ wjk = �j (5) σp p∈Ai ∩Ak After assessing the new case Ci against past cases, we must decide which case fits better the new instance. In order to achieve this, we take the best similar case according to the output reported by the likelihood function L. However, there are two impasses that may occur: the situation is unknown because there is no memory available to match the new case, or there are several cases that apply with the same degree of confidence. In both situations, we assume an alarm is triggered so that an expert intervenes to select the best fit among all the options, or to provide a new different explanation. 4.4 Reuse In the process of reusing the case we have obtained, we retrieve the template linked to the matched case (Section 4.2) and simply replace its values with the values in the query. Since the retrieved case and the query could have different sets of attributes2 , we distinguish between two situations: the retrieved case and the query have the same set of attributes, or the query has more attributes than the retrieved case. To solve both, the attributes of the retrieved case are filled with the corresponding query values. 2 Whereas the query contains every attribute, the retrieved case have a selection of them (i.e. the cardinal of the attributes of the retrieved case is less or equal than the cardinal of the attributes of the query). ATTRIBUTES Description Value Number of customers close to shelf n Likelihood of highest value customers s1 Number of customers scoring the highest likelihood m1 Shelf impacted by the action s Object (taken or dropped) o Action (take or drop) a EXPLANATION Action a performed on shelf s, containing o. When the event occurred, there were n customers around the shelf. There were m1 customers scoring the same highest likelihood (s1 ). For this reason, the system was prevented from properly assessing who performed the action by occlusion in a crowded environment. Similarity Score α Fig. 2: Template for occlusion issues 4.5 Revision Having mapped a past case to the target query, the contribution of an expert in the domain is required to revise it, and no automated solution to this stage of the CBR cycle is contemplated. In order to facilitate this labor, the explanations can be accompanied by a video presenting the scene that is being studied. This video is tagged with information about the pose estimation and tracking of the customers, as well as product recognition labelled. Then, the domain expert pro- ceeds to analyze and evaluate the solution proposed by the system. In this stage, we also contemplate the possibility of receiving feedback to modify the solution proposed, and further adapt an existing solution or derived a new subcase. 4.6 Retention After the revision, if the case was a new instance of a previously unknown sit- uation or the template of the case was modified, the new case within the filled template is added to the knowledge base as a past case. Our system learns from observations, so we assume that a representative set of cases is provided before- hand. Moreover, an expert can provide a new case learnt from direct observation at any time. In this regard, the revision stage is particularly important to notice any new case instance that must be addressed, whenever it has not been properly identified. 5 Example scenarios We now introduce some different case scenarios that may occur, and its classifi- cation using the templates shown before. ATTRIBUTES Description Value ATTRIBUTES Number of customers close to shelf n Likelihood of highest value customers s1 Description Value Likelihood of the second highest value s2 Number of customers close customers 1 to shelf Number of customers scoring the highest 1 likelihood Shelf impacted by the action s Shelf impacted by the action s Object (taken or dropped) o Object (taken or dropped) o Action (take or drop) a Action (take or drop) a EXPLANATION EXPLANATION Action a performed on shelf s, con- Action a performed on shelf s, containing o. taining o. When the event occurred, there were n customer When the event occurred, there was around the shelf. only one customer around the shelf. There was just one customer scored with the high- For this reason, the system directly est likelihood value (s1 ). As it is much greater identified that customer as the sour- than the second highest score s2 the system iden- ce of the action. tified that customer as the source of the action. Similarity Score α Similarity Score α (a) Template for single customer (b) Template for multiple customers in store in store Fig. 3: Templates for actions of customers 5.1 Occlusion in crowded shelf area A common situation that occurs in any retail establishment is the presence of large crowds in a relatively small space. That situation could lead the service to lose reliability in the data provided by the sensor fusion network. Moreover, when many customers are grouped in a certain small area, it is not possible to avoid having issues such as theft offenses. This concern does not only impact smart stores but brick-and-mortar retail establishments too. If a staff member is interested in understanding why the system took a certain decision in this situation, without knowing the context, then the CBR system could provide a clarification on this. Figure 2 introduces the solution template for a generic case that can be related to occlusion issues in crowded environments, which led to poor smart store estimations. 5.2 Customer performing an action We introduced here two simple events that are triggered by customers when tak- ing or dropping an object. Firstly, we consider the case when a single customer is in the store. Hence, the system could effortlessly detect the person performing the action. Figure 3a shows the solution template for this elementary case. Sec- ondly, we can consider the case when multiple customers are in the store, but only one customer scored a high value in comparison with the others. In this case, it is quite patent who performed the action (see Figure 3b for details). 6 Conclusions Our aim in this paper has been to introduce a feasible strategy to take the edge off the lack of explainability models for unmanned smart stores. Conse- quently, we tried to expose how visual explanations using videos, along with textual descriptions, can be helpful when providing explanations for smart retail establishment users. Particularly, we proposed a CBR-based system to generate explanations for staff managers. These human-understandable explanations seek to streamline the inner working of complex systems, which leverages data from different sensors and combines several deep learning techniques. In this sense, our proposal abstracts features that can be useful to define the overall behavior of the store, without having to worry about each particular component that is used to build it. Although an explainability system has been fully defined in this work, further research is required in the field of explainability for smart stores. For this reason, we propose several ways to proceed with future work in this area. In particular, the model proposed here can be implemented to match more complex scenarios, in which more data from the sensor fusion network is avail- able. In addition to this, cases could be modified, so that they can be classified according to the risk of misbehaviour of the model when assessing the actions of the customers. References 1. European General Data Protection Regulation European Commission. https : //ec.europa.eu/info/law/law-topic/data-protection_en (2021). 2. Edwards, L. & Veale, M. Slave to the Algorithm? Why a Right to Explanationn is Probably Not the Remedy You are Looking for. SSRN Electronic Journal 16. doi: 10.2139/ssrn.2972855 (2017). 3. Malgieri, G. Automated decision-making in the EU Member States: The right to explanation and other “suitable safeguards” in the national legislations. Computer Law & Security Review 35, 105–327. issn: 0267-3649. doi: https://doi.org/10.10 16/j.clsr.2019.05.002 (2019). 4. Wachter, S., Mittelstadt, B. & Floridi, L. Why a Right to Explanation of Auto- mated Decision-Making Does Not Exist in the General Data Protection Regula- tion. International Data Privacy Law 7, 76–99. issn: 2044-3994. doi: 10.1093/id pl/ipx005 (2017). 5. Pantano, E. & Timmermans, H. What is Smart for Retailing? Procedia Environ- mental Sciences 22, 101–107. issn: 1878-0296. doi: https://doi.org/10.1016/j.pr oenv.2014.11.010 (2014). 6. Amazon. Amazon Go https : / / www . amazon . com/ - /es / b ? ie = UTF8 \ &node = 16008589011 (2021). 7. Tan, Y. China’s version of Amazon’s cashier-less store is here 2017. https://m ashable.com/2017/07/12/taobao-china-store/?europe=true\#57OXUGTQVaqg (2021). 8. Guo, B. et al. DeepStore: Understanding Customer Behaviors in Unmanned Stores. IT Professional 22, 55–63. doi: 10.1109/MITP.2019.2928272 (2020). 9. Pantano, E. & Dennis, C. Smart Retailing: Technologies and Strategies isbn: 978- 3-030-12607-0. doi: 10.1007/978-3-030-12608-7 (2019). 10. Xu, J. et al. Design of Smart Unstaffed Retail Shop Based on IoT and Artificial Intelligence. IEEE Access 8, 147728–147737. doi: 10.1109/ACCESS.2020.301404 7 (2020). 11. Liu, X., Jiang, Y., Kim, K.-H. & Govindan, R. Grab: Fast and Accurate Sensor Processing for Cashier-Free Shopping 2020. arXiv: 2001.01033 [cs.CV]. 12. Ruiz, C., Falcao, J., Pan, S., Noh, H. Y. & Zhang, P. Autonomous Inventory Monitoring through Multi-Modal Sensing (AIM3S) for Cashier-Less Stores in Proceedings of the 6th ACM International Conference on Systems for Energy- Efficient Buildings, Cities, and Transportation (Association for Computing Ma- chinery, New York, NY, USA, 2019), 395–396. isbn: 9781450370059. doi: 10.114 5/3360322.3361018. (2021). 13. Wang, Y.-C. & Yang, C.-C. 3S-cart: A Lightweight, Interactive Sensor-Based Cart for Smart Shopping in Supermarkets. IEEE Sensors Journal 16, 6774–6781. doi: 10.1109/JSEN.2016.2586101 (2016). 14. Samek, W., Wiegand, T. & Müller, K.-R. Explainable Artificial Intelligence: Un- derstanding, Visualizing and Interpreting Deep Learning Models. ITU Journal: ICT Discoveries - Special Issue 1 - The Impact of Artificial Intelligence (AI) on Communication Networks and Services 1, 1–10 (2017). 15. Guidotti, R. et al. A Survey of Methods for Explaining Black Box Models. ACM Comput. Surv. 51. issn: 0360-0300. doi: 10.1145/3236009 (Aug. 2018). 16. Amazon. Just Walk-Out Technology 2020. {https://justwalkout.com/} (2021). 17. NTT Data. Announcing the introduction of Facial Authentication and Dynamic Pricing at Catch&Go™ digital grocery stores https://www.nttdata.com/global/ en/media/press-release/2020/february/announcing-the-introduction-of- facial-authentication-and-dynamic-pricing (2021). 18. Satapathy, R., Prahlad, S. & Kaulgud, V. Smart Shelfie – Internet of Shelves: For Higher On-Shelf Availability in 2015 IEEE Region 10 Symposium (2015), 70–73. doi: 10.1109/TENSYMP.2015.9. 19. Luo, W. et al. Multiple object tracking: A literature review. Artificial Intelligence 293, 103448. issn: 0004-3702. doi: https://doi.org/10.1016/j.artint.2020.103448. (2021) (2021). 20. Ouyang, W., Chu, X. & Wang, X. Multi-source Deep Learning for Human Pose Estimation in 2014 IEEE Conference on Computer Vision and Pattern Recogni- tion (2014), 2337–2344. doi: 10.1109/CVPR.2014.299. 21. Aamodt, A. & Plaza, E. Case-Based Reasoning: Foundational Issues, Methodolog- ical Variations, and System Approaches. AI Commun. 7, 39–59. issn: 0921-7126 (Mar. 1994). 22. Bergmann, R., Kolodner, J. & Plaza, E. Representation in case-based reasoning. Knowledge Eng. Review 20, 209–213. doi: 10.1017/S0269888906000555 (Sept. 2005). 23. Belén Dı́az-Agudo, J. A. R.-G. & Jimenez-Dı́az, G. Data explanation with CBR. ICCBR 2018, 64–74 (2018). 24. Eskridge, T. Principles of continuous analogical reasoning. Journal of Experimen- tal & Theoretical Artificial Intelligence 1, 179–194. doi: 10.1080/0952813890895 3700 (1989). 25. Duda, R. Pattern classification and scene analysis isbn: 0471223611 (Wiley, New York, 1973). 26. Montazemi, A. & Gupta, K. A framework for retrieval in case-based reasoning systems. Annals of Operations Research 72, 51–73. doi: 10.1023/A:10189606078 21 (1997).