Goto

Collaborating Authors

 Object-Oriented Architecture


A General Theory for the Evolution of Application Models -- Full version

arXiv.org Artificial Intelligence

As has been argued in [Rod91] and [FOP92b], there is a growing demand for information systems, not only allowing for changes of their information base, but also for modifications in their underlying structure (conceptual schema and specification of dynamic aspects). In case of snapshot databases, structure modifications will lead to costly data conversions and reprogramming. The intention of an evolving information system ([FOP92a], [OPF94]) is to be able to handle updates of all components of the so-called application model, containing the information structure, the constraints on this structure, the population conforming to this structure and the possible operations. The theory of such systems should, however, be independent of whatever modelling technique is used to describe the application model. In this paper, we discuss a general theory for the evolution of application models. However, only conceptual aspects are considered, focus is on what evolution is, rather than on how to implement evolution in a database manegement system. In [PW93], an informal introduction to this theory is provided.


Things you can't do in Rust (and what to do instead) - LogRocket Blog

#artificialintelligence

As a moderator of the Rust subreddit, I regularly happen upon posts about developers' attempts to transpose their respective language paradigms to Rust, with mixed results and varying degrees of success. In this guide, I'll describe some of the issues developers encounter when transposing other language paradigms to Rust and propose some alternative solutions to help you work around Rust's limitations. Arguably the most-asked-about missing feature coming from object-oriented languages is inheritance. Why wouldn't Rust let a struct inherit from another? You could surely argue that even in the OO world, inheritance has a bad reputation and practitioners usually favor composition if they can.


Srikanth Technologies

#artificialintelligence

Blog - New features of Python 3.8 Sat, 30 Nov 2019 In this blog, I show how to use new features of Python 3.8. Video Tutorial - Upcasting and Downcasting in Java Wed, 27 Nov 2019 In this video, I explain upcasting and downcasting in Java Video Tutorial - How to use Lamdba Expressions in Java Sun, 24 Nov 2019 In this video, I demonstrate how to use Lambda Expression, Lambda Blocks, and Method Reference in Java 8 and above. Video Tutorial - Top-N Analysis in Oracle Database Tue, 19 Nov 2019 In this video, I show how to perform Top-N Analysis in Oracle Database 11g and 18c. Video Tutorial - Why to override equals(), hashCode() and toString() methods of Object class in Java. Sat, 16 Nov 2019 In this video, I explain why to overriding equals(), hashCode() and toString() methods of Object class in Java.


10 Steps to Master Machine Learning with Python

#artificialintelligence

Machine learning is one of the most popular buzzwords right now, and it has grown in popularity over the years. However, there is a scarcity of qualified Machine Learning professionals on the market, so now is an excellent time to begin your career in this area. This article is written to provide you with a step-by-step guide to getting started with machine learning training in Python since it is regarded as the most common programming language for machine learning. Python is a high-level object-oriented programming language that was first introduced in 1991. Python is a very readable and powerful programming language.


How to implement python in Machine Learning

#artificialintelligence

Machine Learning is one of the hottest futuristic technologies in the industry right now, and companies are rushing to incorporate it into their products, particularly apps. And it's no surprise, given that this branch of computer science helps one to do something we couldn't even imagine before. So what exactly does it do? To improve the user interface, Airbnb, for example, uses it to categorize room styles based on pictures. Carousel uses visual recognition to make the bid posting process easier for vendors; while a machine learning powered recommendation feature helps buyers locate better listings.


Doing Natural Language Processing in A Natural Way: An NLP toolkit based on object-oriented knowledge base and multi-level grammar base

arXiv.org Artificial Intelligence

We introduce an NLP toolkit based on object-oriented knowledge base and multi-level grammar base. This toolkit focuses on semantic parsing, it also has abilities to discover new knowledge and grammar automatically, new discovered knowledge and grammar will be identified by human, and will be used to update the knowledge base and grammar base. This process can be iterated many times to improve the toolkit continuously.


Towards Visual Semantics

arXiv.org Artificial Intelligence

In Visual Semantics we study how humans build mental representations, i.e., concepts , of what they visually perceive. We call such concepts, substance concepts. In this paper we provide a theory and an algorithm which learns substance concepts which correspond to the concepts, that we call classification concepts , that in Lexical Semantics are used to encode word meanings. The theory and algorithm are based on three main contributions: (i) substance concepts are modeled as visual objects , namely sequences of similar frames, as perceived in multiple encounters ; (ii) substance concepts are organized into a visual subsumption hierarchy based on the notions of Genus and Differentia that resemble the notions that, in Lexical Semantics, allow to construct hierarchies of classification concepts; (iii) the human feedback is exploited not to name objects, as it has been the case so far, but, rather, to align the hierarchy of substance concepts with that of classification concepts. The learning algorithm is implemented for the base case of a hierarchy of depth two. The experiments, though preliminary, show that the algorithm manages to acquire the notions of Genus and Differentia with reasonable accuracy, this despite seeing a small number of examples and receiving supervision on a fraction of them.


HindSight: A Graph-Based Vision Model Architecture For Representing Part-Whole Hierarchies

arXiv.org Artificial Intelligence

This paper presents a model architecture for encoding the representations of part-whole hierarchies in images in form of a graph. The idea is to divide the image into patches of different levels and then treat all of these patches as nodes for a fully connected graph. A dynamic feature extraction module is used to extract feature representations from these patches in each graph iteration. This enables us to learn a rich graph representation of the image that encompasses the inherent part-whole hierarchical information. Utilizing proper self-supervised training techniques, such a model can be trained as a general purpose vision encoder model which can then be used for various vision related downstream tasks (e.g., Image Classification, Object Detection, Image Captioning, etc.).


DoubleML -- An Object-Oriented Implementation of Double Machine Learning in Python

arXiv.org Machine Learning

DoubleML is an open-source Python library implementing the double machine learning framework of Chernozhukov et al. (2018) for a variety of causal models. It contains functionalities for valid statistical inference on causal parameters when the estimation of nuisance parameters is based on machine learning methods. The object-oriented implementation of DoubleML provides a high flexibility in terms of model specifications and makes it easily extendable. The package is distributed under the MIT license and relies on core libraries from the scientific Python ecosystem: scikit-learn, numpy, pandas, scipy, statsmodels and joblib.


Attribute-Based Robotic Grasping with One-Grasp Adaptation

arXiv.org Artificial Intelligence

Robotic grasping is one of the most fundamental robotic manipulation tasks and has been actively studied. However, how to quickly teach a robot to grasp a novel target object in clutter remains challenging. This paper attempts to tackle the challenge by leveraging object attributes that facilitate recognition, grasping, and quick adaptation. In this work, we introduce an end-to-end learning method of attribute-based robotic grasping with one-grasp adaptation capability. Our approach fuses the embeddings of a workspace image and a query text using a gated-attention mechanism and learns to predict instance grasping affordances. Besides, we utilize object persistence before and after grasping to learn a joint metric space of visual and textual attributes. Our model is self-supervised in a simulation that only uses basic objects of various colors and shapes but generalizes to novel objects and real-world scenes. We further demonstrate that our model is capable of adapting to novel objects with only one grasp data and improving instance grasping performance significantly. Experimental results in both simulation and the real world demonstrate that our approach achieves over 80\% instance grasping success rate on unknown objects, which outperforms several baselines by large margins.