Sorting is one of the major problems in Computer Science and Engineering. One needs to sort data in an ascending or a descending order based on problem statement. Efficient sorting is required to optimize the performance of other algorithms such as searching and merging. There are two types of sorting methods viz. Comparison Based Sorting and Non-comparison Based Sorting. In Comparison Based Sorting methods, elements are compared with each other to get the sorted order. In Non-comparison Based Sorting methods, elements are not compared with each other to get sorted order. Bubble Sort, Insertion Sort, Selection Sort, Merge Sort, Quick Sort, Heap Sort, and Shell Sort are examples of Comparison Based Sorting methods whereas Radix Sort, Count Sort, and Bucket Sort are examples of Non-comparison Based Sorting methods.

Worst case time complexity of Bubble Sort is O (n2), where n indicates the number of elements to be sorted. It is applicable to small size data and usually is not used to solve problems in real-world applications. The best case and worst case time complexities of Insertion Sort are Ω (n) and O (n2) respectively.  These are used in situations when the data to be sorted is small in size and is almost in a sorted order. The best case and worst case time complexities of Selection Sort are Ω (n2) and O (n2) respectively. These too are used when the data size is small. The space complexity of all the above sorting methods is equal to O (1), as these methods don’t require additional memory to get sorted order data. One can choose the above sorting methods when memory requirement is very high.

Merge Sort, Quick Sort, and Heap Sort are efficient sorting methods wherein time complexity is less. Among these sorting methods, Quick Sort is the fastest sorting method but its worst case time complexity is O (n2). Merge Sort and Heap Sort give O (nlogn) time complexity in all cases, i.e., best case, average case, and worst case. Quick Sort is preferred over Merge and Heap Sort if the researcher or developer is confident about balanced partitioning of the data.

Merge Sort is applicable in situations, when data size is very large and is unable to fit in a computer’s main memory like RAM although its space complexity is O (n). If there is a high requirement of memory and one wants to find the smallest or the largest element quickly, Heap Sort is preferred because its space complexity is O (1).

Radix Sort or Bucket Sort is specially used to sort out fixed size integers, fixed size strings and floating points of certain range and leads to worst case time complexity of O (d*(n+b)), where d is number of digits required to represent maximum number from the list, n indicates number of elements to be sorted and b indicates number of buckets required to sort out elements. For integers b=10, as there are 10 digits and for strings b=26, as there are 26 alphabets.

Counting Sort is one of the non-comparison based sorting methods, which runs in linear time, i.e., O (n+k), where n shows number of elements to be sorted and k is the maximum element. It is used when the range of the values is small and the list contains duplicate entries of the elements.

The author of this article is Prof. Ajitkumar Shitole with the Department of Computer Engineering at International Institute of Information Technology, I²IT, Pune

e-commerce is transforming rapidly and with many new technological advancements in the 21st century, the world is going crazy with online shopping. Customers check product availability across various e-commerce stores. Details like product specification star ratings, reviews to choose the right product, etc are all available just a click away.  Similarly, vendors are vigilant of their customers’ likings.

Though buying a product online has become easier, it is not yet possible to conduct a detailed manual analysis of all the reviews to discern feature-specific opinions. Presently, in many cases, opinion analysis is done only for the overall reviews and we cannot get the feature specific opinions of the product.  So, there is a need to analyze the opinions specified for the different aspects of a product, which can be done by using an ‘Aspect Specific Opinion Analysis’. This analysis is carried out in two steps:

  • Aspect Extraction
  • Sentiment Classification for that Aspect

Aspect Specific Opinion Analysis is done using recent technologies such as Machine Learning and Natural Language Processing (NLP).  Many a times NLP is used to extract features and a Machine Learning Algorithm is trained to predict aspect category.

Applications of aspect specific opinion analysis:

 

For example, let us consider Mobile Phone Reviews.  Major aspect categories can be processor, RAM, battery backup, camera, picture quality, color, screen size, etc.  The desired aspect is extracted from a review and then the sentiment about it is determined.

Approaches for aspect extraction:

  1. Frequency based approach: Frequent noun and noun-noun terms are extracted to predict the aspect. These are selected based on frequency/occurrence count.
  2. Syntax based approach: Candidate features to predict aspect category are selected based on POS tags or some grammatical rules which show the relationship between words in a sentence. So here we need to study different NLP rules which show relationships between words in a sentence. Then use those applicable rules to extract features to predict aspect category.
  3. Unsupervised approach: Clustering techniques can be used to group terms which reflect the same aspect.
  4. Hybrid approach: It can be a combination of many approaches such as, frequency, syntax, supervised, unsupervised.

The above listed approaches work on terms specified in the review. But the same aspect may be represented by using multiple terms. So, there is a need to think about the semantic approaches that will consider rational knowledge while predicting the aspects. One of the semantic solutions for the aspect extraction problem is ontology. The level one nodes in ontology represent aspects, and the following nodes represent opinion terms related to those aspects. As per the applications, depth of the ontology can be decided. Ontologies represent the knowledge of a domain and can be the best semantic solution.

Challenges:

The aspects to extract, may be explicit or implicit.

“The cell phone is overpriced” – The aspect, ‘price’ is specified explicitly.

“It is not affordable”- ‘Price’ is the implicit aspect that is represented by the word ‘affordable’.

The challenge is to identify the implicit aspects.

The another issue is to extract aspects from a sentence containing multiple aspects.

“It is overpriced but the picture quality is good”

In this review sentence, one aspect is, ‘price’ (explicit) and another is ‘camera quality’ (implicit).

The complexity of language and choice of words, make NLP that more challenging and exciting.  Currently the areas that are open for research aspect-specific opinion mining are:

  • Finding implicit aspects from reviews.
  • Extract aspects from sentences containing multiple aspects.
  • Semantic strategy for the aspect class prediction.
  • Unbalanced data problems.
  • Negation handling

The author of this article is Prof. Bhavana Kanawade with the Department of Information Technology at International Institute of Information Technology, I²IT, Pune.

 

Atmospheric aerosols have been found to affect the Earth’s climate in many characteristic ways. They can affect the energy balance of Earth’s atmosphere system by producing a direct or indirect change in the weather and climate system. The direct interaction of aerosols involves both scattering and absorption of radiation, and the relative importance of these processes depends on their chemical composition, refractive index, and size distribution. The indirect effect of aerosols on climate occurs when cloud optical properties are modified. Thus, the concentration, size and composition of aerosols which can act as cloud condensation nuclei determine the cloud properties, evolution and development of precipitation. Aerosols modify cloud properties and precipitation via a variety of mechanisms with varying and contradicting consequences.

Aerosols’ cloud interaction is speculated to be important to perceptive of the global climate change because clouds take part in a crucial task of controlling incoming radiations as well as outgoing radiation. A large number of studies showed that the anthropogenic aerosols change clouds and their optical properties. Atmospheric aerosols change the concentration and size of the cloud droplets which in turn lead to a change in cloud albedo, its lifetime and thereby affect the precipitation. Also, the reduction in cloud effective radius due to the increase in cloud droplet number concentration (CDNC) leads to the increase in cloud lifetime. The possible repercussion of this process is to decrease the rate of surface evaporation which results in stable and drier atmosphere as a result of the reduction in cloud formation. Anthropogenic aerosols influence mixed-phase clouds in a number of ways and needs comprehensive study to understand the precise phenomenon. A great number of studies were conducted on the possible modification of cloud properties via the interaction with atmospheric aerosol particles, as this may lead to important changes in the Earth’s climate. Biomass burning aerosols have been shown to affect clouds through both microphysical and radiative mechanisms. Burning of agriculture waste and deforestation are the major sources of origin of large particles in the Southern Hemisphere commonly called as ‘biomass burning’. Those aerosols are hygroscopic and can add to the CCN (cloud condensation nuclei). Recent research studies such as satellite analyses have reported persistent correlation between cloud fraction and aerosol optical depth in regions influenced by several aerosols present.

The first indirect effect known as the Twomey effect produces the reduction in cloud effective radius due to the increase in aerosol loading for fixed cloud water path (CWP). Opposite of this effect (i.e. as aerosol loading increases cloud effective radius also increases) were observed over some parts of the world in certain environmental conditions. The Twomey effect and Albrecht effect (i. e. lifetime effect) facilitate cooling of the atmosphere by increasing cloud optical depth (COD) and cloud fraction (CF) respectively. This causes a reduction in the net solar radiation at the top of the atmosphere and hence at the surface. Several other studies have pointed out that the aerosol-cloud interactions are not determined by aerosols alone, but the regional meteorological conditions can play a significant role in this relationship.

 

 

Extensive studies were conducted on various mechanisms of cloud properties through the interaction of atmospheric aerosol particles with cloud parameters which further influence the Earth’s climate. It was found that at low AODs, cloud optical depth (COD) increases with increasing AOD while COD decreases with increasing AOD at higher AODs. This increase was attributed to a combination of microphysical and dynamical effects while the decrease was due to the dominance of radiative effects that thin and darken the clouds.

 

Sandeep Varpe

Department of Engineering Sciences

International Institute of Information Technology (I²IT), Pune

sandeepv@isquareit.edu.in