SlideShare a Scribd company logo
1 of 112
Download to read offline
ISSN: 1694-2507 (Print)
ISSN: 1694-2108 (Online)
International Journal of Computer Science
and Business Informatics
(IJCSBI.ORG)
VOL 12, NO 1
APRIL 2014
Table of Contents VOL 12, NO 1 APRIL 2014
Improving Ranking Web Documents using User’s Feedbacks...............................................................1
Fatemeh Ehsanifar and Hasan Naderi
A Survey on Sparse Representation based Image Restoration ............................................................... 11
Dr. S. Sakthivel and M. Parameswari
Simultaneous Use of CPU and GPU to Real Time Inverted Index Updating in Microblogs
.................................................................................................................................................................... 25
Sajad Bolhasani and Hasan Naderi
A Survey on Prioritization Methodologies to Prioritize Non-Functional Requirements ........................ 32
Saranya. B., Subha. R and Dr. Palaniswami. S.
A Review on Various Visual Cryptography Schemes ................................................................................ 45
Nagesh Soradge and Prof. K. S. Thakare
Web Page Access Prediction based on an Integrated Approach ............................................................. 55
Phyu Thwe
A Survey on Bi-Clustering and its Applications ..................................................................................65
K. Sathish Kumar, M. Ramalingam and Dr. V. Thiagarasu
Pixel Level Image Fusion: A Neuro-Fuzzy Approach ................................................................................ 71
Swathy Nair, Bindu Elias and VPS Naidu
A Comparative Analysis on Visualization of Microarray Gene Expression Data...................................... 87
Poornima. S and Dr. J. Jeba Emilyn
IJCSBI.ORG
A New Current-Mode Geometric-Mean Structure for SRD Filters ......................................................... 100
Ebrahim Farshidi and Saman Kaiedi
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 1
Improving Ranking Web
Documents using User’s Feedbacks
Fatemeh Ehsanifar
Department of CSE,
Lorestan Science and Research College,
Lorestan, Iran
Hasan Naderi
Assistant Professor
Department of CSE,
Iran University of Science and Technology,
Tehran, Iran
ABSTRACT
Nowadays, World Wide Web has been utilized as the best environment for development,
distribution and achieving knowledge. The most significant tool for achieving to this
infinite ocean of information involves variety of Search Engines, in which ranking is one of
the main parts. Regarding problems based on text and link, some methods have been
considered according to user’s behavior in web. User’s behavior includes valuable
information which can be used for improving quality of web ranking results. In this
research a model has been offered in which for each definite query, user’s positive and
negative feedbacks about displayed list in web pages have been received, including how
many times user has accessed to a certain site, time spent in a site, number of successful
downloads in a site, number of positive and negative clicks in a site, then it calculates the
ranking of each page using Multiple Attribute Decision Making method, and eventually
presents a new ranking about the site which could be updated regularly according to the
next feedbacks from users.
Keywords
User’s feedback, Multiple Attribute Decision Making, User’s Behavior, Search Engine.
1. INTRODUCTION
Due to vastness of web pages and their increasing improvement, there is a
persistent need to some methods for ranking web pages according to their
level of significance, and their relevance to the topic. Ranking is the main
component of an Information Retrieval System. With regard to research
engines, which are among Information Retrieval Systems, because of
particular characteristics of users, role of ranking has become more obvious.
It is a common practice for search engines to find myriads of pages as a
search result, and on the other hand, web user does not have enough and
sufficient time to observe all of the results in order to achieve his/her desired
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 2
pages. Most of web users do not pay attention to the pages which come after
first search results. Therefore, this is important for a web search engine to
present possibly the most favorite results to users in the top of the list,
otherwise, a search engine could not be considered effective enough. So the
role of a ranking algorithm is identification and dedication of more ranking
to more valid pages among other numerous web pages.
Structure of the present paper is as follow: Next part is assigned to review of
literature. In part3, TOPSIS algorithm and its characteristics have been
described. Proposed method is presented in part 4, and description of
Simulation is presented in part 5. Finally, part 6 includes conclusion and
some future works.
2. RELATED WORKS
Ranking is one of the main parts of search engine. Ranking is a process in
which the quality of a page is estimated. Owing to the fact that for every
query there could be thousands of relevant pages, it is imperative to
prioritize them, and present the first 10 or 20 results to the user. Ranking
methods generally can be divided in to five classifications: First ranking
classification is text-based, and the most important text-based ranking
models are probability and vector space. In vector space model, both of
document and query are vectors with dimensions as much as the number of
words. In this model each vector turns in to a weight vector, then cos of
angle between two vectors with weight is calculated as their degree of
similarity. Usually the most significant method of weighting is TF-IDF by
Mr. Salton[1]. Another text-based ranking method includes probability
model. Purpose of a retrieval system, based on probability model of
document ranking, is related to possible relevance of each document with
query of user. Thus, contrary to vector space, this model definitely cannot
find degree of similarity between query and document [2].
Second classification is connection-based ranking. Contrary to environment
of Traditional Information Retrieval, web has a great heterogeneous
structure in which documents are linked together, and also shape a huge
graph. Web links involve valuable information, so new ranking algorithms
have been created based on link. In a general view, connection-based
algorithms are divided in to two classifications of query-dependent models,
and query-independent models [3]. In query-independent models, such as
page Rank, ranking is done as offline (outline), and using overall web graph,
and subsequently for each query there is a fixed page. But in query-
dependent models (sensitive to topic), such as HITS, ranking in graph
involves collection of pages relating to user query.
Third classification is combinatorial method, which uses both of link and
content for ranking [4]. Fourth classification is Learning-based method,
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 3
which has drawn lots of attention in recent years. Proposed methods in the
area of ranking that work according to learning, are divided in to three main
classifications: point method, pair method, and list method. In point method,
a digit is dedicated to each pair of document-query which represents level of
connection between them [5]. In pair methods, with obtaining pair of objects
(characteristics of objects and their relative ranking), it has been attempted
to dedicate a ranking to each object close to its real ranking, and eventually
objects will be divided in to two general classifications of “correctly
ranked” and “incorrectly ranked”. Most of existing learning-based ranking
methods are of this type. List-based methods utilize list of ordered objects as
learning data collection for prediction of order of objects. Fifth classification
is based on user’s behavior. Regarding problems of text-based and link-
based methods, methods that are based on behavior and judgment of user
have been considered extensively for prevailing justice and democracy in
web. In other words, for development and improvement of web in terms of
quality and quantity, determination of the most befitted pages is carried out
by users [6]. There are two methods for data collection by users: Direct
Feedback Method, and Implicit Feedback Method [7].
In direct feedback methods the user is requested to judge about proposed
results, which is a difficult method. In indirect method, user’s behavior
during search process (that is registered in logs of search engines) is
utilized. As a consequence, it can be collected with the least possible cost.
User’s behavior during search process involves text of query, how the user
clicks on ordered list of results [8], content of clicked pages, stop duration in
each page[9], and other existing information concerning events registered
during search. These registered events include invaluable information which
can be used for analysis, assessment, and modeling user’s behavior in order
of improving quality of results.
3. TOPSIS ALGORITM
TOPSIS method is a compensatory method among Multiple Attribute
Decision Making Models (MADM), and the purpose of being compensatory
is that exchange between the criteria is allowed, i.e. for instance weakness
of a criteria might be compensated by score of another criteria. In this
method M options would be assessed by N criteria. In addition to
considering distance of option Ai from ideal point, its distance from negative
ideal has been considered, too. This means selected option must has the
least distance from ideal solution, whereas it must has the last distance from
negative ideal solution [10].
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 4
4. METHODOLOGY
In this part we provide a model that collects 5 cases of user’s feedback
(positive and negative) on list of search results for each certain query, which
might be inserted by a large number of users, and also calculates ranking of
each document using TOPSIS method, and finally gives a ranking to
documents. At specified intervals and using next re-collected feedbacks
from users, these rankings are to be updated. Five cases of user’s feedback
which have been regarded as five criteria (the first four cases are positive
characteristics and the last case is a negative characteristic), have been used
for assessing web pages as follow:
 Open Click: the number of times that each site will be available or
will be clicked for a certain query.
 Dwell time: a period of time that users spend in each site for a
certain query, and this period of time is based on hour.
 Download: the number of downloads which occurs for a certain
query in each page.
 Plusclick: a collection of positive clicks identifying user’s
satisfaction from selecting the page, such as doing left click or right
click on existing links in the page and etc.
 Negative click: a collection of negative clicks identifying lack of
satisfaction among users about selected documents, such as clicking
close and etc.
Implementation steps of proposed method:
First step: first of all Decision making Matrix is formulated as follow:
where A1, A2, …, Am in Decision Making Matrix D stand for m sites that
are supposed to be ranked according to a series of the criteria;
andXoc, XDT, XD, XPC, XNC represent the criteria for assessment of
suitability of each site, and finally ri,jcomponents representing specific
values of jth
criteria for ith
site. Now this matrix becomes normal using
Scale-up method or Scale-up norm, and it leads to formation of Matrix D.
Second step: In this part, relative significance of existing criteria is
calculated using Entropy method, and becomes balanced using λ values. λ
values, respectively, have been considered for criteria of number of clicks
(0,2), criteria of spent time which can be more significant compared with
other criteria (0,3), criteria of number of downloads (0,1), criteria of number
of positive clicks (0,2), and criteria of number of negative clicks (0,2), that
vector W shapes as follow:
W={WOC, WDT, WD, WPC, WNC }
Now according to relation (1), Weightless Matrix comprises with regard to
assuming vector W as an entry in algorithm.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 5
𝑉 = 𝑁 𝐷 . 𝑊5∗5
𝑉11 ⋯ 𝑉15
⋮ ⋱ ⋮
𝑉 𝑚1 ⋯ 𝑉 𝑚5
(1)
so that ND turns in to a matrix that criteria scores have been scale-up in it.
W5×5 is a Diagonal Matrix in which only elements of its main diameter are
non-zero.
Third step: Determination of ideal solution according to relation (2), and
negative ideal solution according to relation (3): For positive ideal option
(A+
) we define the best site as user’s viewpoint, and for negative ideal
option (A-
) we define the worst site as user’s viewpoint as follow:
𝐴+
= 𝑚𝑎𝑥 𝑉𝑖,𝑗 𝑗 ∈ 𝐽 , 𝑚𝑖𝑛 𝑉𝑖,𝑗 𝑗 ∈ 𝐽 𝑖 = 1,2,3,4,5 =
𝑉 𝑚𝑎𝑥 𝑂𝐶
+
, 𝑉 𝑚𝑎𝑥 𝐷𝑇
+
. , 𝑉 𝑚𝑎𝑥 𝐷
+
, 𝑉 𝑚𝑎𝑥 𝑃𝐶
+
, 𝑉 𝑚𝑖𝑛 𝑁𝐶
+
(2)
𝐴−
= 𝑚𝑖𝑛 𝑉𝑖,𝑗 𝑗 ∈ 𝐽 , 𝑚𝑎𝑥 𝑉𝑖,𝑗 𝑗 ∈ 𝐽 𝑖 = 1,2, ,3,4,5 =
𝑉 𝑚𝑖𝑛 𝑂𝐶
−
, 𝑉 𝑚𝑖𝑛 𝐷𝑇
−
, , 𝑉 𝑚𝑖𝑛 𝐷
−
, 𝑉 𝑚𝑖𝑛 𝑝𝑐
−
, 𝑉 𝑚𝑎𝑥 𝑁𝐶
−
(3)
𝐽 = 𝑗 = 1,2,3,4,5 𝑗
𝑓𝑜𝑟
𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 𝐴𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑒
𝐽 = 𝑗 = 1,2,3,4,5 𝑗
𝑓𝑜𝑟
𝑁𝑒𝑔𝑎𝑡𝑖𝑣𝑒 𝐴𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑒
According to relation (4) the distance of ith
site from positive ideal site is as
follow:
𝑑𝑖
+
= (𝑉𝑖,𝑗 − 𝑉𝑗
+
)2
𝑛
𝑗=1
.5
; 𝑖 = 1, 2, … . , 𝑚 (4)
And according to relationship (5) the distance of ith
site from positive ideal
site is as follow:
𝑑𝑖
−
= 𝑉𝑖,𝑗 − 𝑉𝑗
− 2
𝑛
𝑗=1
.5
; 𝑖 = 1, 2, … … , 𝑚 (5)
Fifth step: Calculation of relative closeness of each site (Ai) to ideal site.
This relative closeness is defined according to relation (6) as follow:
𝑐𝑙𝑖
+
=
𝑑𝑖
−
𝑑𝑖
+
+ 𝑑𝑖
−
; 0 ≤ 𝑐𝑙𝑖
+
≤ 1 ; 𝑖 = 1,2, … , 𝑚 (6)
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 6
It seems that if Ai = A+
, then we have di+ = 0 and then cli+ = 1, and if Ai =
A+
, then we have di- = 0 and then cli- = 0. Therefore, the closeness of Ai
option to ideal solution (A+
) is corresponding to higher value of cli+ .
Sixth step: Ranking of sites according to prioritization of preferences is
based on descending order of cli+.
5. SIMULATION OF PROPOSED MODEL
The proposed model became simulated using MATLAB software (version
2012). Simulation process was in such a way that firstly it receives three
specific entries from users. Entries, respectively, are as follow:
 Number of users which insert a unit query.
 The number of times that feedbacks are received again from users,
and a new ranking takes place, or in other words ranking of pages
becomes updated.
 The number of pages or sites which is supposed to be ranked for
each specific query regarding user’s feedback, or using TOPSIS
method.
Some points have been considered for each feedback as follow: Maximum
positive click for each user is 20 times, and it must be at least 0, maximum
number of downloads for each visit is 15 times, maximum time for each
user to visit a site is 3 hours, and it must be at least 5 minutes.
5.1 TYPICAL SIMULATION OF PROPOSED MODEL
In the following an example of implementation of program has been
illustrated, in which for a certain query of abovementioned feedbacks has
been received from 1000 users about 10 first sites, and the sites have been
ranked, and also these rankings are updated in a specified interval, and using
next feedbacks.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 7
Figure 1. Typical Simulation of Proposed Model in three steps
5.2 ADVANTAGES AND DISADVANTAGES OF PROPOSED
METHOD
 One of the main advantages of this method is that the criteria and
standards used in this comparison can have different measurement
units, and positive or negative criteria. In other words, positive or
negative criteria can be used in a combinatorial way in this
technique. According to this method, the best option or solution is
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 8
the closest option to ideal option or solution. Briefly, ideal solution
results from a collection of maximum values of each criterion, while
non-ideal solution results from a collection of the most minimum
values of each criterion.
 In this method we can take into account a considerable number of
criteria.
 This method can be applied very simply and in a convenient speed,
and due to reduction of volume of calculations in assessment, it
takes advantage of a great number of options.
6. CONCLUSION
Search engines provide search results regardless of user’s desires and work
background. In this concern, users while using search engines, mostly come
across some results which might not be interesting for them, and another
important case is that most of search engines use such algorithms that looks
in to the number of input and output links of a website, such as Page Rank;
so user’s behavior pattern is of uttermost significance in ranking of the
websites. In this work we presented a method for ranking of web documents
with simultaneous usage of five cases of negative and positive feedbacks of
users, and in this proposed model we used one of Multiple Attribute
Decision Making Models called TOPSIS.
Moreover, this method seems to be a suitable method for prioritization of
pages due to simultaneous characteristic of two distances from positive and
negative ideal option, and eventually implements a ranking on documents.
One of other innovations of this model is that they use a great deal of user’s
feedbacks for ranking, simultaneously; and among these feedbacks, time has
to be considered since it is one of well-known and new methods of variety
of implicit feedbacks among users, and researchers believe that as much as a
user spends more time for reading a document, the document becomes of
more importance for him/her.
FUTURE WORKS: with regard to the conducted study and research we
concluded that in spite of the fact that using user’s behavior in ranking
during recent years has become considerably significant, there is still
sufficient capacity and potential for more research in future. Also
personalization, concerning previous behavior of users, is of those cases
which has not been solved entirely, and requires more review and
investigation. As a suggestion for future works, providing and using real
data in this method, and examination of other combinatorial methods has to
be considered.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 9
REFERENCES
[1] Salton, G. Buckley, C. 1988. Term-weighting approaches in automatic text retrieval.
Inf. Process. Manage. 24, 5 (August 1988), pp. 513-523.
[2] Robertson, S. E. Walker, S. 1994. Some simple effective approximations to the 2-
Poisson model for probabilistic weighted retrieval. In Proceedings of the 17th annual
international ACM SIGIR conference on Research and development in information
retrieval (SIGIR '94), W. Bruce Croft and C. J. van Rijsbergen (Eds.). Springer-Verlag New
York, Inc., New York, NY, USA, pp. 232-241.
[3] Jain, R. Dr. G. N. Purohit, 2011.page ranking Algorithms for Web Mining,
International Journal of Computer Applications (0975 – 8887) Vol. 13. No.5, January.
[4] Shakery, A. Zhai, C. 2003. Relevance propagation for topic distillation uiuc trec
2003web track experiments. In Proceedings of the TREC Conference.
[5]Yeh,J.Y Lin, J.Y. Ke H.R, Yang W.P.2007. Learning to Rank for Information Retrieval
Using Genetic Programming, Presented in SIGIR 2007 Workshop, Amsterdam.
[6] ZHAO, D. ZHANG, M.ZHANG, D. 2012. A Search Ranking Algorithm Based on
UserPreferences, Journal of Computational Information Systems, pp. 8969-8976.
[7] Attenberg, J. Pandey, S. Suel, T. 2009. Modeling and predicting user behavior in
sponsored search. In Proceedings of the 15th ACM SIGKDD international conference on
Knowledge discovery and data mining (KDD '09). ACM, New York, NY, USA, pp.1067-
1076.
[8] Dupret, G. Liao, C. 2010. A model to estimate intrinsic document relevance from the
clickthrough logs of a web search engine. In Proceedings of the third ACM international
conference on Web search and data mining (WSDM '10). ACM, New York, NY, USA,
pp.181-190.
[9] Liu, C. White, R.W. Dumais, S. 2010. Understanding web browsing behaviors through
Weibull analysis of dwell time. In Proceedings of the 33rd international ACM SIGIR
conference on Research and development in information retrieval (SIGIR '10). ACM, New
York, NY, USA, pp.379-386.
[10] Yurdakul M. 2008. Development of a performance measurement model for
manufacturing companies using the AHP and TOPSIS approaches, International Journal of
production research, pp. 4609-4641.
APPENDIX
Implementing Scale-up using Norms: In order of comparing different
measurement criteria for variety of criteria, we must use scale-up method,
which results in measurement of elements of transformed criteria (ni,j)
without considering their dimension. There are various methods of scale-up
(such as scale-up using norm, linear scale-up, phase scale-up), and here we
use scale-up using norm. We divide ri,j from assumed Decision Making
Matrix by existing norm of column jth
(for criteria of xj). That is,
ni,j =
ri,j
ri,j
2m
i=1
1
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 10
In this way, all of assumed columns of matrix have the same unit of length
and their overall comparison becomes simple.
Weighting criteria using Entropy Method:
In most of MADM problems we need to know the relative importance of
existing criteria, in a way that their total equals to unit (normalized), and this
relative importance estimates the degree of preference of each criteria than
other cases for Decision Making, and we use Entropy method for this
purpose. Entropy in theory of criterion information is for expressed lack of
certainty by a Discrete Probability Distribution (Pi). Decision Making
Matrix has been considered by m option and n criteria, and existing
information content from this Decision Making matrix is calculated as (Pij).
Pi,j =
ri,j
ri,j
m
i=1
(2)
And for Ej from Pij collection for each criterion we have:
Ej = −k Pi,j ∗ Pi,j
m
i=1
; ∀i, j 3
So that it holds k= 1/lnm, and deviation degree (dj) from produced
information for each jth
criteria is as follow:
dj = 1 − Ej ; ∀j (4)
And finally for (Wj) weights from existing criteria we have:
wj =
dj
dj
n
j=1
; ∀j 5
As Wn×1 matrix is not multipliable with Normalized Decision Making
Matrix (n×n), before multiplying it is necessary to transform Weight Matrix
into a Diagonal Matrix (Wn×n) (weights on the main diameter), and if DM
has a λi subjective judgment as relative importance for jth
criteria in advance,
then the calculated Wj through Entropy can be balanced as follow:
wَj
=
λj ∗ wj
λj, wj
n
j=1
; ∀𝑗 (6)
This paper may be cited as:
Ehsanifar, F. and Naderi, H., 2014. Improving Ranking Web Documents
using User’s Feedbacks. International Journal of Computer Science and
Business Informatics, Vol. 12, No. 1, pp. 1-10.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 11
A Survey on Sparse Representation
based Image Restoration
Dr. S. Sakthivel
Professor, Department of Information Technology
Sona College of Technology,
Salem, India.
M. Parameswari
PG Scholar, Department of Information Technology
Sona College of Technology,
Salem, India.
ABSTRACT
In recent field of engineering, digital images gaining popularity due to increasing
requirement in many fields like satellite imaging, medical imaging, astronomical imaging,
poor-quality family portraits etc. Therefore, the quality of images matters in such fields.
There are many ways by which the quality of images can be improved. Image restoration is
one of the emerging methodologies among various existing techniques. Image restoration is
a process that deals with methods used to recover an original scene from degraded
observations. The primary goal of the image restoration is the original image is recovered
from degraded or blurred image. The main aim of this survey is to represent different
methodologies of restoration that provide state-of-the-art results. The motivation of the
literature originates from filter concept, iterative methods and sparse representations. The
restoration methods of filter concepts are evaluated with the help of performance metrics
SNR (signal-to-noise-ratio). These ideas can be used as a good reference in the research
field of image restoration.
Keywords: Image Denoising, Image Deblurring, Sparse Representation, Restoration.
1. INTRODUCTION
Image restoration intends to recover high resolution image from low
resolution image. Blurring is a process of reducing the bandwidth of an ideal
image that results in imperfect image formation. It happens due to the
relative motion between the camera and the original scene or by
atmospheric turbulence and relative motion between camera and ground.
Image restoration concerned with the estimation or reconstruction of
uncorrupted image from a blurred or noise one.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 12
In addition to these blurring effects, noise also corrupts any recorded image.
Image Restoration can be modeled by the system as shown in equation 1,
y Hx v  (1)
Where xЄRN
is the unknown high quality original image, HЄRM×N
is the
degradation matrix, vЄRN
is the additive noise and y is the observed
measurement. When H is specified by Kernel, then image reconstruction is
the problem of image blurring.
The solution for the de-blurring problem can be obtained by solving the
optimization problem as shown by equation 2,
  2
2arg min .xX y Hx J x   (2)
In the past decades, different methods and filters have been used for the
purpose of image restoration. These methods do not hold to be proven to
restore the image in case of additive white noise and Gaussian noises.
Sparse representations approximate an input vector by using a sparse linear
combination of atoms from an over complete dictionary. Sparse based
methods have been verified to perform well in terms of Mean Square Error
(MSE) measure as well as peak signal-to-noise ratio (PSNR). Sparse based
models are used in various image processing fields such as image de-
noising, image de-blurring, super resolution, etc.
2. IMAGE DENOISING AND DEBLURRING TECHNIQUES
Reginald L. Lagendijk and Jan Biemond [9] describe about the basic
methods and filters for the image restoration. Linear Spatially Invariant
Restoration Method is basic restoration filters were used. The author
described blurring function act as a convolution kernel or point spread
function d(n1,n2) that does not vary spatially. It is also assumed that the
statistical properties of mean and correlation function of the image and noise
do not change spatially. Modelling assumption can be denoted by f(n1,n2)
spatial discrete image that does not contain any blur or noise then the
recorded image g(n1,n2) is shown in the equation 3 ,
𝑔 𝑛1, 𝑛2 = 𝑑 𝑛1, 𝑛2 ∗ 𝑓 𝑛1, 𝑛2 + 𝑤(𝑛1, 𝑛2) (3)
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 13
Two blur models were used. They are linear motion blur and uniform Out-
of-focus blur. In linear motion blur, the relative motion between recording
device and the scene results in several forms of motion blur that are all
distinguishable. In Uniform Out-of-focus blur when camera captures the 3D
image onto 2D image some parts are out of focus. These out of focus can be
calculated by spatial continuous point spread function.Yusuf Abu Sa'dah
et.al [14] discussed in image enhancement that Low pass filters blur the
images which result in noise reduction, whereas high pass filters used to
sharpen the images. Butterworth filter and Gaussian filter can be used to
sharpen the images and also high pass filter reside in the shape of the curve.
Therefore any one of the high pass filters can be used to sharpen the images
in restoration algorithm.
Jan Biemond et al.,[1] discusses the iterative restoration algorithms for the
elimination of linear blur from images that tainted by pointwise
nonlinearities such as additive noise and film saturation. Regularization is
projected for preventing the excessive noise magnification that is associated
with ill-conditioned inverse problems such as deblurring problem. There are
various basic iterative solutions such as inverse filter solution, least squares
solutions, wiener solution, constrained least squares solution, kalman filter
solution. Inverse filter is a linear filter whose point spread function is the
inverse of blurring function. It requires only the blur point spread function.
Least Square filters are used to overcome the noise sensitivity and Weiner
filter is a linear partial inverse filter which minimizes the mean-squared
error with the help of chosen point spread function. Power spectrum is a
measure for the average signal power per spatial frequency carried by the
image, that is estimated for the ideal image. Constrained least squares filter
for overcoming some of the difficulties of inverse filter and of wiener filter
and it also estimates power spectrum. Regularization methods associated
with the names of Tikhonov and Miller. For both the non-iterative and
iterative restorations based on Tikhonov-Miller regularization analysed
using eigen vector expansions.
Michael Elad and Michal Aharon [5] address the image denoising problem
zero-mean white and homogenous Gaussian additive noise is to be removed
from given image. Based on sparse and redundant representation over
trained dictionaries using K-SVD algorithm, image content dictionaries is
obtained. Using corrupted image or high quality image database training is
done. So far K-SVD algorithm is used to handle small image patches we
extend it to handle large image patches. Sparsity of unitary wavelet
coefficient was considered leading to shrinkage algorithm. One-dimensional
wavelet are inappropriate for handling images, several new multiscale and
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 14
directional redundant transforms are introduced including curvelet,
contourlet, vedgelet, bandlet and steerable wavelet. Matching pursuit and
basic pursuit denoising give rise to ability to address image denoising
problem as a direct sparse decomposition technique over redundant
dictionaries. In sparseland model Bayesian reconstruction framework is
employed for local treatment on local patches to global patches. This K-
SVD cannot be directly deployed on larger blocks even if provides
denoising results
Priyam Chatterjee and Peyman Milanfar [10] proposed K-LLD: a patch
based locally adaptive denoising method based on clustering the given noisy
image into region of similar geometric structure is proposed with the use of
K-LLD. To perform clustering, employ the features of local weight function
derived from steering regression. Dictionary employed to estimate the
underlying pixel values using a kernel regression. With the use of stein
unbiased risk estimator (SURE) local patch size for each size can be chosen.
Kernel regression framework uses the methods such as bilateral filter,
nonlocal means and optimal spatial adaptation. Denoising can be learned
with a suitable basis function that describes geometric structure of image
patches. Image denoising can be first performed by explicitly segmenting
the image based on local image structure and through efficient data
representation. Clustering based denoising (K-LLD) makes use of locally
learned dictionary that involves three steps:
1. Clustering: Image is clustered using the features that capture the
local structure of the image data.
2. Dictionary selection: We form an optimized dictionary that adapts to
the geometric structure of the image patches in each cluster.
3. Coefficient calculation: Coefficients for the linear combination of
dictionary atoms are estimated with respect to the steering kernel
weights.
Fig 2.1: Block diagram of the iterative version of algorithm
:
Calculating
Steering Weights
Coefficient
Calculation Stage
Clustering
Stage
Dictionary
Selection Stage
Class 1
Class KNoisy Img
Y
Denoised Img
Y
W
Φ
Z
Y
{ yi ||I Є Ω k }
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 15
K. Dabov et al.,[6] proposed a novel image denoising strategy on an
enhanced sparse representation in transform domain. Sparsity is achieved by
grouping similar 2D image fragments into 3D data arrays called groups.
Collaborative filtering procedure developed to deal with 3D groups. It
involves three steps i.e 3D transformation of group, Shrinkage of transform
spectrum, inverse 3 D transformation. Some of the methods used to
denoising are transform domain denoising method, sliding window
transform domain image denoising. To apply shrinkage in local transform
domain sliding window transform domain is employed. Sharp adaptive
transform can achieve a very sparse representation of true signal in adaptive
neighborhoods. Collaborative filtering for image denoising algorithm
involves 2 steps:
1. Block estimate: In step one Block wise estimate is done for grouping
and thresholding which follows aggregation.
2. Final estimate: In step two Block wise estimates is done for grouping
and filtering which also follows aggregation.
Fig 2.2: Flowchart of the proposed image denoising algorithm.
Noisy
Image
Grouping
by block
Matching
Basic
Estimate of
true image
Grouping by
block
Matching
3D
Transform
Hard
Thresholding
Inverse 3D
Transform
Block Wise
Estimate
Aggregation
3D
Transform
Wiener
Filtering
Inverse 3D
Transform
Block Wise
Estimate
Aggregation
Final Wiener
Estimate
STEP 1 STEP 2
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 16
The proposed approach can be adopted to various noise models such as
additive colored noise, non-Gaussian noise etc by modifying the calculation
of coefficients variances in the basic and wiener parts of the algorithm. This
method can be modified for denoising 1-D signals and video for image
restoration as well as for other problems that benefit from highly sparse
signal representations.
Julien Mairal, Michael Elad, and Guillermo Sapiro [8] used prior knowledge
K-SVD algorithm for grayscale image processing is extended for color
Image Restoration. Techniques used in color image restoration are Markov
Random Field (MRF), Principal Component Analysis (PCA). An iterative
method that incorporates the K-SVD algorithm for handling non
homogeneous noise and missing information is used. Extension of denoising
algorithm can be used for the proper handling of nonhomogeneous noise
results better in correlation between the RGB channels. To capture the
correlation between the different color images K-SVD algorithm can be
adopted. This algorithm uses orthogonal matching pursuit (OMP) or basis
pursuit (BP) as part of its iterative procedure for learning the dictionary. At
each iteration, the best atom is selected from the dictionary that maximizes
its inner product with the residual (minimizing the error metric) and
updating the residual by performing an orthogonal projection. In denoising
of color image that is represented by column vector and white Gaussian
noise is added to each channel. Color spaces are often used to handle the
chroma and luma layers differently. The proposed method results better in
the application of color image denoising, demosaicing, and inpainting.
Noise in image is unavoidable, to estimate a true signal in noise, the most
frequently used methods are based on the least squares criteria. Proper norm
for images is the Total Variation (TV) norm. Closed form linear solutions
are easily computed, nonlinear is computationally complex. Constrained
minimization algorithm as a time dependent nonlinear PDE, where
constrains are determined by the noise statistics. TV (L1) philosophy used
to design hybrid algorithms. Nonlinear partial differential equations based
denoising algorithms [2]. Novel image enhancement technique called shock
filter is used. This algorithm yields more details of the solution in our
denoising procedure.
David S.C Biggs [3] proposed a new method for accelerating the
convergence of iterative restoration algorithms termed automatic
acceleration. It means faster processing and allows iterative techniques to be
used in applications where they would, otherwise seems too slow.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 17
Four different iterative methods are used for the acceleration algorithms are,
Richardson Lucy (R-L): It is an iterative technique used for the restoration
of astronomical imagery in the presence of Poisson noise. Maximum
entropy (ME) deconvolution: is a means for deconvolving “truth” from an
image and point-spread function (PSF).In a perfectly focused, noiseless
image there is still a warping caused by a point-spread function (PSF). The
PSF is a result of atmospheric effects, the instrument optics, and anything
else that lies between the scene being captured and the CCD array.
Gerchberg-Saxton (G-S) magnitude: The Gerchberg Saxton (GS)
algorithm is one popular method for attempting Fourier magnitude or phase
retrieval. This algorithm can be painfully slow to converge and is a good
candidate for applying acceleration. Phase retrieval algorithms: The new
method is stable and an estimated acceleration factor has been derived and
confirmed by experiment. The acceleration technique has been successfully
applied to Richardson-Lucy, maximum entropy and Gerchberg- Saxton
restoration algorithms and can be integrated with other iterative techniques.
There is considerable scope for achieving higher levels of acceleration when
more information is used in the acceleration process.
Sparse representation of image signals admits a sparse decomposition over a
redundant dictionary for handling sources of data. The problems of learning
dictionaries for color images and extend the K-SVD based grayscale image
denoising algorithm was described by Elad and Aharon (2006). Marial et
al., [7] forwards the work for handling non homogenous noise and missing
information in application such as color image denoising, demosaicking and
inpainting. Sparseland model suggests dictionaries exist for various classes
of signals and that the sparsity of signal decomposition is a powerful model.
The removal of additive white Gaussian noise with gray-scale images uses
the K-SVD for learning the dictionary from the noisy image directly. The
extension to color can be easily performed by simple concatenation of the
RGB values to the single vector and training on those directly which gives
better results than denoising each channel separately. The steps involved in
K-SVD algorithm are: Sparse Coding Step, Dictionary update,
Reconstruction.
Sparse Coding Step: Orthogonal Matching Pursuit (OMP) greedy algorithm
to compute the coefficients for each patch by patch. Dictionary Update:
Select the set of patches and for each patch compute its residual. Sets are
used as matrices whose columns are vector elements. Finally, update the
dictionary atoms and the sparse representations that use it one at a time.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 18
Reconstruction: A simple averaging between the patches approximations
and the noisy image.
To extend the K-SVD algorithm for denoising of color images is to denoise
each single channel using a separate algorithm with possibly different
dictionaries. To take the advantage of the learning capabilities of the K-SVD
algorithm to capture the correlation between the different color channels. In
denoising of RGB color images, represented by column vector with some
white Gaussian noise has been added to each channel. In sparse coding
stage, greedy algorithm selects the best atom at each iteration, from the
dictionary and then updating the residual by orthogonal projection.
Multiscale framework focuses on the use of different sizes of atoms
simultaneously. A large patch of size n pixel is divided along the tree to sub-
patches of fixed size. A dictionary is built for multiscale structure of all
atoms.
It characterizes soft edge smoothness based on a novel softcut metric by
generalizing the geocuts methods. Shengyang Dai and Yihong Gong [11]
proposed Soft edge smoothness measure can approximate the average length
of all level lines in an intensity image. From this the total length of all level
lines can be minimized. It presents a novel combination of this soft edge
smoothness prior and the alpha matting techniques for color image SR (
Super Resolution) by adaptively normalizing image edges according to their
α- channel description. To minimize the reconstruction error, original high
resolution (HR) image can be recovered for low resolution (LR) inputs. This
is called as inverse process. Reconstruction error can be optimized by back-
projection method in iterative way. Interpolation methods such as bilinear or
bicubic interpolation tend to produce HR images. To measure and quantify
edge smoothness Goecut methods is employed. Goecut method
approximates the length of a hard edge with a cut metric on the image grid.
In softcut method, a soft edge cut metric measures smoothness of soft edges.
To handle various edges in color images alpha matting technique is
proposed from computer graphics literature. To prevent cross edges
interpolation edge directed interpolation infer sub pixel edges. To extend
color image SR, an adaptive softcuts method is proposed based on a novel
α- channel image description. It enables a unified treatment of edges with
different contrasts on α channel. Promising results for a large variety of
images are obtained by this algorithm.
In over complete dictionary, signals are described by sparse linear
combinations of atoms. Pursuit algorithm is used in this field to decay
signals with respect to given dictionary. Dictionary can be designed either
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 19
by selecting one from a prespecified set of linear transforms or adapting the
dictionary to a set of training signals. Aharon et al., [4] proposed an
algorithm for adapting dictionaries to achieve sparse representations. K-
SVD is an iterative algorithm that alternates between sparse coding based on
current dictionary and a process of updating the dictionary atoms to better fit
the data. The algorithm can also be accelerated by updating dictionaries
combined with the update of sparse representations. In sparse signal
representation, to overcome the representation problem Matching Pursuit
(MP) and Orthogonal Matching Pursuit algorithm is adopted to select the
dictionary atoms sequentially. In designing dictionary k- means clustering is
done. In clustering, a set of descriptive vectors is learned and each section is
represented by one of those vectors. Vector Quantization (VQ) coding
method called gain-shape VQ where coding coefficient is allowed to vary.
In k-means, at each iteration, two steps are involved.
1. Given {dk}, assign the training examples to their nearest neighbor.
2. Given the assignment, update {dk}.
At step one, it finds the coefficients given the dictionary that is called sparse
coding. Then the dictionary is updated assuming known and fixed co-
efficient. K-means is used to derive the K-SVD an effective sparse coding
and Gauss Seidel like accelerated dictionary update method. This algorithm
finds the best co-efficient matrix using pursuit method and the calculation of
co-efficient supplies the solution. This algorithm provides better results in
minimum number of iterations than other methods and used in various
applications such as filling in pixel missing, compression etc.
To reconstruct the degraded image, the sparse coding coefficients should be
as close as possible to those of those of the unknown original image with the
given dictionary. If only the local sparsity of the image is considered, the
sparse coding co-efficient are often not accurate. To make the sparse coding
more accurate, both the local and nonlocal sparsity constraint is considered.
In centralized sparse representation modelling [12], Sparse Coding Noise
(SCN) υα = αy – αx is added to the original image. The sparse coding of x is
based on y is given by equation 4 and 5,
 2
2 1
arg maxy y H

       (4)
 2
2 1
arg maxx x

       (5)
The original image is first blurred by a Gaussian blur kernel with standard
deviation 1.6 & Gaussian white noise of standard deviation √2 is added to
get a noisy and blurred image. Each patch is individually coded and
nonlocal similar patches to the given patch are clustered using PCA
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 20
dictionary. Iteratively PCA dictionary can be used to code the patches for
each cluster and dictionaries are updated along with the regularization
parameters. The centralized Sparse Representation model can be given by
the equation 6,
2
2 1
argmaxy i i i p
y i i
y H a
 
         
 
  (6)
Where γ is a constant and lp norm is used to measure the distance between αi
and βi.
Sparse representation model (SRM) based image deblurring approaches
shown promising deblurring results. SRM don’t utilize the spatial
correlations between the non-zero sparse coefficients, the SRM based
deblurring methods fail to recover the sharp edges. Weisheng Dong,
Guangming Shi, and Xin Li, [13] proposed structured sparse representation
model is employed to exploit the local and nonlocal spatial correlation
between sparse codes. Image deblurring algorithm uses patch based
structured SRM. In regularization based deblurring approach, the
construction of effective regularization is importance. Sparsity based
regularization can be solved by iterative shrinking algorithm. For high
dimensional data modeling the low rank approximation is used. Algorithms
used in structured based SRM are Patch based low rank approximation
structured sparse coding (LASSC), Principle Component Analysis (PCA)
and iterative threshold algorithm. The intrinsic connection between the
structured sparse coding and the low rank approximation has been exploited
to develop an efficient singular value thresholding algorithm for structured
sparse coding. In CSR model each patch is coded individually for the PCA
dictionary. Instead of coding each patch individually, simultaneous sparse
coding techniques code a set of patches simultaneously for the sparse code
alignment. Since patches share similar edge structures, over complete
dictionary is not needed, a compact dictionary PCA. In image blurring using
the patch based Structured Sparse Coding model, structured sparsity over
the grouped nonlocal similar patches can be enforced, patch clustering is
updated for iterations. An effective deblurring methods using the patch
based LASSC image deblurring produces the state-of-the-art image
deblurring results.
3. FILTERS AND RESULT
A mean filter acts on an image by smoothing it by reducing the intensity
variation between adjacent pixels. It is a simple sliding window spatial filter
that replaces unrepresentative of the neighbours. The mean or average filter
works on the shift-multiply-sum principle.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 21
An adaptive filter does a better job of de-noising images compared to the
averaging filter. The fundamental difference between the mean filter and the
adaptive filter lies in the fact that the weight matrix varies at iterations in the
adaptive filter while it remains constant throughout the iterations in the
mean filter. Adaptive filters are capable of de-noising non-stationary
images, that is, images that have abrupt changes in intensity. Such filters are
known for their ability in automatically tracking an unknown circumstance
or when a signal is variable with little a priori knowledge about the signal to
be processed. In general, an adaptive filter iteratively adjusts its parameters
during scanning the image to match the image generating mechanism. This
mechanism is more significant in practical images, which tend to be non-
stationary.
Compared to other adaptive filters, the Least Mean Square (LMS) adaptive
filter is known for its simplicity in computation and implementation. The
basic model is a linear combination of a stationary low-pass image and a
non-stationary high-pass component through a weighting function. Thus, the
function provides a compromise between resolution of genuine features and
suppression of noise. A median filter belongs to the class of nonlinear filters
that follows the moving window principle as same as mean filter. The
median of the pixel values in the window is computed, and the center pixel
of the window is replaced with the computed median. Median filtering is
done by, first sorting all the pixel values from the surrounding neighborhood
into numerical order and then replacing the pixel being considered with the
middle pixel value. The median value must be written to a separate array or
buffer so that the results are not corrupted as the process is performed.
The selection of the denoising technique is presentation dependent. So, it is
necessary to learn and compare de-noising techniques to select the technique
that is appropriate for the application in which we are interested. A
technique to calculate the signal to noise ratio in images has been proposed
which can be used with some approximation. This method adopts that the
discontinuities in an image are only due to noise. For this reason,
experiments are done on an image with very little deviation in intensity. The
following Table 1 shows the Signal-to-noise Ratio (SNR) values of the input
and output images for the filtering approach.
The following Figure 3.1 shows the result images from the Mean filter,
LMS Adaptive Filter and Median Filter when the Gaussian noise is added to
the original image.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 22
(a) (b)
(c) (d)
Fig 3.1: De-noising performance Comparison for the photograph image with
standard deviation of σ=0.05 when Gaussian Noise is added. (a) Original
Image with Noise, (b) Result image using Mean Filter approach, (c) Result
image using LMS Adaptive approach, (d) Result image using Median Filter.
Table 1: SNR Results with Gaussian Noise and Standard Deviation σ= 0.05
From the Table 1 it is shown that the median filter provides increased SNR
value of 22.79 than mean and adaptive filters. Median filter can be applied
for higher denoising performance in case of restoring the degraded original
image.
4. CONCLUSION
Image denoising and deblurring had been a major problem in the image
restoration methodologies. Different types of algorithms are studied for the
deblurring, denoising of degraded images and different type of filters are
also analyzed. Sparse representations have been found to provide the better
Method
SNR value of input
image
SNR value of an output
image
Mean Filter 13.39 21.24
LMS Adaptive
Filter
13.39 22..40
Median Filter 13.39 22.79
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 23
results of image restoration than other representations. Therefore based on
sparse representation, local and non-local methods can be used to restore the
degraded version of images effectively. Experimental result on filters shows
that median filter performs better than other types. By consolidating the
review and filter concepts, median and Gaussian filters can be applied for
sparse based representation of image denoising.
REFERENCES
[1] Jan Biemond, Reginald L. Lagendijk, and Russell M. Mersereau, “Iterative methods
for image deblurring”, Proceedings of the IEEE, Vol. 78, No. 5, pp. 856–883, May
1990.
[2] Leonid I. Rudin, Stanley Osher, and Emad Fatemi, “Nonlinear total variation based
noise removal algorithms”, Phys. D, Vol. 60, pp. 259–268, November 1992.
[3] David S. C. Biggs and Mark Andrews, “Acceleration of Iterative Image Restoration
Algorithms”, APPLIED OPTICS, Vol. 36, No. 8, pp. 1766-1775, 10 March 1997.
[4] Michal Aharon, Michael Elad, and Alfred Bruckstein, “K-SVD: An Algorithm for
Designing Over complete Dictionaries for Sparse Representation”, IEEE Trans. on
Signal Processing, Vol. 54, No. 11, November 2006.
[5] Michael Elad and Michal Aharon, “Image denoising via sparse and redundant
representations over learned dictionaries”, IEEE Trans. Image Process., Vol. 15, No.
12, pp. 3736–3745, Dec. 2006.
[6] Kostadin Dabov, Alessandro Foi, Vladimir Katkovnik, and Karen Egiazarian, “Image
denoising by sparse 3-d transform-domain collaborative filtering”, IEEE Trans. Image
Process., Vol. 16, No. 8, pp.2080–2095, Aug. 2007.
[7] Julien Mairal, Michael Elad, and Guillermo Sapiro, “Sparse learned representations for
image restoration”, In Proc. of the 4th World Conf. of the Int. Assoc. for Statistical
Computing (IASC), Yokohama, Japan 2008.
[8] Julien Mairal, Michael Elad, and Guillermo Sapiro, “Sparse representation for color
image restoration”, IEEE Trans. on Image Processing, Vol. 17, No. 1, pp. 53–69, Jan.
2008.
[9] Reginald L. Lagendijk and Jan Biemond, “Basic Methods for Image Restoration and
Identification”, In: A. C. Bovik, the Essential Guide to Image Processing, Academic
Press, United States of America, pp. 326 – 330, 2009.
[10] Priyam Chatterjee and Peyman Milanfar, “Clustering-based denoising with locally
learned dictionaries”, IEEE Trans.Image Processing, Vol. 18, No. 7, pp. 1438–1451,
July 2009.
[11] Shengyang Dai, Mei Han, Wei Xu, Ying Wu, Yihong Gong, and Aggelos K.
Katsaggelos, “Softcuts: a soft edge smoothness prior for color image super-resolution”,
IEEE Trans. Image Process., Vol. 18, No. 5, pp. 969– 981, May 2009.
[12] Weisheng Dong, Lei Zhang and Guangming Shi, “Centralized Sparse Representation
for Image Restoration”, in Proc. IEEE Int. Conf. on Computer Vision (ICCV), 2011.
[13] Weisheng Dong, Guangming Shi, and Xin Li, “Image Deblurring with Low-rank
Approximation Structured Sparse Representation”, Signal & Information Processing
Association Annual Summit and Conference (APSIPA ASC), Asia-Pacific 2012.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 24
[14] Sa'dah Y, Nijad Al-Najdawi and Tedmori S, “Exploiting Hybrid Methods for
Enhancing Digital X-Ray images”, The International Arab Journal of Information
Technology, Vol. 10, No. 1, January 2013.
This paper may be cited as:
Sakthivel, S. and Parameswari, M., 2014. A Survey on Sparse
Representation based Image Restoration. International Journal of Computer
Science and Business Informatics, Vol. 12, No. 1, pp. 11-24.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 25
Simultaneous Use of CPU and GPU to Real
Time Inverted Index Updating in Microblogs
Sajad Bolhasani
Department of CSE,
Lorestan Science and Research College,
Lorestan, Iran
Hasan Naderi
Assistant Professor
Department of CSE,
Iran University of Science and Technology,
Tehran, Iran
ABSTRACT
Nowadays, with attention to developing the different data networks, the wide masses of
data are producing and updating continually. Managing the great data enumerate the
fundamental challenges in data mining. One of the considered main subjects in this context
is how searching among the wide masses of data. Therefore, require to producing the
typical powerful, expansible and efficient file of documents and data for using in search
motors is necessary. In this study, with surveying the done prior works, implementing the
inverted index with the immediate updating capability from the dynamic and little data of
microblogs is targeted. With utilization from processing multicore facility, the approach of
the graphical processing unit (GPU) is presented that as expansible and without decreasing
the attention, the index file is prepared with suitable speed, as the mentioned file is usable
in inquiry unit. This method tries to feed the updating unit continually with separating the
operation for the system Central Processing Unit (CPU) and suitable utilization of parallel
processing capability of CUDA core. Also, in parallel to increasing the quality, one Hint
method is presented for employing the vacant cores and compactor function for decreasing
the index file mass. The results indicate that the presence of necessary hardware, the
presented method in identity to immediate updating slogan, have the upper speed for
making the inverted index of microblogs than to available samples.
Keywords
Inverted index, Microblog, GPU, Update.
1. INTRODUCTION
In data mining and contextual managing information inverted index is a
main key for each searching process by having this file search engines have
the ability to stream a search without any repeated attention to the content of
any documents. The structure of inverted index is generally upon the hash
table frame and consists of a word dictionary and some values. Creator of
inverted index in a process of searching skim the words in document,
analyze and stemming, after all adds them to the dictionary. In this Platform
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 26
each term is a specific key in dictionary of words. Any keyword in
dictionary refer to a list of ID these ID's refer to those documents that,
containing keywords. While a change applied on a document there is a
necessity to update the ID files. So this updating process has some costs.
The ultimate goal for each dynamic inverted index is reducing updating
speed and near to zero or real-time it [1, 2, 3]. And the way we introduce in
this article to reach that goal is dividing and paralleling of making inverted
index operation. By using the capability of multi core, multi thread GPU's
help us to near our goal [4]. Cuda cores have capability to operate
simultaneously multi tasks give us the opportunity to divides the
instructions for paralleling in little blocks. Microblogs introduce as data
entries for inverted index in this article. In conclusion with the approach
introduced above for making inverted index use any possibility from
microblog's documents recognized by crawler so files makes with possible
lower cost and use with real-time update.
2. BACKGROUND STUDY
Time in updating inverted index is an important characteristic of
measurement on search engines. Insert time in multi barrel hierarchy index
[5], consist of different index size that will finally contribute each other with
this functions.
(1) 𝐼1 𝑛 = 𝑂
1
log 𝑘
log 𝑛
𝑃𝑠 𝑛
𝑛
(2) 𝐼2 𝑛 = 𝑂
𝐾
log ⁡(𝑘)
log⁡(𝑛)
𝑃𝑠(𝑛)
𝑛
In function (1) 𝐼1 𝑛 is the average time for insert n new documents with
different sizes. 𝑃𝑠 𝑛 is also the time for making statistic inverted index with
the size of n. And also using
1
log 𝑘
log 𝑛 verses 𝑙𝑜𝑔𝑘 𝑛 to show how much
use of k has positive effect on ability of system. In function (1) with
increasing the value of k the average insert time will near to
𝑃𝑠(𝑛)
𝑛
that it will
be our ideal but it will increase search time. In function (2) by increasing k
search speed will improved.
2.1 Inverted Index
Search engines consist of three parts. Crawler that find web pages, indexer
that indexes inverted index and crawled web pages and a ranker that
answers query by using indexes. Dynamic documents are document that
change and update continually. Static inverted index [6] has a dictionary
structure. Dictionaries are making from split word in text and find their
stems by using algorithm called "porter stemmer" and prepare them for
indexing. The reason for saving stems is to reduce memory size and
indexing more documents in search result.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 27
All of information that gathered by search engine use as entry for inverted
index after process of save in barrel.
2.2 GPU structure and capability of paralleling non graphical tasks
The structure of graphic processor consists of many simple processing units
called thread. These units are only make for simple calculations like add or
subtract. By introducing CUDA form NVIDIA CO. the limitations of non-
graphical tasks has taken from graphic units.in a graphic card ,elements
have separated memory so designers know them as independent device or
even a computer. Regarding to this knowledge each computer has a
processor that works with a unique memory.in GPU a shared memory
specify to each block; also each stem has two specific memories. Local and
stable (fixed). Local memory use for global memory data or shared memory.
This memory is similar to computer’s hard drive that use as a kind of main
memory in a graphic unit. In this structure commands process in stems (set
of threads) simultaneously [8,9,10].
3. RELATED WORKS
In this way microblogs real time identification has discussed [11].
Microblogs update their contents many times. Main core of this structure
consist of inverted indexes with the value of𝐼1 = 𝐼0 ∗ 2.new microblogs
place in smallest index so these set of indexes gather in larger indexes. This
hierarchy makes passive updating. Results obtained in their studies
regarding to multi threads capabilities.
QiuyingBai [12] and coworkers apply a way for real time updating in
subject oriented search engines. They are designing an inverted index with
three parts, primary inverted index, additional inverted index and a list of
omitted files. This way of real time updating is useful for subject oriented
search engine.
In a different research [13] introduce a way in which by using a graphic
processor and multi core processing among web without any distribution
and only one computer system the operations of build and update of index
file will be done. one of the advantage for this way is that the graphic unit
DOCUMENT
TREC
Parse
DOCUMENT
objectsText
File
PostingListNode
Document
Inverted Index
SimpleStreamTokenizer
Stop Wordlist
Index Builder
Figure 1. Structure of index file [7]
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 28
will done all processing and in result enteral processing unit will be free to
different task so that is not faced to the problem of decreasing the capability
of system.
4. METHODOLOGY
In this study we present a shared method in which by using two different
processors the operation of both build and updating of inverted index will
done in real time. In this method we take incoming documents as preset
frame from microblogs, the reason for this task is innate characteristic of the
method plan, where data income to graphic processor and divided in smaller
units (block). The sizes of units are very restricted (small) in GPU. Each
block run through a thread from a CUDA and process a carrying command
or part of it .In this stream of processing structure, cores of CUDA will be
like warp and blocks are like woof and regarding to this advantage that each
block done its process task in a clock so incoming documents that take from
crawler are consider as small graphic unit blocks. First, documents depend
on adding to index or deleting take stickers of I or D and places in a lineup
(Q) on basic memory of system so inter to the central processing unit. From
now on, the cores of CPU divide in two sets: half splitters and half updaters.
Documents are inter to splitters and change to term and prepare to send
them to next step. After each task of splits, by time lapse documents in
separated sets are inter to graphic unit to continue the task in parallel. While
documents inter to GPU from microblogs and set into blocks .graphic unit
depends on number of both blocks and CUDA core will done the process
phase to phase .In each block from graphic processor unit, two different
tasks of operation for build a doc index will done. Build in Insertion index
barrel and build in deleted index barrel. The kind of operation is shown in
header of document.
Figure 2. Tasks of real time inverted index by sharing processors.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 29
In first part of GPU processing, inserted blocks both identify how many
times a word repeated in each document and the number of deleting blocks
and saves in global memory of graphic unit. Soon threshold processing done
and threshold inverted index makes. Hint is a notifiable function
(mechanism) designed for times the CPU cores do nothing (non-function).
This function identifies free times of each core and shares them temporarily
to each other so the amount power of processing for those very busy units
will increase.
In picture above the cores of main processor of system divided in two sets:
splitters (S) and updaters (U). that depends on how much busy an entrance
of a core ,the hint function will change real time those free cores to S or U to
facilitate busy points.
5. EVALUATION
Consider to ultimate goal of research that is both build inverted index and
real time updating of it so measurement range is already “time” for this
research. As you can see in below chart two tasks that are use graphic unit
or without graphic unit is presented. In both the portion of size with time
have direct relation. But execute time is decrease when we use the capability
of multi core CUDA graphic processor and it is guide us to reach real time
execution.
Figure 4. Evaluation algorithm by CPU and CPU&GPU.
HintArrayC[a]:
C
opy
Reset
HintArray[a]: S S S U U U
S S S U U U
S S U U U U
S U U U U U
S S S U U U
S S S S U U
… … … … … …
T0
T1
T2
T3
.
.
Tn
Figure 3. Change routine in GPU cores by using hint function.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 30
In this chart horizontal line is the number of documents and vertical line is
the time for building file. Two upper lines related to required time to build
index and send for CPU and two lower lines is required time for GPU and
CPU.
6. CONCLUSIONS
In this article there is an effort to use graphic units processing power and
also use of central processing unit simultaneously for build a real time
updating index system from microblogs contents. Also present a way to
strongly use of non-function cores. Finally presented the algorithm that has
the function to build inverted index from documents in microblogs and
updating them in real time.
The future for this research is an end to create a static structure and present a
unit called index managing to distribute streams of processing between
processor units.
7. ACKNOWLEDGMENTS
We would like to thank Muhammad Saleh Mousavi for their exceptionally
useful reviews.
REFERENCES
[1] P. Mudgil, A. K. Sharma, and P. Gupta, An Improved Indexing Mechanism to Index
Web Documents, Computational Intelligence and Communication Networks (CICN),
2013 5th International Conference on, 27-29 Sept. 2013, pp. 460 - 464.
[2] R.Konow, G.Navarro, and C. L. A. Clarke, Faster and Smaller Inverted Indices with
Treaps, artially funded by Fondecyt grant 1-110066 , by the Conicyt PhD Scholarship
Program, Chile and by the Emerging Leaders in the Americas Program, Government
of Canada ACM, 2013.
[3] S. Brin and L. Page, Reprint of: The anatomy of a large-scale hypertextual web search
engine, The International Journal of Computer and Telecommunications Networking,
2012, 3825-3833.
[4] Z. Wei and J. JaJa, A fast algorithm for constructing inverted files on heterogeneous
platforms, J. Parallel Distrib. Comput, 2012.
[5] N. Grimsmo, Dynamic indexes vs. static hierarchies for substring search, Trondheim,
2005.
[6] R. A. Baeza-Yates and B. Ribeiro-Neto, Modern Information Retrieval, Addison-
Wesley Longman Publishing Co, Inc., 1999.
[7] C. D. Manning, P. Raghavan, and H. Schütze, Introduction to Information Retrieval,
Book, ISBN:0521865719 9780521865715 , 2008.
[8] NVIDIA CUDA™, NVIDIA CUDA C Programming Guide, Book, www.nvidia.com,
2012
[9] W. Di, Z. Fan, A. Naiyong, W. Fang, L. Jing, and W. Gang, A Batched GPU
Algorithm for Set Intersection, Pervasive Systems, Algorithms, and Networks (ISPAN),
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 31
2009 10th International Symposium on, 978-1-4244-5403-7, 14-16 Dec. 2009, pp. 752
- 756.
[10]Z. Wei and J. JaJa, A fast algorithm for constructing inverted files on heterogeneous
platforms, J. Parallel Distrib. Comput. 2012.
[11]W. Lingkun, L. Wenqing, X. Xiaokui, and X. Yabo, LSII: An indexing structure for
exact real-time search on microblogs, in Data Engineering (ICDE), IEEE 29th
International Conference, 2013.
[12]Q. Bai, C. Ma, and X. Chen, A new index model based on inverted index, Software
Engineering and Service Science (ICSESS), 2012 IEEE 3rd International Conference
on, 978-1-4673-2007-8, 22-24 June 2012, pp. 157 - 160.
[13]N. N. Sophoclis, M. Abdeen, E. S. M. El-Horbaty, and M. Yagoub, A novel approach
for indexing Arabic documents through GPU computing, Electrical & Computer
Engineering (CCECE), 2012 25th IEEE Canadian Conference on, 978-1-4673-1431-2,
April 29 2012-May 2 2012, pp. 1- 4.
This paper may be cited as:
Bolhasani, S. and Naderi, H., 2014. Simultaneous Use of CPU and GPU to
Real Time Inverted Index Updating in Microblogs. International Journal of
Computer Science and Business Informatics, Vol. 12, No. 1, pp. 25-31.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 32
A Survey on Prioritization Methodologies
to Prioritize Non-Functional Requirements
Saranya. B.
Department of Computer Science and Engineering
Sri Krishna College of Technology, Coimbatore, Tamilnadu, India
Subha. R.
Department of Computer Science and Engineering
Sri Krishna College of Technology, Coimbatore, Tamilnadu, India
Dr. Palaniswami. S.
Principal, Government College of Engineering,
Bodinayakanur, India
ABSTRACT
Nonfunctional Requirements are as important as functional requirements. But they have
been often neglected, poorly understood and not considered adequately in software
development process. If the NFRs are not met properly, it will lead to the dissatisfaction of
customers. NFRs may be more critical than functional requirements as there can be mutual
dependencies among the NFR, which may affect the completion of the project. Hence it is
necessary to prioritize the NFRs effectively. But prioritizing such NFR is a challenging task
in Software development. Many techniques are used to prioritize the requirements in
various dimensions. It is important to choose the appropriate requirement prioritization
technique for a particular software development process. One can select the appropriate
techniques based on the various factors such as, the stakeholders involved, available
resources, and the product he develop and so on. The goal of this paper is to increase the
awareness about the importance of NFRs and to analyze the various techniques that are
used to prioritize the NFRs.
Keywords
Requirements Engineering, Non Functional Requirements, Prioritization of NFRs,
Prioritization techniques, Quality requirements, NFR algorithm
1. INTRODUCTION
Requirements Engineering (RE) is the subfield of Software engineering; it
involves formulating, documenting and maintaining of software
requirements [16]. Requirements are generally described as what the system
is required to do along with the environment, it is intended to operate in.
Requirements provide the description of the system, its behavior,
application domain information, system constraints, specifications and
attributes [7].
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 33
Requirements may be Functional or Nonfunctional.
 Functional requirements (FRs) describe system services or
function.
 Nonfunctional requirements (NFRs) are a constraint on the system
or on the development process.
The purpose of “identifying non-functional requirements” is to get a handle
on these absolutely necessary requirements that are normally not functional.
Some of these NFRs may conflict with each other. As like of the functional
requirements the NFRs a will also vary during the development process. So
it is essential to keep track to the NFRs throughout the development
process. NFRs are of three types Product requirements, Organisational
requirements, and External requirements [12].
 Product requirements: Requirements which specify that the
delivered product must behave in a particular way, e.g. execution
speed, reliability, etc.
 Organisational requirements: Requirements which are a
consequence of organizational policies and procedures, e.g. process
standards used implementation requirements, etc.
 External requirements: Requirements which arise from factors
which are external to the system and its development process, e.g.
interoperability requirements, legislative requirements, etc.
The software development market can be divided into two major types,
namely market-driven development and bespoken development. In market-
driven development the product is developed for an open market, whereas in
bespoken market the product will be developed for the particular customer
based on their wishes. In the bespoken development if there is only one
customer there will not be any problem. But in real time, many customers
and developers will be involved in the software development and everyone
has different views and opinions. In such situation requirement
prioritization plays a major role in software development.
Requirement Prioritization is done in order to determine which NFRs to be
implemented in a software product in the current release or in order to
understand the mandatory NFRs that should be implemented in the product
to obtain the satisfaction of the customers. During a project development,
decision makers in software development need to make many different
decisions regarding the release plan. Requirement prioritization plays a
major role in decision making. It helps the decision makers to decide when
to release a product, how to develop the project in time, how to reach
milestones, etc. It helps them to resolve issues and risks arise during the
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 34
software development. The main reason for prioritizing is that, all NFRs
cannot be implemented by the given time or with the given resources.
In this paper, we analyze the prioritization techniques. The paper is
structured as follows: After the introduction Sect. 2 provides a review of
related work, Sect 3 explains about requirement prioritization, Sect. 4 &
Sect. 5 describes the various techniques to prioritize the NFRs; Sect. 6
concludes the paper.
2. RELATED WORK
Quality requirements are defined during the early stages of development,
but they are not incorporated properly during software development. The
NFRs are prioritized for various reasons such as to determine whether the
particular requirement is mandatory or not, to eliminate the requirements
that are unnecessary to the software product and to schedule the
requirements for implementation [5]. When the requirements are properly
prioritized it provides the significant benefits such as improved customer
satisfaction, Lower risk of cancellation and it also helps to identify the
hidden requirements. It helps to estimate the benefits of the project and also
priorities of requirements can help to determine how to utilize the limited
project resources. The various factors involved in prioritizing requirements
are cost, risk, value, benefits, dependency constraints, effort business value
dimensions etc. [1].
In web development NFRs are not given importance as like the functional
requirements, they are not discussed properly in the early stages. But web
developers found that NFRs become an issue during the later stages of
development. As a result, it leads to frequent change in the system design.
So paying more attention to the NFRs increases the quality of the web
system and also reduces the development time. In many techniques while
prioritizing NFRs, mostly they are converted into Functional requirements.
For example, the security requirement is For example, the security
requirement is operationalized as login requirements for cost estimation [6].
So when NFRs are elicited properly, it also leads to the discovery of new
Functional requirements (FRs) [11].
Many challenges arise while prioritizing requirements. For example, some
stakeholders believe that all the requirements have high priority, even
though they accept theoretically that different requirements have different
priority they always try to push for having most requirements under high
priority. So we should make them to understand that the requirement is not
necessary for time being [5]. So when NFRs are elicited properly, it also
leads to the discovery of new Functional requirements (FRs) [11].
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 35
Many challenges arise while prioritizing requirements. For example, some
stakeholders believe that all the requirements have high priority, even
though they accept theoretically that different requirements have different
priority they always try to push for having most requirements under high
priority. So we should make them to understand that the requirement is not
necessary for time being [5]. The main difficulties in prioritizing quality
requirements are: First it is difficult to determine the cost and effort required
to implement NFRs in advance. Second for quality requirement values are
continuous, so it is tough to determine the right required value [3].
3. REQUIREMENT PRIORITIZATION
Requirement prioritization is an important activity in software development;
it helps to manage the relative importance of requirements and to manage
the software development when the resources are limited.[13]. All the
Stakeholders should collaborate to prioritize the requirements efficiently.
Requirement prioritization supports the following activities:
 To estimate expected customer satisfaction.
 To decide the core requirements.
 To schedule the implementation of requirements.
 To handle the dependency between the requirement.
 To establish the relative importance of each requirement.
Requirements can be prioritized under various dimensions. They are as
follows [1]:
Cost: It denotes the cost required to implement the requirement
successfully. Often the developers will prioritize the requirements in the
terms of money.
Value: Value is the importance of the each requirement when compared to
other requirements. The requirements with high importance are
implemented first. As every stakeholder has various views on a requirement,
it is difficult to determine the value of a requirement.
Risk: It denotes the risk arises while implementing a Requirement. The
requirements with the high risk should be implemented first else it would
extend the time of implementation.
Dependency Constraints: It denotes how two requirements are dependent
on one another.
 Precedence Constraints: This condition occurs when
implementation of one requirement requires the completion of any
other requirements.
 Coupling Constraints: It represents the requirements that can be
implemented in parallel.
Business Values: It represents the mission of an organization. Example of
Business values is Continuous Improvement, customer satisfaction etc.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 36
Effort: It is the effort required to implement the requirement during the
development process.
Resources: Resources refer to the budget, staff and schedule. It is the
crucial factor that is not considered in most prioritizing techniques.
Approach: Requirements prioritization involves two approaches.
 Absolute Assessment: Every requirement is assessed against each
criterion.
 Relative Assessment: With this approach, each every requirement is
compared with every other requirement.
As the requirements are analyzed in various perspectives, the requirement
prioritization also provides many other benefits. For example, it helps to
find the hidden requirements, defects in requirements. By implementing the
high priority requirements before lower priority requirements it is possible
to reduce the time and cost required for that project. The require
prioritization can be divided into sub process [5]:
Convince stakeholders: Convince the stakeholders and make them to
understand the requirements.
Train stakeholders: Train the stakeholders to participate in the
prioritization process,
Categorize raw potential requirements: Then the raw potential
requirements should be categorized into actual requirements, useful
capabilities and desirable capabilities.
Prioritize the actual requirements: Prioritize the identified requirements it
involves negotiating with stakeholders and validating the results. To
determine the priorities of requirements the prioritization process should be
done in incremental basis. For the effective prioritization, representatives
from all stakeholder groups should be involved in requirement team and it
should be led by a professional requirements engineer.
Publish the priorities: After prioritization the requirement team should
publish the results and let stakeholders know about it.
Estimate effort: After finding the priorities calculate the effort required to
implement the requirements.
Schedule development: Then schedule the development process according
to the priorities calculated. As requirements are allocated in incremental
basisthe requirements team,development team and the management team
should work together to allocate the requirements properly.
Maintain priorities. During the development process the requirements and
priorities may vary. So store the priorities in the repository and maintain it
when changes occur.Simply the requirement prioritization can be carried
down in three stages [14]. The preparation stage, in this stage the team and
the team leader will prepare the requirements according to the principles of
the prioritization techniques to be used. The second stage is an execution
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 37
stage where the decision makers actually prioritize the requirements. The
final stage is a presentation stage where the results of the prioritization are
presented. But while prioritizing the requirements numerous ricks and
challenges arises [5].
The major challenges in prioritization are:
 When requirements are large it is difficult to prioritize it efficiently.
 As different stakeholders have different views, finding the
mandatory requirement is difficult.
 When resources are limited then prioritization is very challenging.
 As the requirements may vary in later stages, it also leads to changes
in priorities.
 Some requirements may incompatible with another. So
implementing one requirement denies the implementation of other
requirements.
 The customer may misunderstand the prioritization process.
 The customer may try to pull all requirements in mandatory group.
4. PRIORITIZATION METHODOLOGIES
4.1 Numerical Assignment
Numerical assignment involves the process of grouping the requirements.
At first the requirements are divided into different groups, then they are
given to the stakeholders to enter the scale value from 1-5 for each
requirement based on the importance. Finally, the average value given by
all stakeholders are considered as the ranking for that requirement [9]. The
main disadvantage of this method is [1], as different users have different
opinions the information obtained is relative and it is difficult to determine
the absolute information. If the stakeholders prioritize the requirements,
they will pull 85% of the requirements into the high priority group.
4.2 Analytical Hierarchy Process (AHP)
AHP [1] is decision making technique which involves pairwise comparison.
With the help of multiple objectives or criteria AHP allows decision makers
to choose the best requirements from the several decision alternatives. AHP
involves three steps. They are
 Making pairwise comparison.
 Calculating the priorities of requirements and decision
making
 Checking consistency.
In this is technique each requirement is compared with every other
requirement to determine to what extent one requirement is more important
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 38
than other requirements. So for n requirements n. (N - 1) /2 pairwise
comparisons are required [9].
The fundamental scale used in AHP is given below [1]:
1 Of equal importance
2 Moderate difference in importance.
5 Essential differences in importance.
7 Major differences in importance.
9 Extreme differences in importance.
Reciprocals-If requirement I have one of the above numbers assigned to it
when compared with requirement j, then j has the reciprocal value when
compared with I.
The redundant pair-wise comparison makes this methodology very
trustworthy during decision making. But when the number of requirements
becomes large, it requires a large number of comparisons so the system will
become complex.
4.3 Value-Oriented Prioritization (VOP)
It involves two steps, first establishing the Framework. The first step is
identifying the business core values, and then the organizational executives
must provide the importance of those values to the organization. To assign
weights simple scale ranging from 0 (Not important) to 10 (Critical) is used.
VOP also supports weighting using business risk categories. Then Applying
the Framework that is by using the identified core values and risk weight
category‟s requirements are prioritized by constructing prioritization matrix.
VOP is the only technique which considers the business core values.In VOP
decision making is transparent to all the stakeholders involved, so it avoids
lengthy arguments about a particular requirement [8].
4.4 Cumulative Voting
Cumulative voting (CV) or 100 dollars method is a prioritization technique
where each stakeholder will be given 100 imaginary units. They can use
these units to vote for the requirement that they consider as important. One
can use all this 100 units for a single requirement or it can be equally
distributed to all requirements. In this way, units assigned to a requirement
represent the respondent‟s relative preference to a requirement in relation to
the other requirement. Because of this cumulative voting is also known as
“proportional voting”. The term “proportional” also reflects that if the
amount of units assigned to a requirement is divided by the constant number
of units available to each stakeholder, the result will be a proportion
between zero and one.
In CV only one chance will be given to a stakeholder because if more
chance is given they may use all their units on their favorite requirements to
make it as the highest priority one [15]. Some stakeholders will pull all their
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 39
units into a requirement that is not highly preferred by any others. So it will
lead to conflicts in the prioritization process.
4.5 Binary Search Tree
Binary search tree (BST) uses basic BST data structure concept. BST
algorithm stores the information and it can be retrieved when it is necessary.
The BST is the special case of binary tree in which each node has at most
two children. The child nodes to the right have greater value/importance
than the root node, and the child nodes to the left have less value/importance
than the root node. If the BST is traversed in order, the requirements will be
in sorted order [14]. For n requirements binary tree will consist of n
requirements and it requires n log n comparisons until all requirements are
inserted.
The three stages involve in the BST are as the preparation step requirements
are gathered in execution step the requirements are inserted one by one.
First insert the one requirement in the first node, while inserting the priority
then it is added as the right child. Finally, at the presentation stage traverse
the tree in order and prioritize the requirements.
5. PRIORITIZATION METHODOLOGIES PARTICULARLY
DEFINED FOR NFRS
With the above mentioned methodologies there are also many other
methodologies such as Top ten requirements, Ranking, Planning Game were
used to prioritize NFRs [8]. But all of these techniques were designed for
FRs and can be used for NFRs. So it does not give efficient results when we
use to prioritize NFRs. There are some methodologies that are particularly
defined to prioritize the NFRs. They are discussed below.
5.1 Prioritization Using Architecture Feedback
This architectural design starts with the initial Requirements Engineering
activities as the initial understanding of NFRs is required. The steps are
shown in Fig. 1
The steps involved in architectural feedback are:
 Identify the NFRs relevant to the software development.
 Specify the NFRs.
 Prioritize the NFRs based on the views of the stakeholders involved.
 Based on the initially prioritized NFRs design the initial architecture
and create the architecture model with quality annotations required
for evaluation.
 Evaluate software architecture and explore the design space using
the design space exploration tool such as Per- Opteryx.
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 40
Figure 1. Prioritization using architectural feedback
 Based on the design space explorations Analyze trade-offs (the
above 3 steps are done by software architects).
 Based on the results obtained, stakeholders discuss and negotiate on
the required quality levels and reprioritize the NFRs.
 The software architect updates the architecture accordingly.
 The architectural design is used to implement the system and it
should be updated continuously.
 If any changes in NFRs then above steps should be repeated.
This process helps the stakeholders and architects to understand the NFRs
effectively. But this method is applicable only to the quantitatively
evaluated quality properties.
5.2 Prioritizing By Goal-Decomposition
This approach uses goal decomposition method to prioritize NFRs. In this
method nonoperation specifications are translated in to operation
definitions. After the system is developed the operation definitions are
evaluated [4]. Initially requirements are prioritized while eliciting. Here the
stakeholders will group the requirements which they think as critical and
they are implemented first. But developers do not have any influence in this
step. The second step is executed during the requirement negotiation
meeting. In this step the requirement conflicts are analyzed in the presence
of all stakeholders. To support this step link pairs of requirements is used
with the right sign that indicates their positive (+), negative (-) or neutral
(“”) interaction.
The rules for assigning the link pairs are
 The value “-” is assigned to a pair of NFRs when one NFR in the
pair has a negative effect on the other at the same functionality.
Feedback
Identify Relevant
Quality Attributes
Specify Quality
Requirements
Prioritize Quality
Requirements
Requirements
Engineering
Activities
Design Software
Architecture
Evaluate Software
Architecture
and Explore Design Space
Analyze Trade-offs
and Dependencies
Software
Architecture
Evaluation
Activities Further
Development
process
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 41
 The value “+” is assigned to a pair of NFRs where one NFR in the
pair has a positive effect on the other.
 The value “” is assigned to a pair of NFRs in the set of NFRs that do
not interact.
 The value “?” is assigned to a pair of NFRs when the influence is
unknown.
 The conflicts in among the NFRs can be resolved using the scale
values, for example very important, important, average and don‟t
cares can be used.
 Then identify the stakeholder goals that are important to the success
of the system. In this the hard goals will be given higher priority
than the soft goals. Apply Goal Question Metrics to the NFRs and
prioritize them.
5.3 NFR Algorithm
The NFR algorithm is based on the mutual dependencies among the NFRs
and the preferences of the stakeholders. The priority of NFRs is determined
by using the respondents of the project and the business organization are
involved [9].It uses a simple heuristic to prioritize the NFRs. The steps
involved in NFR algorithm are followed:
 Business organization representatives identify the NFRs that are
concerned with the particular project.
 Based upon the NFRs Business process Hierarchy is created. This
scenario defines the final product that should be delivered to the
customer.
 The identified NFRs are given to stakeholders to provide ratings
between 0-9 based various Business Value Dimensions (value,
penalty, cost, risk).
Figure 2. NFR Algorithm
Assessing
Relative
importance
Adjustment of
NFR scores
Heuristics for
prioritization
Constructionof
business process
hierarchy
Providing
ratings
Identification
of NFRs
Net % change Association Matrix
preferences
preferences
Stake holder
preerences
preferences
preferences
Requirement
Document
pref
erences
pref
Prioritized
NFRS
NFRs
pre
ferences
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 42
 The ratings are then combined to calculate the relative importance of
the NFRs
 The relative priority is calculated using the formula
𝑅𝑒𝑙𝑎𝑡𝑖𝑣𝑒 𝑖𝑚𝑝𝑜𝑟𝑡𝑎𝑛𝑐𝑒𝑖 =
𝑉𝑎𝑙𝑢𝑒 +𝑃𝑒𝑛𝑎𝑙𝑡𝑦 %
(𝐶𝑜𝑠𝑡%+𝑅𝑖𝑠𝑘%)
(1)
Where
𝑉𝑎𝑙𝑢𝑒 + 𝑃𝑒𝑛𝑎𝑙𝑡𝑦 % =
𝑉𝑎𝑙𝑢𝑒 𝑖 + 𝑃𝑒𝑛𝑎𝑙𝑡𝑦 𝑖
𝑉𝑎𝑙𝑢𝑒 𝑖𝑁 + 𝑃𝑒𝑛𝑎𝑙𝑡𝑦 𝑖𝑁
∗ 100
(2)
𝐶𝑜𝑠𝑡 % =
𝐶𝑜𝑠𝑡 𝑖
𝐶𝑜𝑠𝑡 𝑖𝑁
∗ 100
(3)
𝑅𝑖𝑠𝑘 % =
𝑅𝑖𝑠𝑘 𝑖
𝑅𝑖𝑠𝑘 𝑖𝑁
∗ 100
(4)
i = ith NFR considered for implementation.
 Identify the association among the NFRs. The association between
the NFRs may be positive, negative or neutral. The association can
be expressed clearly in the form of association matrix.
 So construct NFR association matrix to the scenario.
Figure 3.Association matrix
X1 +m2 +m6
X2 +m3
X3 -m4 -m7
X4 -m1
Net % change NC1 NC2 NC3 NC4
X1 X2 X3 X4
International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 43
 Indicators mi‟s in the table shows that if the sign is + then there is a
positive association between the NFRs and if the sign is - then there
is a negative association between the NFRs.
 „Net % Change‟ row indicates the aggregate percentage
improvement or degradation of capability identified by NFRs.
 Adjusted importance is calculated using the formula:
Adjusted
Importance i= Relative Importance i * (1+ Net % Change i/100)
(5)
Where
i = ith NFR considered for implementation.
 The NFRs are dropped by using the following heuristics.
 Calculate the mean of the Adjusted Importance value of all the
NFRs.
 Drop the NFRs with the negative adjusted importance and whose
value is less than the mean value of adjusted importance.
6. CONCLUSION
In the competitive Business environment, the quality of a product plays a
very crucial role in its success. So we have to prioritize the NFRs
efficiently. In the above techniques we found that the NFR algorithm is a
most suitable methodology to prioritize the NFRs. It is because the
algorithm is particularly designed for NFR prioritization. As the business
process hierarchy is created it can able to identify all the NFRs easily, it
prioritizes the NFRs in various dimensions and from various stakeholder
views. The heuristics involved is very simple to calculate and it also
considers the mutual dependencies among the NFR. So NFR algorithm can
prioritize the NFRs efficiently and in the cost effective manner.
REFERENCES
[1]. Aaqib Iqbal, Farhan, M. Khan, Shahbaz, A. Khan, 2009. A Critical Analysis of
Techniques for Requirement Prioritization and Open Research Issues. International Journal
of Reviews in Computing. Vol. 1.
[2]. Anne Koziolek, 2012. Research Preview: Prioritizing Quality Requirements Based On
Software Architecture Evaluation Feedback. REFSQ 2012. pp. 52-58.
[3]. Berntsson Svensson, R., Gorschek, T., Regnell, B., Torkar, R., Shahrokni, A., Feldt, R.,
and Aurum, A. 2011. Prioritization of quality requirements state of practice in eleven
companies. RE'11 IEEE. pp. 69.
[4]. Daneva1, M., Kassab, M., Ponisio, M.L., Wieringa, R. J., Ormandjieva, O., 2007.
Exploiting A Goal-Decomposition Technique to Prioritize Non-Functional Requirements.
Proceedings of the 10th Workshop on Requirements Engineering WER.
[5]. Donald Firesmith, 2004 “Prioritizing Requirements”, Journal of Object Technology,
Vol 3, No 8.
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014
Vol 12 No 1 - April 2014

More Related Content

What's hot

Latent semantic analysis and cosine similarity for hadith search engine
Latent semantic analysis and cosine similarity for hadith search engineLatent semantic analysis and cosine similarity for hadith search engine
Latent semantic analysis and cosine similarity for hadith search engineTELKOMNIKA JOURNAL
 
IRJET-Model for semantic processing in information retrieval systems
IRJET-Model for semantic processing in information retrieval systemsIRJET-Model for semantic processing in information retrieval systems
IRJET-Model for semantic processing in information retrieval systemsIRJET Journal
 
Application of fuzzy logic for user
Application of fuzzy logic for userApplication of fuzzy logic for user
Application of fuzzy logic for userIJCI JOURNAL
 
An Effective Approach for Document Crawling With Usage Pattern and Image Base...
An Effective Approach for Document Crawling With Usage Pattern and Image Base...An Effective Approach for Document Crawling With Usage Pattern and Image Base...
An Effective Approach for Document Crawling With Usage Pattern and Image Base...Editor IJCATR
 
Enhanced Web Usage Mining Using Fuzzy Clustering and Collaborative Filtering ...
Enhanced Web Usage Mining Using Fuzzy Clustering and Collaborative Filtering ...Enhanced Web Usage Mining Using Fuzzy Clustering and Collaborative Filtering ...
Enhanced Web Usage Mining Using Fuzzy Clustering and Collaborative Filtering ...inventionjournals
 
Context Driven Technique for Document Classification
Context Driven Technique for Document ClassificationContext Driven Technique for Document Classification
Context Driven Technique for Document ClassificationIDES Editor
 
IJRET : International Journal of Research in Engineering and TechnologyImprov...
IJRET : International Journal of Research in Engineering and TechnologyImprov...IJRET : International Journal of Research in Engineering and TechnologyImprov...
IJRET : International Journal of Research in Engineering and TechnologyImprov...eSAT Publishing House
 
Summary of Paper : Taxonomy of websearch by Broder
Summary of Paper : Taxonomy of websearch by BroderSummary of Paper : Taxonomy of websearch by Broder
Summary of Paper : Taxonomy of websearch by BroderBhavesh Singh
 
TWO WAY CHAINED PACKETS MARKING TECHNIQUE FOR SECURE COMMUNICATION IN WIRELES...
TWO WAY CHAINED PACKETS MARKING TECHNIQUE FOR SECURE COMMUNICATION IN WIRELES...TWO WAY CHAINED PACKETS MARKING TECHNIQUE FOR SECURE COMMUNICATION IN WIRELES...
TWO WAY CHAINED PACKETS MARKING TECHNIQUE FOR SECURE COMMUNICATION IN WIRELES...pharmaindexing
 
Efficient way of user search location in query processing
Efficient way of user search location in query processingEfficient way of user search location in query processing
Efficient way of user search location in query processingeSAT Publishing House
 
QUERY SENSITIVE COMPARATIVE SUMMARIZATION OF SEARCH RESULTS USING CONCEPT BAS...
QUERY SENSITIVE COMPARATIVE SUMMARIZATION OF SEARCH RESULTS USING CONCEPT BAS...QUERY SENSITIVE COMPARATIVE SUMMARIZATION OF SEARCH RESULTS USING CONCEPT BAS...
QUERY SENSITIVE COMPARATIVE SUMMARIZATION OF SEARCH RESULTS USING CONCEPT BAS...cseij
 
Integrated expert recommendation model for online communitiesst02
Integrated expert recommendation model for online communitiesst02Integrated expert recommendation model for online communitiesst02
Integrated expert recommendation model for online communitiesst02IJwest
 
Cluster Based Web Search Using Support Vector Machine
Cluster Based Web Search Using Support Vector MachineCluster Based Web Search Using Support Vector Machine
Cluster Based Web Search Using Support Vector MachineCSCJournals
 
Using content features to enhance the
Using content features to enhance theUsing content features to enhance the
Using content features to enhance theijaia
 
LINKING SOFTWARE DEVELOPMENT PHASE AND PRODUCT ATTRIBUTES WITH USER EVALUATIO...
LINKING SOFTWARE DEVELOPMENT PHASE AND PRODUCT ATTRIBUTES WITH USER EVALUATIO...LINKING SOFTWARE DEVELOPMENT PHASE AND PRODUCT ATTRIBUTES WITH USER EVALUATIO...
LINKING SOFTWARE DEVELOPMENT PHASE AND PRODUCT ATTRIBUTES WITH USER EVALUATIO...csandit
 
Annotation Approach for Document with Recommendation
Annotation Approach for Document with Recommendation Annotation Approach for Document with Recommendation
Annotation Approach for Document with Recommendation ijmpict
 
Query- And User-Dependent Approach for Ranking Query Results in Web Databases
Query- And User-Dependent Approach for Ranking Query  Results in Web DatabasesQuery- And User-Dependent Approach for Ranking Query  Results in Web Databases
Query- And User-Dependent Approach for Ranking Query Results in Web DatabasesIOSR Journals
 
A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...
A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...
A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...ijcsa
 
Personalized web search using browsing history and domain knowledge
Personalized web search using browsing history and domain knowledgePersonalized web search using browsing history and domain knowledge
Personalized web search using browsing history and domain knowledgeRishikesh Pathak
 

What's hot (20)

Latent semantic analysis and cosine similarity for hadith search engine
Latent semantic analysis and cosine similarity for hadith search engineLatent semantic analysis and cosine similarity for hadith search engine
Latent semantic analysis and cosine similarity for hadith search engine
 
IRJET-Model for semantic processing in information retrieval systems
IRJET-Model for semantic processing in information retrieval systemsIRJET-Model for semantic processing in information retrieval systems
IRJET-Model for semantic processing in information retrieval systems
 
Application of fuzzy logic for user
Application of fuzzy logic for userApplication of fuzzy logic for user
Application of fuzzy logic for user
 
An Effective Approach for Document Crawling With Usage Pattern and Image Base...
An Effective Approach for Document Crawling With Usage Pattern and Image Base...An Effective Approach for Document Crawling With Usage Pattern and Image Base...
An Effective Approach for Document Crawling With Usage Pattern and Image Base...
 
Enhanced Web Usage Mining Using Fuzzy Clustering and Collaborative Filtering ...
Enhanced Web Usage Mining Using Fuzzy Clustering and Collaborative Filtering ...Enhanced Web Usage Mining Using Fuzzy Clustering and Collaborative Filtering ...
Enhanced Web Usage Mining Using Fuzzy Clustering and Collaborative Filtering ...
 
Context Driven Technique for Document Classification
Context Driven Technique for Document ClassificationContext Driven Technique for Document Classification
Context Driven Technique for Document Classification
 
IJRET : International Journal of Research in Engineering and TechnologyImprov...
IJRET : International Journal of Research in Engineering and TechnologyImprov...IJRET : International Journal of Research in Engineering and TechnologyImprov...
IJRET : International Journal of Research in Engineering and TechnologyImprov...
 
Summary of Paper : Taxonomy of websearch by Broder
Summary of Paper : Taxonomy of websearch by BroderSummary of Paper : Taxonomy of websearch by Broder
Summary of Paper : Taxonomy of websearch by Broder
 
TWO WAY CHAINED PACKETS MARKING TECHNIQUE FOR SECURE COMMUNICATION IN WIRELES...
TWO WAY CHAINED PACKETS MARKING TECHNIQUE FOR SECURE COMMUNICATION IN WIRELES...TWO WAY CHAINED PACKETS MARKING TECHNIQUE FOR SECURE COMMUNICATION IN WIRELES...
TWO WAY CHAINED PACKETS MARKING TECHNIQUE FOR SECURE COMMUNICATION IN WIRELES...
 
Efficient way of user search location in query processing
Efficient way of user search location in query processingEfficient way of user search location in query processing
Efficient way of user search location in query processing
 
QUERY SENSITIVE COMPARATIVE SUMMARIZATION OF SEARCH RESULTS USING CONCEPT BAS...
QUERY SENSITIVE COMPARATIVE SUMMARIZATION OF SEARCH RESULTS USING CONCEPT BAS...QUERY SENSITIVE COMPARATIVE SUMMARIZATION OF SEARCH RESULTS USING CONCEPT BAS...
QUERY SENSITIVE COMPARATIVE SUMMARIZATION OF SEARCH RESULTS USING CONCEPT BAS...
 
50120140502013
5012014050201350120140502013
50120140502013
 
Integrated expert recommendation model for online communitiesst02
Integrated expert recommendation model for online communitiesst02Integrated expert recommendation model for online communitiesst02
Integrated expert recommendation model for online communitiesst02
 
Cluster Based Web Search Using Support Vector Machine
Cluster Based Web Search Using Support Vector MachineCluster Based Web Search Using Support Vector Machine
Cluster Based Web Search Using Support Vector Machine
 
Using content features to enhance the
Using content features to enhance theUsing content features to enhance the
Using content features to enhance the
 
LINKING SOFTWARE DEVELOPMENT PHASE AND PRODUCT ATTRIBUTES WITH USER EVALUATIO...
LINKING SOFTWARE DEVELOPMENT PHASE AND PRODUCT ATTRIBUTES WITH USER EVALUATIO...LINKING SOFTWARE DEVELOPMENT PHASE AND PRODUCT ATTRIBUTES WITH USER EVALUATIO...
LINKING SOFTWARE DEVELOPMENT PHASE AND PRODUCT ATTRIBUTES WITH USER EVALUATIO...
 
Annotation Approach for Document with Recommendation
Annotation Approach for Document with Recommendation Annotation Approach for Document with Recommendation
Annotation Approach for Document with Recommendation
 
Query- And User-Dependent Approach for Ranking Query Results in Web Databases
Query- And User-Dependent Approach for Ranking Query  Results in Web DatabasesQuery- And User-Dependent Approach for Ranking Query  Results in Web Databases
Query- And User-Dependent Approach for Ranking Query Results in Web Databases
 
A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...
A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...
A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...
 
Personalized web search using browsing history and domain knowledge
Personalized web search using browsing history and domain knowledgePersonalized web search using browsing history and domain knowledge
Personalized web search using browsing history and domain knowledge
 

Similar to Vol 12 No 1 - April 2014

Determining Relevance Rankings with Search Click Logs
Determining Relevance Rankings with Search Click LogsDetermining Relevance Rankings with Search Click Logs
Determining Relevance Rankings with Search Click LogsInderjeet Singh
 
IRJET- Text-based Domain and Image Categorization of Google Search Engine usi...
IRJET- Text-based Domain and Image Categorization of Google Search Engine usi...IRJET- Text-based Domain and Image Categorization of Google Search Engine usi...
IRJET- Text-based Domain and Image Categorization of Google Search Engine usi...IRJET Journal
 
IRJET- Review on Different Recommendation Techniques for GRS in Online Social...
IRJET- Review on Different Recommendation Techniques for GRS in Online Social...IRJET- Review on Different Recommendation Techniques for GRS in Online Social...
IRJET- Review on Different Recommendation Techniques for GRS in Online Social...IRJET Journal
 
Tourism Based Hybrid Recommendation System
Tourism Based Hybrid Recommendation SystemTourism Based Hybrid Recommendation System
Tourism Based Hybrid Recommendation SystemIRJET Journal
 
Vol 7 No 1 - November 2013
Vol 7 No 1 - November 2013Vol 7 No 1 - November 2013
Vol 7 No 1 - November 2013ijcsbi
 
IDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMS
IDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMSIDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMS
IDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMSZac Darcy
 
IDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMS
IDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMSIDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMS
IDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMSIJwest
 
Identifying Important Features of Users to Improve Page Ranking Algorithms
Identifying Important Features of Users to Improve Page Ranking Algorithms Identifying Important Features of Users to Improve Page Ranking Algorithms
Identifying Important Features of Users to Improve Page Ranking Algorithms dannyijwest
 
Personalization of the Web Search
Personalization of the Web SearchPersonalization of the Web Search
Personalization of the Web SearchIJMER
 
PageRank algorithm and its variations: A Survey report
PageRank algorithm and its variations: A Survey reportPageRank algorithm and its variations: A Survey report
PageRank algorithm and its variations: A Survey reportIOSR Journals
 
Research Report on Document Indexing-Nithish Kumar
Research Report on Document Indexing-Nithish KumarResearch Report on Document Indexing-Nithish Kumar
Research Report on Document Indexing-Nithish KumarNithish Kumar
 
Research report nithish
Research report nithishResearch report nithish
Research report nithishNithish Kumar
 
Personalization of the Web Search
Personalization of the Web SearchPersonalization of the Web Search
Personalization of the Web SearchIJMER
 
A detail survey of page re ranking various web features and techniques
A detail survey of page re ranking various web features and techniquesA detail survey of page re ranking various web features and techniques
A detail survey of page re ranking various web features and techniquesijctet
 
IRJET-Computational model for the processing of documents and support to the ...
IRJET-Computational model for the processing of documents and support to the ...IRJET-Computational model for the processing of documents and support to the ...
IRJET-Computational model for the processing of documents and support to the ...IRJET Journal
 

Similar to Vol 12 No 1 - April 2014 (20)

Determining Relevance Rankings with Search Click Logs
Determining Relevance Rankings with Search Click LogsDetermining Relevance Rankings with Search Click Logs
Determining Relevance Rankings with Search Click Logs
 
IRJET- Text-based Domain and Image Categorization of Google Search Engine usi...
IRJET- Text-based Domain and Image Categorization of Google Search Engine usi...IRJET- Text-based Domain and Image Categorization of Google Search Engine usi...
IRJET- Text-based Domain and Image Categorization of Google Search Engine usi...
 
K1803057782
K1803057782K1803057782
K1803057782
 
IRJET- Review on Different Recommendation Techniques for GRS in Online Social...
IRJET- Review on Different Recommendation Techniques for GRS in Online Social...IRJET- Review on Different Recommendation Techniques for GRS in Online Social...
IRJET- Review on Different Recommendation Techniques for GRS in Online Social...
 
Tourism Based Hybrid Recommendation System
Tourism Based Hybrid Recommendation SystemTourism Based Hybrid Recommendation System
Tourism Based Hybrid Recommendation System
 
50120140502013
5012014050201350120140502013
50120140502013
 
Vol 7 No 1 - November 2013
Vol 7 No 1 - November 2013Vol 7 No 1 - November 2013
Vol 7 No 1 - November 2013
 
2.pdf
2.pdf2.pdf
2.pdf
 
IDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMS
IDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMSIDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMS
IDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMS
 
IDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMS
IDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMSIDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMS
IDENTIFYING IMPORTANT FEATURES OF USERS TO IMPROVE PAGE RANKING ALGORITHMS
 
Identifying Important Features of Users to Improve Page Ranking Algorithms
Identifying Important Features of Users to Improve Page Ranking Algorithms Identifying Important Features of Users to Improve Page Ranking Algorithms
Identifying Important Features of Users to Improve Page Ranking Algorithms
 
Personalization of the Web Search
Personalization of the Web SearchPersonalization of the Web Search
Personalization of the Web Search
 
PageRank algorithm and its variations: A Survey report
PageRank algorithm and its variations: A Survey reportPageRank algorithm and its variations: A Survey report
PageRank algorithm and its variations: A Survey report
 
Research Report on Document Indexing-Nithish Kumar
Research Report on Document Indexing-Nithish KumarResearch Report on Document Indexing-Nithish Kumar
Research Report on Document Indexing-Nithish Kumar
 
Research report nithish
Research report nithishResearch report nithish
Research report nithish
 
Personalization of the Web Search
Personalization of the Web SearchPersonalization of the Web Search
Personalization of the Web Search
 
AN EFFECTIVE FRAMEWORK FOR GENERATING RECOMMENDATIONS
AN EFFECTIVE FRAMEWORK FOR GENERATING RECOMMENDATIONSAN EFFECTIVE FRAMEWORK FOR GENERATING RECOMMENDATIONS
AN EFFECTIVE FRAMEWORK FOR GENERATING RECOMMENDATIONS
 
Rutuja SEO.pdf
Rutuja SEO.pdfRutuja SEO.pdf
Rutuja SEO.pdf
 
A detail survey of page re ranking various web features and techniques
A detail survey of page re ranking various web features and techniquesA detail survey of page re ranking various web features and techniques
A detail survey of page re ranking various web features and techniques
 
IRJET-Computational model for the processing of documents and support to the ...
IRJET-Computational model for the processing of documents and support to the ...IRJET-Computational model for the processing of documents and support to the ...
IRJET-Computational model for the processing of documents and support to the ...
 

More from ijcsbi

Vol 17 No 2 - July-December 2017
Vol 17 No 2 - July-December 2017Vol 17 No 2 - July-December 2017
Vol 17 No 2 - July-December 2017ijcsbi
 
Vol 17 No 1 - January June 2017
Vol 17 No 1 - January June 2017Vol 17 No 1 - January June 2017
Vol 17 No 1 - January June 2017ijcsbi
 
Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016ijcsbi
 
Vol 16 No 1 - January-June 2016
Vol 16 No 1 - January-June 2016Vol 16 No 1 - January-June 2016
Vol 16 No 1 - January-June 2016ijcsbi
 
Vol 15 No 6 - November 2015
Vol 15 No 6 - November 2015Vol 15 No 6 - November 2015
Vol 15 No 6 - November 2015ijcsbi
 
Vol 15 No 5 - September 2015
Vol 15 No 5 - September 2015Vol 15 No 5 - September 2015
Vol 15 No 5 - September 2015ijcsbi
 
Vol 15 No 4 - July 2015
Vol 15 No 4 - July 2015Vol 15 No 4 - July 2015
Vol 15 No 4 - July 2015ijcsbi
 
Vol 15 No 3 - May 2015
Vol 15 No 3 - May 2015Vol 15 No 3 - May 2015
Vol 15 No 3 - May 2015ijcsbi
 
Vol 15 No 2 - March 2015
Vol 15 No 2 - March 2015Vol 15 No 2 - March 2015
Vol 15 No 2 - March 2015ijcsbi
 
Vol 15 No 1 - January 2015
Vol 15 No 1 - January 2015Vol 15 No 1 - January 2015
Vol 15 No 1 - January 2015ijcsbi
 
Vol 14 No 3 - November 2014
Vol 14 No 3 - November 2014Vol 14 No 3 - November 2014
Vol 14 No 3 - November 2014ijcsbi
 
Vol 14 No 2 - September 2014
Vol 14 No 2 - September 2014Vol 14 No 2 - September 2014
Vol 14 No 2 - September 2014ijcsbi
 
Vol 14 No 1 - July 2014
Vol 14 No 1 - July 2014Vol 14 No 1 - July 2014
Vol 14 No 1 - July 2014ijcsbi
 
Vol 13 No 1 - May 2014
Vol 13 No 1 - May 2014Vol 13 No 1 - May 2014
Vol 13 No 1 - May 2014ijcsbi
 
Vol 11 No 1 - March 2014
Vol 11 No 1 - March 2014Vol 11 No 1 - March 2014
Vol 11 No 1 - March 2014ijcsbi
 
Vol 10 No 1 - February 2014
Vol 10 No 1 - February 2014Vol 10 No 1 - February 2014
Vol 10 No 1 - February 2014ijcsbi
 
Vol 9 No 1 - January 2014
Vol 9 No 1 - January 2014Vol 9 No 1 - January 2014
Vol 9 No 1 - January 2014ijcsbi
 
Vol 8 No 1 - December 2013
Vol 8 No 1 - December 2013Vol 8 No 1 - December 2013
Vol 8 No 1 - December 2013ijcsbi
 
Vol 6 No 1 - October 2013
Vol 6 No 1 - October 2013Vol 6 No 1 - October 2013
Vol 6 No 1 - October 2013ijcsbi
 
Vol 5 No 1 - September 2013
Vol 5 No 1 - September 2013Vol 5 No 1 - September 2013
Vol 5 No 1 - September 2013ijcsbi
 

More from ijcsbi (20)

Vol 17 No 2 - July-December 2017
Vol 17 No 2 - July-December 2017Vol 17 No 2 - July-December 2017
Vol 17 No 2 - July-December 2017
 
Vol 17 No 1 - January June 2017
Vol 17 No 1 - January June 2017Vol 17 No 1 - January June 2017
Vol 17 No 1 - January June 2017
 
Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016
 
Vol 16 No 1 - January-June 2016
Vol 16 No 1 - January-June 2016Vol 16 No 1 - January-June 2016
Vol 16 No 1 - January-June 2016
 
Vol 15 No 6 - November 2015
Vol 15 No 6 - November 2015Vol 15 No 6 - November 2015
Vol 15 No 6 - November 2015
 
Vol 15 No 5 - September 2015
Vol 15 No 5 - September 2015Vol 15 No 5 - September 2015
Vol 15 No 5 - September 2015
 
Vol 15 No 4 - July 2015
Vol 15 No 4 - July 2015Vol 15 No 4 - July 2015
Vol 15 No 4 - July 2015
 
Vol 15 No 3 - May 2015
Vol 15 No 3 - May 2015Vol 15 No 3 - May 2015
Vol 15 No 3 - May 2015
 
Vol 15 No 2 - March 2015
Vol 15 No 2 - March 2015Vol 15 No 2 - March 2015
Vol 15 No 2 - March 2015
 
Vol 15 No 1 - January 2015
Vol 15 No 1 - January 2015Vol 15 No 1 - January 2015
Vol 15 No 1 - January 2015
 
Vol 14 No 3 - November 2014
Vol 14 No 3 - November 2014Vol 14 No 3 - November 2014
Vol 14 No 3 - November 2014
 
Vol 14 No 2 - September 2014
Vol 14 No 2 - September 2014Vol 14 No 2 - September 2014
Vol 14 No 2 - September 2014
 
Vol 14 No 1 - July 2014
Vol 14 No 1 - July 2014Vol 14 No 1 - July 2014
Vol 14 No 1 - July 2014
 
Vol 13 No 1 - May 2014
Vol 13 No 1 - May 2014Vol 13 No 1 - May 2014
Vol 13 No 1 - May 2014
 
Vol 11 No 1 - March 2014
Vol 11 No 1 - March 2014Vol 11 No 1 - March 2014
Vol 11 No 1 - March 2014
 
Vol 10 No 1 - February 2014
Vol 10 No 1 - February 2014Vol 10 No 1 - February 2014
Vol 10 No 1 - February 2014
 
Vol 9 No 1 - January 2014
Vol 9 No 1 - January 2014Vol 9 No 1 - January 2014
Vol 9 No 1 - January 2014
 
Vol 8 No 1 - December 2013
Vol 8 No 1 - December 2013Vol 8 No 1 - December 2013
Vol 8 No 1 - December 2013
 
Vol 6 No 1 - October 2013
Vol 6 No 1 - October 2013Vol 6 No 1 - October 2013
Vol 6 No 1 - October 2013
 
Vol 5 No 1 - September 2013
Vol 5 No 1 - September 2013Vol 5 No 1 - September 2013
Vol 5 No 1 - September 2013
 

Recently uploaded

Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Blooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxBlooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxUnboundStockton
 
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxAnaBeatriceAblay2
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 

Recently uploaded (20)

Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Blooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxBlooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docx
 
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 

Vol 12 No 1 - April 2014

  • 1. ISSN: 1694-2507 (Print) ISSN: 1694-2108 (Online) International Journal of Computer Science and Business Informatics (IJCSBI.ORG) VOL 12, NO 1 APRIL 2014
  • 2. Table of Contents VOL 12, NO 1 APRIL 2014 Improving Ranking Web Documents using User’s Feedbacks...............................................................1 Fatemeh Ehsanifar and Hasan Naderi A Survey on Sparse Representation based Image Restoration ............................................................... 11 Dr. S. Sakthivel and M. Parameswari Simultaneous Use of CPU and GPU to Real Time Inverted Index Updating in Microblogs .................................................................................................................................................................... 25 Sajad Bolhasani and Hasan Naderi A Survey on Prioritization Methodologies to Prioritize Non-Functional Requirements ........................ 32 Saranya. B., Subha. R and Dr. Palaniswami. S. A Review on Various Visual Cryptography Schemes ................................................................................ 45 Nagesh Soradge and Prof. K. S. Thakare Web Page Access Prediction based on an Integrated Approach ............................................................. 55 Phyu Thwe A Survey on Bi-Clustering and its Applications ..................................................................................65 K. Sathish Kumar, M. Ramalingam and Dr. V. Thiagarasu Pixel Level Image Fusion: A Neuro-Fuzzy Approach ................................................................................ 71 Swathy Nair, Bindu Elias and VPS Naidu A Comparative Analysis on Visualization of Microarray Gene Expression Data...................................... 87 Poornima. S and Dr. J. Jeba Emilyn IJCSBI.ORG
  • 3. A New Current-Mode Geometric-Mean Structure for SRD Filters ......................................................... 100 Ebrahim Farshidi and Saman Kaiedi
  • 4. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 1 Improving Ranking Web Documents using User’s Feedbacks Fatemeh Ehsanifar Department of CSE, Lorestan Science and Research College, Lorestan, Iran Hasan Naderi Assistant Professor Department of CSE, Iran University of Science and Technology, Tehran, Iran ABSTRACT Nowadays, World Wide Web has been utilized as the best environment for development, distribution and achieving knowledge. The most significant tool for achieving to this infinite ocean of information involves variety of Search Engines, in which ranking is one of the main parts. Regarding problems based on text and link, some methods have been considered according to user’s behavior in web. User’s behavior includes valuable information which can be used for improving quality of web ranking results. In this research a model has been offered in which for each definite query, user’s positive and negative feedbacks about displayed list in web pages have been received, including how many times user has accessed to a certain site, time spent in a site, number of successful downloads in a site, number of positive and negative clicks in a site, then it calculates the ranking of each page using Multiple Attribute Decision Making method, and eventually presents a new ranking about the site which could be updated regularly according to the next feedbacks from users. Keywords User’s feedback, Multiple Attribute Decision Making, User’s Behavior, Search Engine. 1. INTRODUCTION Due to vastness of web pages and their increasing improvement, there is a persistent need to some methods for ranking web pages according to their level of significance, and their relevance to the topic. Ranking is the main component of an Information Retrieval System. With regard to research engines, which are among Information Retrieval Systems, because of particular characteristics of users, role of ranking has become more obvious. It is a common practice for search engines to find myriads of pages as a search result, and on the other hand, web user does not have enough and sufficient time to observe all of the results in order to achieve his/her desired
  • 5. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 2 pages. Most of web users do not pay attention to the pages which come after first search results. Therefore, this is important for a web search engine to present possibly the most favorite results to users in the top of the list, otherwise, a search engine could not be considered effective enough. So the role of a ranking algorithm is identification and dedication of more ranking to more valid pages among other numerous web pages. Structure of the present paper is as follow: Next part is assigned to review of literature. In part3, TOPSIS algorithm and its characteristics have been described. Proposed method is presented in part 4, and description of Simulation is presented in part 5. Finally, part 6 includes conclusion and some future works. 2. RELATED WORKS Ranking is one of the main parts of search engine. Ranking is a process in which the quality of a page is estimated. Owing to the fact that for every query there could be thousands of relevant pages, it is imperative to prioritize them, and present the first 10 or 20 results to the user. Ranking methods generally can be divided in to five classifications: First ranking classification is text-based, and the most important text-based ranking models are probability and vector space. In vector space model, both of document and query are vectors with dimensions as much as the number of words. In this model each vector turns in to a weight vector, then cos of angle between two vectors with weight is calculated as their degree of similarity. Usually the most significant method of weighting is TF-IDF by Mr. Salton[1]. Another text-based ranking method includes probability model. Purpose of a retrieval system, based on probability model of document ranking, is related to possible relevance of each document with query of user. Thus, contrary to vector space, this model definitely cannot find degree of similarity between query and document [2]. Second classification is connection-based ranking. Contrary to environment of Traditional Information Retrieval, web has a great heterogeneous structure in which documents are linked together, and also shape a huge graph. Web links involve valuable information, so new ranking algorithms have been created based on link. In a general view, connection-based algorithms are divided in to two classifications of query-dependent models, and query-independent models [3]. In query-independent models, such as page Rank, ranking is done as offline (outline), and using overall web graph, and subsequently for each query there is a fixed page. But in query- dependent models (sensitive to topic), such as HITS, ranking in graph involves collection of pages relating to user query. Third classification is combinatorial method, which uses both of link and content for ranking [4]. Fourth classification is Learning-based method,
  • 6. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 3 which has drawn lots of attention in recent years. Proposed methods in the area of ranking that work according to learning, are divided in to three main classifications: point method, pair method, and list method. In point method, a digit is dedicated to each pair of document-query which represents level of connection between them [5]. In pair methods, with obtaining pair of objects (characteristics of objects and their relative ranking), it has been attempted to dedicate a ranking to each object close to its real ranking, and eventually objects will be divided in to two general classifications of “correctly ranked” and “incorrectly ranked”. Most of existing learning-based ranking methods are of this type. List-based methods utilize list of ordered objects as learning data collection for prediction of order of objects. Fifth classification is based on user’s behavior. Regarding problems of text-based and link- based methods, methods that are based on behavior and judgment of user have been considered extensively for prevailing justice and democracy in web. In other words, for development and improvement of web in terms of quality and quantity, determination of the most befitted pages is carried out by users [6]. There are two methods for data collection by users: Direct Feedback Method, and Implicit Feedback Method [7]. In direct feedback methods the user is requested to judge about proposed results, which is a difficult method. In indirect method, user’s behavior during search process (that is registered in logs of search engines) is utilized. As a consequence, it can be collected with the least possible cost. User’s behavior during search process involves text of query, how the user clicks on ordered list of results [8], content of clicked pages, stop duration in each page[9], and other existing information concerning events registered during search. These registered events include invaluable information which can be used for analysis, assessment, and modeling user’s behavior in order of improving quality of results. 3. TOPSIS ALGORITM TOPSIS method is a compensatory method among Multiple Attribute Decision Making Models (MADM), and the purpose of being compensatory is that exchange between the criteria is allowed, i.e. for instance weakness of a criteria might be compensated by score of another criteria. In this method M options would be assessed by N criteria. In addition to considering distance of option Ai from ideal point, its distance from negative ideal has been considered, too. This means selected option must has the least distance from ideal solution, whereas it must has the last distance from negative ideal solution [10].
  • 7. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 4 4. METHODOLOGY In this part we provide a model that collects 5 cases of user’s feedback (positive and negative) on list of search results for each certain query, which might be inserted by a large number of users, and also calculates ranking of each document using TOPSIS method, and finally gives a ranking to documents. At specified intervals and using next re-collected feedbacks from users, these rankings are to be updated. Five cases of user’s feedback which have been regarded as five criteria (the first four cases are positive characteristics and the last case is a negative characteristic), have been used for assessing web pages as follow:  Open Click: the number of times that each site will be available or will be clicked for a certain query.  Dwell time: a period of time that users spend in each site for a certain query, and this period of time is based on hour.  Download: the number of downloads which occurs for a certain query in each page.  Plusclick: a collection of positive clicks identifying user’s satisfaction from selecting the page, such as doing left click or right click on existing links in the page and etc.  Negative click: a collection of negative clicks identifying lack of satisfaction among users about selected documents, such as clicking close and etc. Implementation steps of proposed method: First step: first of all Decision making Matrix is formulated as follow: where A1, A2, …, Am in Decision Making Matrix D stand for m sites that are supposed to be ranked according to a series of the criteria; andXoc, XDT, XD, XPC, XNC represent the criteria for assessment of suitability of each site, and finally ri,jcomponents representing specific values of jth criteria for ith site. Now this matrix becomes normal using Scale-up method or Scale-up norm, and it leads to formation of Matrix D. Second step: In this part, relative significance of existing criteria is calculated using Entropy method, and becomes balanced using λ values. λ values, respectively, have been considered for criteria of number of clicks (0,2), criteria of spent time which can be more significant compared with other criteria (0,3), criteria of number of downloads (0,1), criteria of number of positive clicks (0,2), and criteria of number of negative clicks (0,2), that vector W shapes as follow: W={WOC, WDT, WD, WPC, WNC } Now according to relation (1), Weightless Matrix comprises with regard to assuming vector W as an entry in algorithm.
  • 8. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 5 𝑉 = 𝑁 𝐷 . 𝑊5∗5 𝑉11 ⋯ 𝑉15 ⋮ ⋱ ⋮ 𝑉 𝑚1 ⋯ 𝑉 𝑚5 (1) so that ND turns in to a matrix that criteria scores have been scale-up in it. W5×5 is a Diagonal Matrix in which only elements of its main diameter are non-zero. Third step: Determination of ideal solution according to relation (2), and negative ideal solution according to relation (3): For positive ideal option (A+ ) we define the best site as user’s viewpoint, and for negative ideal option (A- ) we define the worst site as user’s viewpoint as follow: 𝐴+ = 𝑚𝑎𝑥 𝑉𝑖,𝑗 𝑗 ∈ 𝐽 , 𝑚𝑖𝑛 𝑉𝑖,𝑗 𝑗 ∈ 𝐽 𝑖 = 1,2,3,4,5 = 𝑉 𝑚𝑎𝑥 𝑂𝐶 + , 𝑉 𝑚𝑎𝑥 𝐷𝑇 + . , 𝑉 𝑚𝑎𝑥 𝐷 + , 𝑉 𝑚𝑎𝑥 𝑃𝐶 + , 𝑉 𝑚𝑖𝑛 𝑁𝐶 + (2) 𝐴− = 𝑚𝑖𝑛 𝑉𝑖,𝑗 𝑗 ∈ 𝐽 , 𝑚𝑎𝑥 𝑉𝑖,𝑗 𝑗 ∈ 𝐽 𝑖 = 1,2, ,3,4,5 = 𝑉 𝑚𝑖𝑛 𝑂𝐶 − , 𝑉 𝑚𝑖𝑛 𝐷𝑇 − , , 𝑉 𝑚𝑖𝑛 𝐷 − , 𝑉 𝑚𝑖𝑛 𝑝𝑐 − , 𝑉 𝑚𝑎𝑥 𝑁𝐶 − (3) 𝐽 = 𝑗 = 1,2,3,4,5 𝑗 𝑓𝑜𝑟 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 𝐴𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑒 𝐽 = 𝑗 = 1,2,3,4,5 𝑗 𝑓𝑜𝑟 𝑁𝑒𝑔𝑎𝑡𝑖𝑣𝑒 𝐴𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑒 According to relation (4) the distance of ith site from positive ideal site is as follow: 𝑑𝑖 + = (𝑉𝑖,𝑗 − 𝑉𝑗 + )2 𝑛 𝑗=1 .5 ; 𝑖 = 1, 2, … . , 𝑚 (4) And according to relationship (5) the distance of ith site from positive ideal site is as follow: 𝑑𝑖 − = 𝑉𝑖,𝑗 − 𝑉𝑗 − 2 𝑛 𝑗=1 .5 ; 𝑖 = 1, 2, … … , 𝑚 (5) Fifth step: Calculation of relative closeness of each site (Ai) to ideal site. This relative closeness is defined according to relation (6) as follow: 𝑐𝑙𝑖 + = 𝑑𝑖 − 𝑑𝑖 + + 𝑑𝑖 − ; 0 ≤ 𝑐𝑙𝑖 + ≤ 1 ; 𝑖 = 1,2, … , 𝑚 (6)
  • 9. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 6 It seems that if Ai = A+ , then we have di+ = 0 and then cli+ = 1, and if Ai = A+ , then we have di- = 0 and then cli- = 0. Therefore, the closeness of Ai option to ideal solution (A+ ) is corresponding to higher value of cli+ . Sixth step: Ranking of sites according to prioritization of preferences is based on descending order of cli+. 5. SIMULATION OF PROPOSED MODEL The proposed model became simulated using MATLAB software (version 2012). Simulation process was in such a way that firstly it receives three specific entries from users. Entries, respectively, are as follow:  Number of users which insert a unit query.  The number of times that feedbacks are received again from users, and a new ranking takes place, or in other words ranking of pages becomes updated.  The number of pages or sites which is supposed to be ranked for each specific query regarding user’s feedback, or using TOPSIS method. Some points have been considered for each feedback as follow: Maximum positive click for each user is 20 times, and it must be at least 0, maximum number of downloads for each visit is 15 times, maximum time for each user to visit a site is 3 hours, and it must be at least 5 minutes. 5.1 TYPICAL SIMULATION OF PROPOSED MODEL In the following an example of implementation of program has been illustrated, in which for a certain query of abovementioned feedbacks has been received from 1000 users about 10 first sites, and the sites have been ranked, and also these rankings are updated in a specified interval, and using next feedbacks.
  • 10. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 7 Figure 1. Typical Simulation of Proposed Model in three steps 5.2 ADVANTAGES AND DISADVANTAGES OF PROPOSED METHOD  One of the main advantages of this method is that the criteria and standards used in this comparison can have different measurement units, and positive or negative criteria. In other words, positive or negative criteria can be used in a combinatorial way in this technique. According to this method, the best option or solution is
  • 11. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 8 the closest option to ideal option or solution. Briefly, ideal solution results from a collection of maximum values of each criterion, while non-ideal solution results from a collection of the most minimum values of each criterion.  In this method we can take into account a considerable number of criteria.  This method can be applied very simply and in a convenient speed, and due to reduction of volume of calculations in assessment, it takes advantage of a great number of options. 6. CONCLUSION Search engines provide search results regardless of user’s desires and work background. In this concern, users while using search engines, mostly come across some results which might not be interesting for them, and another important case is that most of search engines use such algorithms that looks in to the number of input and output links of a website, such as Page Rank; so user’s behavior pattern is of uttermost significance in ranking of the websites. In this work we presented a method for ranking of web documents with simultaneous usage of five cases of negative and positive feedbacks of users, and in this proposed model we used one of Multiple Attribute Decision Making Models called TOPSIS. Moreover, this method seems to be a suitable method for prioritization of pages due to simultaneous characteristic of two distances from positive and negative ideal option, and eventually implements a ranking on documents. One of other innovations of this model is that they use a great deal of user’s feedbacks for ranking, simultaneously; and among these feedbacks, time has to be considered since it is one of well-known and new methods of variety of implicit feedbacks among users, and researchers believe that as much as a user spends more time for reading a document, the document becomes of more importance for him/her. FUTURE WORKS: with regard to the conducted study and research we concluded that in spite of the fact that using user’s behavior in ranking during recent years has become considerably significant, there is still sufficient capacity and potential for more research in future. Also personalization, concerning previous behavior of users, is of those cases which has not been solved entirely, and requires more review and investigation. As a suggestion for future works, providing and using real data in this method, and examination of other combinatorial methods has to be considered.
  • 12. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 9 REFERENCES [1] Salton, G. Buckley, C. 1988. Term-weighting approaches in automatic text retrieval. Inf. Process. Manage. 24, 5 (August 1988), pp. 513-523. [2] Robertson, S. E. Walker, S. 1994. Some simple effective approximations to the 2- Poisson model for probabilistic weighted retrieval. In Proceedings of the 17th annual international ACM SIGIR conference on Research and development in information retrieval (SIGIR '94), W. Bruce Croft and C. J. van Rijsbergen (Eds.). Springer-Verlag New York, Inc., New York, NY, USA, pp. 232-241. [3] Jain, R. Dr. G. N. Purohit, 2011.page ranking Algorithms for Web Mining, International Journal of Computer Applications (0975 – 8887) Vol. 13. No.5, January. [4] Shakery, A. Zhai, C. 2003. Relevance propagation for topic distillation uiuc trec 2003web track experiments. In Proceedings of the TREC Conference. [5]Yeh,J.Y Lin, J.Y. Ke H.R, Yang W.P.2007. Learning to Rank for Information Retrieval Using Genetic Programming, Presented in SIGIR 2007 Workshop, Amsterdam. [6] ZHAO, D. ZHANG, M.ZHANG, D. 2012. A Search Ranking Algorithm Based on UserPreferences, Journal of Computational Information Systems, pp. 8969-8976. [7] Attenberg, J. Pandey, S. Suel, T. 2009. Modeling and predicting user behavior in sponsored search. In Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD '09). ACM, New York, NY, USA, pp.1067- 1076. [8] Dupret, G. Liao, C. 2010. A model to estimate intrinsic document relevance from the clickthrough logs of a web search engine. In Proceedings of the third ACM international conference on Web search and data mining (WSDM '10). ACM, New York, NY, USA, pp.181-190. [9] Liu, C. White, R.W. Dumais, S. 2010. Understanding web browsing behaviors through Weibull analysis of dwell time. In Proceedings of the 33rd international ACM SIGIR conference on Research and development in information retrieval (SIGIR '10). ACM, New York, NY, USA, pp.379-386. [10] Yurdakul M. 2008. Development of a performance measurement model for manufacturing companies using the AHP and TOPSIS approaches, International Journal of production research, pp. 4609-4641. APPENDIX Implementing Scale-up using Norms: In order of comparing different measurement criteria for variety of criteria, we must use scale-up method, which results in measurement of elements of transformed criteria (ni,j) without considering their dimension. There are various methods of scale-up (such as scale-up using norm, linear scale-up, phase scale-up), and here we use scale-up using norm. We divide ri,j from assumed Decision Making Matrix by existing norm of column jth (for criteria of xj). That is, ni,j = ri,j ri,j 2m i=1 1
  • 13. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 10 In this way, all of assumed columns of matrix have the same unit of length and their overall comparison becomes simple. Weighting criteria using Entropy Method: In most of MADM problems we need to know the relative importance of existing criteria, in a way that their total equals to unit (normalized), and this relative importance estimates the degree of preference of each criteria than other cases for Decision Making, and we use Entropy method for this purpose. Entropy in theory of criterion information is for expressed lack of certainty by a Discrete Probability Distribution (Pi). Decision Making Matrix has been considered by m option and n criteria, and existing information content from this Decision Making matrix is calculated as (Pij). Pi,j = ri,j ri,j m i=1 (2) And for Ej from Pij collection for each criterion we have: Ej = −k Pi,j ∗ Pi,j m i=1 ; ∀i, j 3 So that it holds k= 1/lnm, and deviation degree (dj) from produced information for each jth criteria is as follow: dj = 1 − Ej ; ∀j (4) And finally for (Wj) weights from existing criteria we have: wj = dj dj n j=1 ; ∀j 5 As Wn×1 matrix is not multipliable with Normalized Decision Making Matrix (n×n), before multiplying it is necessary to transform Weight Matrix into a Diagonal Matrix (Wn×n) (weights on the main diameter), and if DM has a λi subjective judgment as relative importance for jth criteria in advance, then the calculated Wj through Entropy can be balanced as follow: wَj = λj ∗ wj λj, wj n j=1 ; ∀𝑗 (6) This paper may be cited as: Ehsanifar, F. and Naderi, H., 2014. Improving Ranking Web Documents using User’s Feedbacks. International Journal of Computer Science and Business Informatics, Vol. 12, No. 1, pp. 1-10.
  • 14. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 11 A Survey on Sparse Representation based Image Restoration Dr. S. Sakthivel Professor, Department of Information Technology Sona College of Technology, Salem, India. M. Parameswari PG Scholar, Department of Information Technology Sona College of Technology, Salem, India. ABSTRACT In recent field of engineering, digital images gaining popularity due to increasing requirement in many fields like satellite imaging, medical imaging, astronomical imaging, poor-quality family portraits etc. Therefore, the quality of images matters in such fields. There are many ways by which the quality of images can be improved. Image restoration is one of the emerging methodologies among various existing techniques. Image restoration is a process that deals with methods used to recover an original scene from degraded observations. The primary goal of the image restoration is the original image is recovered from degraded or blurred image. The main aim of this survey is to represent different methodologies of restoration that provide state-of-the-art results. The motivation of the literature originates from filter concept, iterative methods and sparse representations. The restoration methods of filter concepts are evaluated with the help of performance metrics SNR (signal-to-noise-ratio). These ideas can be used as a good reference in the research field of image restoration. Keywords: Image Denoising, Image Deblurring, Sparse Representation, Restoration. 1. INTRODUCTION Image restoration intends to recover high resolution image from low resolution image. Blurring is a process of reducing the bandwidth of an ideal image that results in imperfect image formation. It happens due to the relative motion between the camera and the original scene or by atmospheric turbulence and relative motion between camera and ground. Image restoration concerned with the estimation or reconstruction of uncorrupted image from a blurred or noise one.
  • 15. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 12 In addition to these blurring effects, noise also corrupts any recorded image. Image Restoration can be modeled by the system as shown in equation 1, y Hx v  (1) Where xЄRN is the unknown high quality original image, HЄRM×N is the degradation matrix, vЄRN is the additive noise and y is the observed measurement. When H is specified by Kernel, then image reconstruction is the problem of image blurring. The solution for the de-blurring problem can be obtained by solving the optimization problem as shown by equation 2,   2 2arg min .xX y Hx J x   (2) In the past decades, different methods and filters have been used for the purpose of image restoration. These methods do not hold to be proven to restore the image in case of additive white noise and Gaussian noises. Sparse representations approximate an input vector by using a sparse linear combination of atoms from an over complete dictionary. Sparse based methods have been verified to perform well in terms of Mean Square Error (MSE) measure as well as peak signal-to-noise ratio (PSNR). Sparse based models are used in various image processing fields such as image de- noising, image de-blurring, super resolution, etc. 2. IMAGE DENOISING AND DEBLURRING TECHNIQUES Reginald L. Lagendijk and Jan Biemond [9] describe about the basic methods and filters for the image restoration. Linear Spatially Invariant Restoration Method is basic restoration filters were used. The author described blurring function act as a convolution kernel or point spread function d(n1,n2) that does not vary spatially. It is also assumed that the statistical properties of mean and correlation function of the image and noise do not change spatially. Modelling assumption can be denoted by f(n1,n2) spatial discrete image that does not contain any blur or noise then the recorded image g(n1,n2) is shown in the equation 3 , 𝑔 𝑛1, 𝑛2 = 𝑑 𝑛1, 𝑛2 ∗ 𝑓 𝑛1, 𝑛2 + 𝑤(𝑛1, 𝑛2) (3)
  • 16. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 13 Two blur models were used. They are linear motion blur and uniform Out- of-focus blur. In linear motion blur, the relative motion between recording device and the scene results in several forms of motion blur that are all distinguishable. In Uniform Out-of-focus blur when camera captures the 3D image onto 2D image some parts are out of focus. These out of focus can be calculated by spatial continuous point spread function.Yusuf Abu Sa'dah et.al [14] discussed in image enhancement that Low pass filters blur the images which result in noise reduction, whereas high pass filters used to sharpen the images. Butterworth filter and Gaussian filter can be used to sharpen the images and also high pass filter reside in the shape of the curve. Therefore any one of the high pass filters can be used to sharpen the images in restoration algorithm. Jan Biemond et al.,[1] discusses the iterative restoration algorithms for the elimination of linear blur from images that tainted by pointwise nonlinearities such as additive noise and film saturation. Regularization is projected for preventing the excessive noise magnification that is associated with ill-conditioned inverse problems such as deblurring problem. There are various basic iterative solutions such as inverse filter solution, least squares solutions, wiener solution, constrained least squares solution, kalman filter solution. Inverse filter is a linear filter whose point spread function is the inverse of blurring function. It requires only the blur point spread function. Least Square filters are used to overcome the noise sensitivity and Weiner filter is a linear partial inverse filter which minimizes the mean-squared error with the help of chosen point spread function. Power spectrum is a measure for the average signal power per spatial frequency carried by the image, that is estimated for the ideal image. Constrained least squares filter for overcoming some of the difficulties of inverse filter and of wiener filter and it also estimates power spectrum. Regularization methods associated with the names of Tikhonov and Miller. For both the non-iterative and iterative restorations based on Tikhonov-Miller regularization analysed using eigen vector expansions. Michael Elad and Michal Aharon [5] address the image denoising problem zero-mean white and homogenous Gaussian additive noise is to be removed from given image. Based on sparse and redundant representation over trained dictionaries using K-SVD algorithm, image content dictionaries is obtained. Using corrupted image or high quality image database training is done. So far K-SVD algorithm is used to handle small image patches we extend it to handle large image patches. Sparsity of unitary wavelet coefficient was considered leading to shrinkage algorithm. One-dimensional wavelet are inappropriate for handling images, several new multiscale and
  • 17. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 14 directional redundant transforms are introduced including curvelet, contourlet, vedgelet, bandlet and steerable wavelet. Matching pursuit and basic pursuit denoising give rise to ability to address image denoising problem as a direct sparse decomposition technique over redundant dictionaries. In sparseland model Bayesian reconstruction framework is employed for local treatment on local patches to global patches. This K- SVD cannot be directly deployed on larger blocks even if provides denoising results Priyam Chatterjee and Peyman Milanfar [10] proposed K-LLD: a patch based locally adaptive denoising method based on clustering the given noisy image into region of similar geometric structure is proposed with the use of K-LLD. To perform clustering, employ the features of local weight function derived from steering regression. Dictionary employed to estimate the underlying pixel values using a kernel regression. With the use of stein unbiased risk estimator (SURE) local patch size for each size can be chosen. Kernel regression framework uses the methods such as bilateral filter, nonlocal means and optimal spatial adaptation. Denoising can be learned with a suitable basis function that describes geometric structure of image patches. Image denoising can be first performed by explicitly segmenting the image based on local image structure and through efficient data representation. Clustering based denoising (K-LLD) makes use of locally learned dictionary that involves three steps: 1. Clustering: Image is clustered using the features that capture the local structure of the image data. 2. Dictionary selection: We form an optimized dictionary that adapts to the geometric structure of the image patches in each cluster. 3. Coefficient calculation: Coefficients for the linear combination of dictionary atoms are estimated with respect to the steering kernel weights. Fig 2.1: Block diagram of the iterative version of algorithm : Calculating Steering Weights Coefficient Calculation Stage Clustering Stage Dictionary Selection Stage Class 1 Class KNoisy Img Y Denoised Img Y W Φ Z Y { yi ||I Є Ω k }
  • 18. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 15 K. Dabov et al.,[6] proposed a novel image denoising strategy on an enhanced sparse representation in transform domain. Sparsity is achieved by grouping similar 2D image fragments into 3D data arrays called groups. Collaborative filtering procedure developed to deal with 3D groups. It involves three steps i.e 3D transformation of group, Shrinkage of transform spectrum, inverse 3 D transformation. Some of the methods used to denoising are transform domain denoising method, sliding window transform domain image denoising. To apply shrinkage in local transform domain sliding window transform domain is employed. Sharp adaptive transform can achieve a very sparse representation of true signal in adaptive neighborhoods. Collaborative filtering for image denoising algorithm involves 2 steps: 1. Block estimate: In step one Block wise estimate is done for grouping and thresholding which follows aggregation. 2. Final estimate: In step two Block wise estimates is done for grouping and filtering which also follows aggregation. Fig 2.2: Flowchart of the proposed image denoising algorithm. Noisy Image Grouping by block Matching Basic Estimate of true image Grouping by block Matching 3D Transform Hard Thresholding Inverse 3D Transform Block Wise Estimate Aggregation 3D Transform Wiener Filtering Inverse 3D Transform Block Wise Estimate Aggregation Final Wiener Estimate STEP 1 STEP 2
  • 19. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 16 The proposed approach can be adopted to various noise models such as additive colored noise, non-Gaussian noise etc by modifying the calculation of coefficients variances in the basic and wiener parts of the algorithm. This method can be modified for denoising 1-D signals and video for image restoration as well as for other problems that benefit from highly sparse signal representations. Julien Mairal, Michael Elad, and Guillermo Sapiro [8] used prior knowledge K-SVD algorithm for grayscale image processing is extended for color Image Restoration. Techniques used in color image restoration are Markov Random Field (MRF), Principal Component Analysis (PCA). An iterative method that incorporates the K-SVD algorithm for handling non homogeneous noise and missing information is used. Extension of denoising algorithm can be used for the proper handling of nonhomogeneous noise results better in correlation between the RGB channels. To capture the correlation between the different color images K-SVD algorithm can be adopted. This algorithm uses orthogonal matching pursuit (OMP) or basis pursuit (BP) as part of its iterative procedure for learning the dictionary. At each iteration, the best atom is selected from the dictionary that maximizes its inner product with the residual (minimizing the error metric) and updating the residual by performing an orthogonal projection. In denoising of color image that is represented by column vector and white Gaussian noise is added to each channel. Color spaces are often used to handle the chroma and luma layers differently. The proposed method results better in the application of color image denoising, demosaicing, and inpainting. Noise in image is unavoidable, to estimate a true signal in noise, the most frequently used methods are based on the least squares criteria. Proper norm for images is the Total Variation (TV) norm. Closed form linear solutions are easily computed, nonlinear is computationally complex. Constrained minimization algorithm as a time dependent nonlinear PDE, where constrains are determined by the noise statistics. TV (L1) philosophy used to design hybrid algorithms. Nonlinear partial differential equations based denoising algorithms [2]. Novel image enhancement technique called shock filter is used. This algorithm yields more details of the solution in our denoising procedure. David S.C Biggs [3] proposed a new method for accelerating the convergence of iterative restoration algorithms termed automatic acceleration. It means faster processing and allows iterative techniques to be used in applications where they would, otherwise seems too slow.
  • 20. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 17 Four different iterative methods are used for the acceleration algorithms are, Richardson Lucy (R-L): It is an iterative technique used for the restoration of astronomical imagery in the presence of Poisson noise. Maximum entropy (ME) deconvolution: is a means for deconvolving “truth” from an image and point-spread function (PSF).In a perfectly focused, noiseless image there is still a warping caused by a point-spread function (PSF). The PSF is a result of atmospheric effects, the instrument optics, and anything else that lies between the scene being captured and the CCD array. Gerchberg-Saxton (G-S) magnitude: The Gerchberg Saxton (GS) algorithm is one popular method for attempting Fourier magnitude or phase retrieval. This algorithm can be painfully slow to converge and is a good candidate for applying acceleration. Phase retrieval algorithms: The new method is stable and an estimated acceleration factor has been derived and confirmed by experiment. The acceleration technique has been successfully applied to Richardson-Lucy, maximum entropy and Gerchberg- Saxton restoration algorithms and can be integrated with other iterative techniques. There is considerable scope for achieving higher levels of acceleration when more information is used in the acceleration process. Sparse representation of image signals admits a sparse decomposition over a redundant dictionary for handling sources of data. The problems of learning dictionaries for color images and extend the K-SVD based grayscale image denoising algorithm was described by Elad and Aharon (2006). Marial et al., [7] forwards the work for handling non homogenous noise and missing information in application such as color image denoising, demosaicking and inpainting. Sparseland model suggests dictionaries exist for various classes of signals and that the sparsity of signal decomposition is a powerful model. The removal of additive white Gaussian noise with gray-scale images uses the K-SVD for learning the dictionary from the noisy image directly. The extension to color can be easily performed by simple concatenation of the RGB values to the single vector and training on those directly which gives better results than denoising each channel separately. The steps involved in K-SVD algorithm are: Sparse Coding Step, Dictionary update, Reconstruction. Sparse Coding Step: Orthogonal Matching Pursuit (OMP) greedy algorithm to compute the coefficients for each patch by patch. Dictionary Update: Select the set of patches and for each patch compute its residual. Sets are used as matrices whose columns are vector elements. Finally, update the dictionary atoms and the sparse representations that use it one at a time.
  • 21. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 18 Reconstruction: A simple averaging between the patches approximations and the noisy image. To extend the K-SVD algorithm for denoising of color images is to denoise each single channel using a separate algorithm with possibly different dictionaries. To take the advantage of the learning capabilities of the K-SVD algorithm to capture the correlation between the different color channels. In denoising of RGB color images, represented by column vector with some white Gaussian noise has been added to each channel. In sparse coding stage, greedy algorithm selects the best atom at each iteration, from the dictionary and then updating the residual by orthogonal projection. Multiscale framework focuses on the use of different sizes of atoms simultaneously. A large patch of size n pixel is divided along the tree to sub- patches of fixed size. A dictionary is built for multiscale structure of all atoms. It characterizes soft edge smoothness based on a novel softcut metric by generalizing the geocuts methods. Shengyang Dai and Yihong Gong [11] proposed Soft edge smoothness measure can approximate the average length of all level lines in an intensity image. From this the total length of all level lines can be minimized. It presents a novel combination of this soft edge smoothness prior and the alpha matting techniques for color image SR ( Super Resolution) by adaptively normalizing image edges according to their α- channel description. To minimize the reconstruction error, original high resolution (HR) image can be recovered for low resolution (LR) inputs. This is called as inverse process. Reconstruction error can be optimized by back- projection method in iterative way. Interpolation methods such as bilinear or bicubic interpolation tend to produce HR images. To measure and quantify edge smoothness Goecut methods is employed. Goecut method approximates the length of a hard edge with a cut metric on the image grid. In softcut method, a soft edge cut metric measures smoothness of soft edges. To handle various edges in color images alpha matting technique is proposed from computer graphics literature. To prevent cross edges interpolation edge directed interpolation infer sub pixel edges. To extend color image SR, an adaptive softcuts method is proposed based on a novel α- channel image description. It enables a unified treatment of edges with different contrasts on α channel. Promising results for a large variety of images are obtained by this algorithm. In over complete dictionary, signals are described by sparse linear combinations of atoms. Pursuit algorithm is used in this field to decay signals with respect to given dictionary. Dictionary can be designed either
  • 22. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 19 by selecting one from a prespecified set of linear transforms or adapting the dictionary to a set of training signals. Aharon et al., [4] proposed an algorithm for adapting dictionaries to achieve sparse representations. K- SVD is an iterative algorithm that alternates between sparse coding based on current dictionary and a process of updating the dictionary atoms to better fit the data. The algorithm can also be accelerated by updating dictionaries combined with the update of sparse representations. In sparse signal representation, to overcome the representation problem Matching Pursuit (MP) and Orthogonal Matching Pursuit algorithm is adopted to select the dictionary atoms sequentially. In designing dictionary k- means clustering is done. In clustering, a set of descriptive vectors is learned and each section is represented by one of those vectors. Vector Quantization (VQ) coding method called gain-shape VQ where coding coefficient is allowed to vary. In k-means, at each iteration, two steps are involved. 1. Given {dk}, assign the training examples to their nearest neighbor. 2. Given the assignment, update {dk}. At step one, it finds the coefficients given the dictionary that is called sparse coding. Then the dictionary is updated assuming known and fixed co- efficient. K-means is used to derive the K-SVD an effective sparse coding and Gauss Seidel like accelerated dictionary update method. This algorithm finds the best co-efficient matrix using pursuit method and the calculation of co-efficient supplies the solution. This algorithm provides better results in minimum number of iterations than other methods and used in various applications such as filling in pixel missing, compression etc. To reconstruct the degraded image, the sparse coding coefficients should be as close as possible to those of those of the unknown original image with the given dictionary. If only the local sparsity of the image is considered, the sparse coding co-efficient are often not accurate. To make the sparse coding more accurate, both the local and nonlocal sparsity constraint is considered. In centralized sparse representation modelling [12], Sparse Coding Noise (SCN) υα = αy – αx is added to the original image. The sparse coding of x is based on y is given by equation 4 and 5,  2 2 1 arg maxy y H         (4)  2 2 1 arg maxx x         (5) The original image is first blurred by a Gaussian blur kernel with standard deviation 1.6 & Gaussian white noise of standard deviation √2 is added to get a noisy and blurred image. Each patch is individually coded and nonlocal similar patches to the given patch are clustered using PCA
  • 23. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 20 dictionary. Iteratively PCA dictionary can be used to code the patches for each cluster and dictionaries are updated along with the regularization parameters. The centralized Sparse Representation model can be given by the equation 6, 2 2 1 argmaxy i i i p y i i y H a                 (6) Where γ is a constant and lp norm is used to measure the distance between αi and βi. Sparse representation model (SRM) based image deblurring approaches shown promising deblurring results. SRM don’t utilize the spatial correlations between the non-zero sparse coefficients, the SRM based deblurring methods fail to recover the sharp edges. Weisheng Dong, Guangming Shi, and Xin Li, [13] proposed structured sparse representation model is employed to exploit the local and nonlocal spatial correlation between sparse codes. Image deblurring algorithm uses patch based structured SRM. In regularization based deblurring approach, the construction of effective regularization is importance. Sparsity based regularization can be solved by iterative shrinking algorithm. For high dimensional data modeling the low rank approximation is used. Algorithms used in structured based SRM are Patch based low rank approximation structured sparse coding (LASSC), Principle Component Analysis (PCA) and iterative threshold algorithm. The intrinsic connection between the structured sparse coding and the low rank approximation has been exploited to develop an efficient singular value thresholding algorithm for structured sparse coding. In CSR model each patch is coded individually for the PCA dictionary. Instead of coding each patch individually, simultaneous sparse coding techniques code a set of patches simultaneously for the sparse code alignment. Since patches share similar edge structures, over complete dictionary is not needed, a compact dictionary PCA. In image blurring using the patch based Structured Sparse Coding model, structured sparsity over the grouped nonlocal similar patches can be enforced, patch clustering is updated for iterations. An effective deblurring methods using the patch based LASSC image deblurring produces the state-of-the-art image deblurring results. 3. FILTERS AND RESULT A mean filter acts on an image by smoothing it by reducing the intensity variation between adjacent pixels. It is a simple sliding window spatial filter that replaces unrepresentative of the neighbours. The mean or average filter works on the shift-multiply-sum principle.
  • 24. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 21 An adaptive filter does a better job of de-noising images compared to the averaging filter. The fundamental difference between the mean filter and the adaptive filter lies in the fact that the weight matrix varies at iterations in the adaptive filter while it remains constant throughout the iterations in the mean filter. Adaptive filters are capable of de-noising non-stationary images, that is, images that have abrupt changes in intensity. Such filters are known for their ability in automatically tracking an unknown circumstance or when a signal is variable with little a priori knowledge about the signal to be processed. In general, an adaptive filter iteratively adjusts its parameters during scanning the image to match the image generating mechanism. This mechanism is more significant in practical images, which tend to be non- stationary. Compared to other adaptive filters, the Least Mean Square (LMS) adaptive filter is known for its simplicity in computation and implementation. The basic model is a linear combination of a stationary low-pass image and a non-stationary high-pass component through a weighting function. Thus, the function provides a compromise between resolution of genuine features and suppression of noise. A median filter belongs to the class of nonlinear filters that follows the moving window principle as same as mean filter. The median of the pixel values in the window is computed, and the center pixel of the window is replaced with the computed median. Median filtering is done by, first sorting all the pixel values from the surrounding neighborhood into numerical order and then replacing the pixel being considered with the middle pixel value. The median value must be written to a separate array or buffer so that the results are not corrupted as the process is performed. The selection of the denoising technique is presentation dependent. So, it is necessary to learn and compare de-noising techniques to select the technique that is appropriate for the application in which we are interested. A technique to calculate the signal to noise ratio in images has been proposed which can be used with some approximation. This method adopts that the discontinuities in an image are only due to noise. For this reason, experiments are done on an image with very little deviation in intensity. The following Table 1 shows the Signal-to-noise Ratio (SNR) values of the input and output images for the filtering approach. The following Figure 3.1 shows the result images from the Mean filter, LMS Adaptive Filter and Median Filter when the Gaussian noise is added to the original image.
  • 25. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 22 (a) (b) (c) (d) Fig 3.1: De-noising performance Comparison for the photograph image with standard deviation of σ=0.05 when Gaussian Noise is added. (a) Original Image with Noise, (b) Result image using Mean Filter approach, (c) Result image using LMS Adaptive approach, (d) Result image using Median Filter. Table 1: SNR Results with Gaussian Noise and Standard Deviation σ= 0.05 From the Table 1 it is shown that the median filter provides increased SNR value of 22.79 than mean and adaptive filters. Median filter can be applied for higher denoising performance in case of restoring the degraded original image. 4. CONCLUSION Image denoising and deblurring had been a major problem in the image restoration methodologies. Different types of algorithms are studied for the deblurring, denoising of degraded images and different type of filters are also analyzed. Sparse representations have been found to provide the better Method SNR value of input image SNR value of an output image Mean Filter 13.39 21.24 LMS Adaptive Filter 13.39 22..40 Median Filter 13.39 22.79
  • 26. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 23 results of image restoration than other representations. Therefore based on sparse representation, local and non-local methods can be used to restore the degraded version of images effectively. Experimental result on filters shows that median filter performs better than other types. By consolidating the review and filter concepts, median and Gaussian filters can be applied for sparse based representation of image denoising. REFERENCES [1] Jan Biemond, Reginald L. Lagendijk, and Russell M. Mersereau, “Iterative methods for image deblurring”, Proceedings of the IEEE, Vol. 78, No. 5, pp. 856–883, May 1990. [2] Leonid I. Rudin, Stanley Osher, and Emad Fatemi, “Nonlinear total variation based noise removal algorithms”, Phys. D, Vol. 60, pp. 259–268, November 1992. [3] David S. C. Biggs and Mark Andrews, “Acceleration of Iterative Image Restoration Algorithms”, APPLIED OPTICS, Vol. 36, No. 8, pp. 1766-1775, 10 March 1997. [4] Michal Aharon, Michael Elad, and Alfred Bruckstein, “K-SVD: An Algorithm for Designing Over complete Dictionaries for Sparse Representation”, IEEE Trans. on Signal Processing, Vol. 54, No. 11, November 2006. [5] Michael Elad and Michal Aharon, “Image denoising via sparse and redundant representations over learned dictionaries”, IEEE Trans. Image Process., Vol. 15, No. 12, pp. 3736–3745, Dec. 2006. [6] Kostadin Dabov, Alessandro Foi, Vladimir Katkovnik, and Karen Egiazarian, “Image denoising by sparse 3-d transform-domain collaborative filtering”, IEEE Trans. Image Process., Vol. 16, No. 8, pp.2080–2095, Aug. 2007. [7] Julien Mairal, Michael Elad, and Guillermo Sapiro, “Sparse learned representations for image restoration”, In Proc. of the 4th World Conf. of the Int. Assoc. for Statistical Computing (IASC), Yokohama, Japan 2008. [8] Julien Mairal, Michael Elad, and Guillermo Sapiro, “Sparse representation for color image restoration”, IEEE Trans. on Image Processing, Vol. 17, No. 1, pp. 53–69, Jan. 2008. [9] Reginald L. Lagendijk and Jan Biemond, “Basic Methods for Image Restoration and Identification”, In: A. C. Bovik, the Essential Guide to Image Processing, Academic Press, United States of America, pp. 326 – 330, 2009. [10] Priyam Chatterjee and Peyman Milanfar, “Clustering-based denoising with locally learned dictionaries”, IEEE Trans.Image Processing, Vol. 18, No. 7, pp. 1438–1451, July 2009. [11] Shengyang Dai, Mei Han, Wei Xu, Ying Wu, Yihong Gong, and Aggelos K. Katsaggelos, “Softcuts: a soft edge smoothness prior for color image super-resolution”, IEEE Trans. Image Process., Vol. 18, No. 5, pp. 969– 981, May 2009. [12] Weisheng Dong, Lei Zhang and Guangming Shi, “Centralized Sparse Representation for Image Restoration”, in Proc. IEEE Int. Conf. on Computer Vision (ICCV), 2011. [13] Weisheng Dong, Guangming Shi, and Xin Li, “Image Deblurring with Low-rank Approximation Structured Sparse Representation”, Signal & Information Processing Association Annual Summit and Conference (APSIPA ASC), Asia-Pacific 2012.
  • 27. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 24 [14] Sa'dah Y, Nijad Al-Najdawi and Tedmori S, “Exploiting Hybrid Methods for Enhancing Digital X-Ray images”, The International Arab Journal of Information Technology, Vol. 10, No. 1, January 2013. This paper may be cited as: Sakthivel, S. and Parameswari, M., 2014. A Survey on Sparse Representation based Image Restoration. International Journal of Computer Science and Business Informatics, Vol. 12, No. 1, pp. 11-24.
  • 28. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 25 Simultaneous Use of CPU and GPU to Real Time Inverted Index Updating in Microblogs Sajad Bolhasani Department of CSE, Lorestan Science and Research College, Lorestan, Iran Hasan Naderi Assistant Professor Department of CSE, Iran University of Science and Technology, Tehran, Iran ABSTRACT Nowadays, with attention to developing the different data networks, the wide masses of data are producing and updating continually. Managing the great data enumerate the fundamental challenges in data mining. One of the considered main subjects in this context is how searching among the wide masses of data. Therefore, require to producing the typical powerful, expansible and efficient file of documents and data for using in search motors is necessary. In this study, with surveying the done prior works, implementing the inverted index with the immediate updating capability from the dynamic and little data of microblogs is targeted. With utilization from processing multicore facility, the approach of the graphical processing unit (GPU) is presented that as expansible and without decreasing the attention, the index file is prepared with suitable speed, as the mentioned file is usable in inquiry unit. This method tries to feed the updating unit continually with separating the operation for the system Central Processing Unit (CPU) and suitable utilization of parallel processing capability of CUDA core. Also, in parallel to increasing the quality, one Hint method is presented for employing the vacant cores and compactor function for decreasing the index file mass. The results indicate that the presence of necessary hardware, the presented method in identity to immediate updating slogan, have the upper speed for making the inverted index of microblogs than to available samples. Keywords Inverted index, Microblog, GPU, Update. 1. INTRODUCTION In data mining and contextual managing information inverted index is a main key for each searching process by having this file search engines have the ability to stream a search without any repeated attention to the content of any documents. The structure of inverted index is generally upon the hash table frame and consists of a word dictionary and some values. Creator of inverted index in a process of searching skim the words in document, analyze and stemming, after all adds them to the dictionary. In this Platform
  • 29. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 26 each term is a specific key in dictionary of words. Any keyword in dictionary refer to a list of ID these ID's refer to those documents that, containing keywords. While a change applied on a document there is a necessity to update the ID files. So this updating process has some costs. The ultimate goal for each dynamic inverted index is reducing updating speed and near to zero or real-time it [1, 2, 3]. And the way we introduce in this article to reach that goal is dividing and paralleling of making inverted index operation. By using the capability of multi core, multi thread GPU's help us to near our goal [4]. Cuda cores have capability to operate simultaneously multi tasks give us the opportunity to divides the instructions for paralleling in little blocks. Microblogs introduce as data entries for inverted index in this article. In conclusion with the approach introduced above for making inverted index use any possibility from microblog's documents recognized by crawler so files makes with possible lower cost and use with real-time update. 2. BACKGROUND STUDY Time in updating inverted index is an important characteristic of measurement on search engines. Insert time in multi barrel hierarchy index [5], consist of different index size that will finally contribute each other with this functions. (1) 𝐼1 𝑛 = 𝑂 1 log 𝑘 log 𝑛 𝑃𝑠 𝑛 𝑛 (2) 𝐼2 𝑛 = 𝑂 𝐾 log ⁡(𝑘) log⁡(𝑛) 𝑃𝑠(𝑛) 𝑛 In function (1) 𝐼1 𝑛 is the average time for insert n new documents with different sizes. 𝑃𝑠 𝑛 is also the time for making statistic inverted index with the size of n. And also using 1 log 𝑘 log 𝑛 verses 𝑙𝑜𝑔𝑘 𝑛 to show how much use of k has positive effect on ability of system. In function (1) with increasing the value of k the average insert time will near to 𝑃𝑠(𝑛) 𝑛 that it will be our ideal but it will increase search time. In function (2) by increasing k search speed will improved. 2.1 Inverted Index Search engines consist of three parts. Crawler that find web pages, indexer that indexes inverted index and crawled web pages and a ranker that answers query by using indexes. Dynamic documents are document that change and update continually. Static inverted index [6] has a dictionary structure. Dictionaries are making from split word in text and find their stems by using algorithm called "porter stemmer" and prepare them for indexing. The reason for saving stems is to reduce memory size and indexing more documents in search result.
  • 30. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 27 All of information that gathered by search engine use as entry for inverted index after process of save in barrel. 2.2 GPU structure and capability of paralleling non graphical tasks The structure of graphic processor consists of many simple processing units called thread. These units are only make for simple calculations like add or subtract. By introducing CUDA form NVIDIA CO. the limitations of non- graphical tasks has taken from graphic units.in a graphic card ,elements have separated memory so designers know them as independent device or even a computer. Regarding to this knowledge each computer has a processor that works with a unique memory.in GPU a shared memory specify to each block; also each stem has two specific memories. Local and stable (fixed). Local memory use for global memory data or shared memory. This memory is similar to computer’s hard drive that use as a kind of main memory in a graphic unit. In this structure commands process in stems (set of threads) simultaneously [8,9,10]. 3. RELATED WORKS In this way microblogs real time identification has discussed [11]. Microblogs update their contents many times. Main core of this structure consist of inverted indexes with the value of𝐼1 = 𝐼0 ∗ 2.new microblogs place in smallest index so these set of indexes gather in larger indexes. This hierarchy makes passive updating. Results obtained in their studies regarding to multi threads capabilities. QiuyingBai [12] and coworkers apply a way for real time updating in subject oriented search engines. They are designing an inverted index with three parts, primary inverted index, additional inverted index and a list of omitted files. This way of real time updating is useful for subject oriented search engine. In a different research [13] introduce a way in which by using a graphic processor and multi core processing among web without any distribution and only one computer system the operations of build and update of index file will be done. one of the advantage for this way is that the graphic unit DOCUMENT TREC Parse DOCUMENT objectsText File PostingListNode Document Inverted Index SimpleStreamTokenizer Stop Wordlist Index Builder Figure 1. Structure of index file [7]
  • 31. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 28 will done all processing and in result enteral processing unit will be free to different task so that is not faced to the problem of decreasing the capability of system. 4. METHODOLOGY In this study we present a shared method in which by using two different processors the operation of both build and updating of inverted index will done in real time. In this method we take incoming documents as preset frame from microblogs, the reason for this task is innate characteristic of the method plan, where data income to graphic processor and divided in smaller units (block). The sizes of units are very restricted (small) in GPU. Each block run through a thread from a CUDA and process a carrying command or part of it .In this stream of processing structure, cores of CUDA will be like warp and blocks are like woof and regarding to this advantage that each block done its process task in a clock so incoming documents that take from crawler are consider as small graphic unit blocks. First, documents depend on adding to index or deleting take stickers of I or D and places in a lineup (Q) on basic memory of system so inter to the central processing unit. From now on, the cores of CPU divide in two sets: half splitters and half updaters. Documents are inter to splitters and change to term and prepare to send them to next step. After each task of splits, by time lapse documents in separated sets are inter to graphic unit to continue the task in parallel. While documents inter to GPU from microblogs and set into blocks .graphic unit depends on number of both blocks and CUDA core will done the process phase to phase .In each block from graphic processor unit, two different tasks of operation for build a doc index will done. Build in Insertion index barrel and build in deleted index barrel. The kind of operation is shown in header of document. Figure 2. Tasks of real time inverted index by sharing processors.
  • 32. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 29 In first part of GPU processing, inserted blocks both identify how many times a word repeated in each document and the number of deleting blocks and saves in global memory of graphic unit. Soon threshold processing done and threshold inverted index makes. Hint is a notifiable function (mechanism) designed for times the CPU cores do nothing (non-function). This function identifies free times of each core and shares them temporarily to each other so the amount power of processing for those very busy units will increase. In picture above the cores of main processor of system divided in two sets: splitters (S) and updaters (U). that depends on how much busy an entrance of a core ,the hint function will change real time those free cores to S or U to facilitate busy points. 5. EVALUATION Consider to ultimate goal of research that is both build inverted index and real time updating of it so measurement range is already “time” for this research. As you can see in below chart two tasks that are use graphic unit or without graphic unit is presented. In both the portion of size with time have direct relation. But execute time is decrease when we use the capability of multi core CUDA graphic processor and it is guide us to reach real time execution. Figure 4. Evaluation algorithm by CPU and CPU&GPU. HintArrayC[a]: C opy Reset HintArray[a]: S S S U U U S S S U U U S S U U U U S U U U U U S S S U U U S S S S U U … … … … … … T0 T1 T2 T3 . . Tn Figure 3. Change routine in GPU cores by using hint function.
  • 33. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 30 In this chart horizontal line is the number of documents and vertical line is the time for building file. Two upper lines related to required time to build index and send for CPU and two lower lines is required time for GPU and CPU. 6. CONCLUSIONS In this article there is an effort to use graphic units processing power and also use of central processing unit simultaneously for build a real time updating index system from microblogs contents. Also present a way to strongly use of non-function cores. Finally presented the algorithm that has the function to build inverted index from documents in microblogs and updating them in real time. The future for this research is an end to create a static structure and present a unit called index managing to distribute streams of processing between processor units. 7. ACKNOWLEDGMENTS We would like to thank Muhammad Saleh Mousavi for their exceptionally useful reviews. REFERENCES [1] P. Mudgil, A. K. Sharma, and P. Gupta, An Improved Indexing Mechanism to Index Web Documents, Computational Intelligence and Communication Networks (CICN), 2013 5th International Conference on, 27-29 Sept. 2013, pp. 460 - 464. [2] R.Konow, G.Navarro, and C. L. A. Clarke, Faster and Smaller Inverted Indices with Treaps, artially funded by Fondecyt grant 1-110066 , by the Conicyt PhD Scholarship Program, Chile and by the Emerging Leaders in the Americas Program, Government of Canada ACM, 2013. [3] S. Brin and L. Page, Reprint of: The anatomy of a large-scale hypertextual web search engine, The International Journal of Computer and Telecommunications Networking, 2012, 3825-3833. [4] Z. Wei and J. JaJa, A fast algorithm for constructing inverted files on heterogeneous platforms, J. Parallel Distrib. Comput, 2012. [5] N. Grimsmo, Dynamic indexes vs. static hierarchies for substring search, Trondheim, 2005. [6] R. A. Baeza-Yates and B. Ribeiro-Neto, Modern Information Retrieval, Addison- Wesley Longman Publishing Co, Inc., 1999. [7] C. D. Manning, P. Raghavan, and H. Schütze, Introduction to Information Retrieval, Book, ISBN:0521865719 9780521865715 , 2008. [8] NVIDIA CUDA™, NVIDIA CUDA C Programming Guide, Book, www.nvidia.com, 2012 [9] W. Di, Z. Fan, A. Naiyong, W. Fang, L. Jing, and W. Gang, A Batched GPU Algorithm for Set Intersection, Pervasive Systems, Algorithms, and Networks (ISPAN),
  • 34. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 31 2009 10th International Symposium on, 978-1-4244-5403-7, 14-16 Dec. 2009, pp. 752 - 756. [10]Z. Wei and J. JaJa, A fast algorithm for constructing inverted files on heterogeneous platforms, J. Parallel Distrib. Comput. 2012. [11]W. Lingkun, L. Wenqing, X. Xiaokui, and X. Yabo, LSII: An indexing structure for exact real-time search on microblogs, in Data Engineering (ICDE), IEEE 29th International Conference, 2013. [12]Q. Bai, C. Ma, and X. Chen, A new index model based on inverted index, Software Engineering and Service Science (ICSESS), 2012 IEEE 3rd International Conference on, 978-1-4673-2007-8, 22-24 June 2012, pp. 157 - 160. [13]N. N. Sophoclis, M. Abdeen, E. S. M. El-Horbaty, and M. Yagoub, A novel approach for indexing Arabic documents through GPU computing, Electrical & Computer Engineering (CCECE), 2012 25th IEEE Canadian Conference on, 978-1-4673-1431-2, April 29 2012-May 2 2012, pp. 1- 4. This paper may be cited as: Bolhasani, S. and Naderi, H., 2014. Simultaneous Use of CPU and GPU to Real Time Inverted Index Updating in Microblogs. International Journal of Computer Science and Business Informatics, Vol. 12, No. 1, pp. 25-31.
  • 35. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 32 A Survey on Prioritization Methodologies to Prioritize Non-Functional Requirements Saranya. B. Department of Computer Science and Engineering Sri Krishna College of Technology, Coimbatore, Tamilnadu, India Subha. R. Department of Computer Science and Engineering Sri Krishna College of Technology, Coimbatore, Tamilnadu, India Dr. Palaniswami. S. Principal, Government College of Engineering, Bodinayakanur, India ABSTRACT Nonfunctional Requirements are as important as functional requirements. But they have been often neglected, poorly understood and not considered adequately in software development process. If the NFRs are not met properly, it will lead to the dissatisfaction of customers. NFRs may be more critical than functional requirements as there can be mutual dependencies among the NFR, which may affect the completion of the project. Hence it is necessary to prioritize the NFRs effectively. But prioritizing such NFR is a challenging task in Software development. Many techniques are used to prioritize the requirements in various dimensions. It is important to choose the appropriate requirement prioritization technique for a particular software development process. One can select the appropriate techniques based on the various factors such as, the stakeholders involved, available resources, and the product he develop and so on. The goal of this paper is to increase the awareness about the importance of NFRs and to analyze the various techniques that are used to prioritize the NFRs. Keywords Requirements Engineering, Non Functional Requirements, Prioritization of NFRs, Prioritization techniques, Quality requirements, NFR algorithm 1. INTRODUCTION Requirements Engineering (RE) is the subfield of Software engineering; it involves formulating, documenting and maintaining of software requirements [16]. Requirements are generally described as what the system is required to do along with the environment, it is intended to operate in. Requirements provide the description of the system, its behavior, application domain information, system constraints, specifications and attributes [7].
  • 36. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 33 Requirements may be Functional or Nonfunctional.  Functional requirements (FRs) describe system services or function.  Nonfunctional requirements (NFRs) are a constraint on the system or on the development process. The purpose of “identifying non-functional requirements” is to get a handle on these absolutely necessary requirements that are normally not functional. Some of these NFRs may conflict with each other. As like of the functional requirements the NFRs a will also vary during the development process. So it is essential to keep track to the NFRs throughout the development process. NFRs are of three types Product requirements, Organisational requirements, and External requirements [12].  Product requirements: Requirements which specify that the delivered product must behave in a particular way, e.g. execution speed, reliability, etc.  Organisational requirements: Requirements which are a consequence of organizational policies and procedures, e.g. process standards used implementation requirements, etc.  External requirements: Requirements which arise from factors which are external to the system and its development process, e.g. interoperability requirements, legislative requirements, etc. The software development market can be divided into two major types, namely market-driven development and bespoken development. In market- driven development the product is developed for an open market, whereas in bespoken market the product will be developed for the particular customer based on their wishes. In the bespoken development if there is only one customer there will not be any problem. But in real time, many customers and developers will be involved in the software development and everyone has different views and opinions. In such situation requirement prioritization plays a major role in software development. Requirement Prioritization is done in order to determine which NFRs to be implemented in a software product in the current release or in order to understand the mandatory NFRs that should be implemented in the product to obtain the satisfaction of the customers. During a project development, decision makers in software development need to make many different decisions regarding the release plan. Requirement prioritization plays a major role in decision making. It helps the decision makers to decide when to release a product, how to develop the project in time, how to reach milestones, etc. It helps them to resolve issues and risks arise during the
  • 37. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 34 software development. The main reason for prioritizing is that, all NFRs cannot be implemented by the given time or with the given resources. In this paper, we analyze the prioritization techniques. The paper is structured as follows: After the introduction Sect. 2 provides a review of related work, Sect 3 explains about requirement prioritization, Sect. 4 & Sect. 5 describes the various techniques to prioritize the NFRs; Sect. 6 concludes the paper. 2. RELATED WORK Quality requirements are defined during the early stages of development, but they are not incorporated properly during software development. The NFRs are prioritized for various reasons such as to determine whether the particular requirement is mandatory or not, to eliminate the requirements that are unnecessary to the software product and to schedule the requirements for implementation [5]. When the requirements are properly prioritized it provides the significant benefits such as improved customer satisfaction, Lower risk of cancellation and it also helps to identify the hidden requirements. It helps to estimate the benefits of the project and also priorities of requirements can help to determine how to utilize the limited project resources. The various factors involved in prioritizing requirements are cost, risk, value, benefits, dependency constraints, effort business value dimensions etc. [1]. In web development NFRs are not given importance as like the functional requirements, they are not discussed properly in the early stages. But web developers found that NFRs become an issue during the later stages of development. As a result, it leads to frequent change in the system design. So paying more attention to the NFRs increases the quality of the web system and also reduces the development time. In many techniques while prioritizing NFRs, mostly they are converted into Functional requirements. For example, the security requirement is For example, the security requirement is operationalized as login requirements for cost estimation [6]. So when NFRs are elicited properly, it also leads to the discovery of new Functional requirements (FRs) [11]. Many challenges arise while prioritizing requirements. For example, some stakeholders believe that all the requirements have high priority, even though they accept theoretically that different requirements have different priority they always try to push for having most requirements under high priority. So we should make them to understand that the requirement is not necessary for time being [5]. So when NFRs are elicited properly, it also leads to the discovery of new Functional requirements (FRs) [11].
  • 38. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 35 Many challenges arise while prioritizing requirements. For example, some stakeholders believe that all the requirements have high priority, even though they accept theoretically that different requirements have different priority they always try to push for having most requirements under high priority. So we should make them to understand that the requirement is not necessary for time being [5]. The main difficulties in prioritizing quality requirements are: First it is difficult to determine the cost and effort required to implement NFRs in advance. Second for quality requirement values are continuous, so it is tough to determine the right required value [3]. 3. REQUIREMENT PRIORITIZATION Requirement prioritization is an important activity in software development; it helps to manage the relative importance of requirements and to manage the software development when the resources are limited.[13]. All the Stakeholders should collaborate to prioritize the requirements efficiently. Requirement prioritization supports the following activities:  To estimate expected customer satisfaction.  To decide the core requirements.  To schedule the implementation of requirements.  To handle the dependency between the requirement.  To establish the relative importance of each requirement. Requirements can be prioritized under various dimensions. They are as follows [1]: Cost: It denotes the cost required to implement the requirement successfully. Often the developers will prioritize the requirements in the terms of money. Value: Value is the importance of the each requirement when compared to other requirements. The requirements with high importance are implemented first. As every stakeholder has various views on a requirement, it is difficult to determine the value of a requirement. Risk: It denotes the risk arises while implementing a Requirement. The requirements with the high risk should be implemented first else it would extend the time of implementation. Dependency Constraints: It denotes how two requirements are dependent on one another.  Precedence Constraints: This condition occurs when implementation of one requirement requires the completion of any other requirements.  Coupling Constraints: It represents the requirements that can be implemented in parallel. Business Values: It represents the mission of an organization. Example of Business values is Continuous Improvement, customer satisfaction etc.
  • 39. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 36 Effort: It is the effort required to implement the requirement during the development process. Resources: Resources refer to the budget, staff and schedule. It is the crucial factor that is not considered in most prioritizing techniques. Approach: Requirements prioritization involves two approaches.  Absolute Assessment: Every requirement is assessed against each criterion.  Relative Assessment: With this approach, each every requirement is compared with every other requirement. As the requirements are analyzed in various perspectives, the requirement prioritization also provides many other benefits. For example, it helps to find the hidden requirements, defects in requirements. By implementing the high priority requirements before lower priority requirements it is possible to reduce the time and cost required for that project. The require prioritization can be divided into sub process [5]: Convince stakeholders: Convince the stakeholders and make them to understand the requirements. Train stakeholders: Train the stakeholders to participate in the prioritization process, Categorize raw potential requirements: Then the raw potential requirements should be categorized into actual requirements, useful capabilities and desirable capabilities. Prioritize the actual requirements: Prioritize the identified requirements it involves negotiating with stakeholders and validating the results. To determine the priorities of requirements the prioritization process should be done in incremental basis. For the effective prioritization, representatives from all stakeholder groups should be involved in requirement team and it should be led by a professional requirements engineer. Publish the priorities: After prioritization the requirement team should publish the results and let stakeholders know about it. Estimate effort: After finding the priorities calculate the effort required to implement the requirements. Schedule development: Then schedule the development process according to the priorities calculated. As requirements are allocated in incremental basisthe requirements team,development team and the management team should work together to allocate the requirements properly. Maintain priorities. During the development process the requirements and priorities may vary. So store the priorities in the repository and maintain it when changes occur.Simply the requirement prioritization can be carried down in three stages [14]. The preparation stage, in this stage the team and the team leader will prepare the requirements according to the principles of the prioritization techniques to be used. The second stage is an execution
  • 40. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 37 stage where the decision makers actually prioritize the requirements. The final stage is a presentation stage where the results of the prioritization are presented. But while prioritizing the requirements numerous ricks and challenges arises [5]. The major challenges in prioritization are:  When requirements are large it is difficult to prioritize it efficiently.  As different stakeholders have different views, finding the mandatory requirement is difficult.  When resources are limited then prioritization is very challenging.  As the requirements may vary in later stages, it also leads to changes in priorities.  Some requirements may incompatible with another. So implementing one requirement denies the implementation of other requirements.  The customer may misunderstand the prioritization process.  The customer may try to pull all requirements in mandatory group. 4. PRIORITIZATION METHODOLOGIES 4.1 Numerical Assignment Numerical assignment involves the process of grouping the requirements. At first the requirements are divided into different groups, then they are given to the stakeholders to enter the scale value from 1-5 for each requirement based on the importance. Finally, the average value given by all stakeholders are considered as the ranking for that requirement [9]. The main disadvantage of this method is [1], as different users have different opinions the information obtained is relative and it is difficult to determine the absolute information. If the stakeholders prioritize the requirements, they will pull 85% of the requirements into the high priority group. 4.2 Analytical Hierarchy Process (AHP) AHP [1] is decision making technique which involves pairwise comparison. With the help of multiple objectives or criteria AHP allows decision makers to choose the best requirements from the several decision alternatives. AHP involves three steps. They are  Making pairwise comparison.  Calculating the priorities of requirements and decision making  Checking consistency. In this is technique each requirement is compared with every other requirement to determine to what extent one requirement is more important
  • 41. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 38 than other requirements. So for n requirements n. (N - 1) /2 pairwise comparisons are required [9]. The fundamental scale used in AHP is given below [1]: 1 Of equal importance 2 Moderate difference in importance. 5 Essential differences in importance. 7 Major differences in importance. 9 Extreme differences in importance. Reciprocals-If requirement I have one of the above numbers assigned to it when compared with requirement j, then j has the reciprocal value when compared with I. The redundant pair-wise comparison makes this methodology very trustworthy during decision making. But when the number of requirements becomes large, it requires a large number of comparisons so the system will become complex. 4.3 Value-Oriented Prioritization (VOP) It involves two steps, first establishing the Framework. The first step is identifying the business core values, and then the organizational executives must provide the importance of those values to the organization. To assign weights simple scale ranging from 0 (Not important) to 10 (Critical) is used. VOP also supports weighting using business risk categories. Then Applying the Framework that is by using the identified core values and risk weight category‟s requirements are prioritized by constructing prioritization matrix. VOP is the only technique which considers the business core values.In VOP decision making is transparent to all the stakeholders involved, so it avoids lengthy arguments about a particular requirement [8]. 4.4 Cumulative Voting Cumulative voting (CV) or 100 dollars method is a prioritization technique where each stakeholder will be given 100 imaginary units. They can use these units to vote for the requirement that they consider as important. One can use all this 100 units for a single requirement or it can be equally distributed to all requirements. In this way, units assigned to a requirement represent the respondent‟s relative preference to a requirement in relation to the other requirement. Because of this cumulative voting is also known as “proportional voting”. The term “proportional” also reflects that if the amount of units assigned to a requirement is divided by the constant number of units available to each stakeholder, the result will be a proportion between zero and one. In CV only one chance will be given to a stakeholder because if more chance is given they may use all their units on their favorite requirements to make it as the highest priority one [15]. Some stakeholders will pull all their
  • 42. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 39 units into a requirement that is not highly preferred by any others. So it will lead to conflicts in the prioritization process. 4.5 Binary Search Tree Binary search tree (BST) uses basic BST data structure concept. BST algorithm stores the information and it can be retrieved when it is necessary. The BST is the special case of binary tree in which each node has at most two children. The child nodes to the right have greater value/importance than the root node, and the child nodes to the left have less value/importance than the root node. If the BST is traversed in order, the requirements will be in sorted order [14]. For n requirements binary tree will consist of n requirements and it requires n log n comparisons until all requirements are inserted. The three stages involve in the BST are as the preparation step requirements are gathered in execution step the requirements are inserted one by one. First insert the one requirement in the first node, while inserting the priority then it is added as the right child. Finally, at the presentation stage traverse the tree in order and prioritize the requirements. 5. PRIORITIZATION METHODOLOGIES PARTICULARLY DEFINED FOR NFRS With the above mentioned methodologies there are also many other methodologies such as Top ten requirements, Ranking, Planning Game were used to prioritize NFRs [8]. But all of these techniques were designed for FRs and can be used for NFRs. So it does not give efficient results when we use to prioritize NFRs. There are some methodologies that are particularly defined to prioritize the NFRs. They are discussed below. 5.1 Prioritization Using Architecture Feedback This architectural design starts with the initial Requirements Engineering activities as the initial understanding of NFRs is required. The steps are shown in Fig. 1 The steps involved in architectural feedback are:  Identify the NFRs relevant to the software development.  Specify the NFRs.  Prioritize the NFRs based on the views of the stakeholders involved.  Based on the initially prioritized NFRs design the initial architecture and create the architecture model with quality annotations required for evaluation.  Evaluate software architecture and explore the design space using the design space exploration tool such as Per- Opteryx.
  • 43. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 40 Figure 1. Prioritization using architectural feedback  Based on the design space explorations Analyze trade-offs (the above 3 steps are done by software architects).  Based on the results obtained, stakeholders discuss and negotiate on the required quality levels and reprioritize the NFRs.  The software architect updates the architecture accordingly.  The architectural design is used to implement the system and it should be updated continuously.  If any changes in NFRs then above steps should be repeated. This process helps the stakeholders and architects to understand the NFRs effectively. But this method is applicable only to the quantitatively evaluated quality properties. 5.2 Prioritizing By Goal-Decomposition This approach uses goal decomposition method to prioritize NFRs. In this method nonoperation specifications are translated in to operation definitions. After the system is developed the operation definitions are evaluated [4]. Initially requirements are prioritized while eliciting. Here the stakeholders will group the requirements which they think as critical and they are implemented first. But developers do not have any influence in this step. The second step is executed during the requirement negotiation meeting. In this step the requirement conflicts are analyzed in the presence of all stakeholders. To support this step link pairs of requirements is used with the right sign that indicates their positive (+), negative (-) or neutral (“”) interaction. The rules for assigning the link pairs are  The value “-” is assigned to a pair of NFRs when one NFR in the pair has a negative effect on the other at the same functionality. Feedback Identify Relevant Quality Attributes Specify Quality Requirements Prioritize Quality Requirements Requirements Engineering Activities Design Software Architecture Evaluate Software Architecture and Explore Design Space Analyze Trade-offs and Dependencies Software Architecture Evaluation Activities Further Development process
  • 44. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 41  The value “+” is assigned to a pair of NFRs where one NFR in the pair has a positive effect on the other.  The value “” is assigned to a pair of NFRs in the set of NFRs that do not interact.  The value “?” is assigned to a pair of NFRs when the influence is unknown.  The conflicts in among the NFRs can be resolved using the scale values, for example very important, important, average and don‟t cares can be used.  Then identify the stakeholder goals that are important to the success of the system. In this the hard goals will be given higher priority than the soft goals. Apply Goal Question Metrics to the NFRs and prioritize them. 5.3 NFR Algorithm The NFR algorithm is based on the mutual dependencies among the NFRs and the preferences of the stakeholders. The priority of NFRs is determined by using the respondents of the project and the business organization are involved [9].It uses a simple heuristic to prioritize the NFRs. The steps involved in NFR algorithm are followed:  Business organization representatives identify the NFRs that are concerned with the particular project.  Based upon the NFRs Business process Hierarchy is created. This scenario defines the final product that should be delivered to the customer.  The identified NFRs are given to stakeholders to provide ratings between 0-9 based various Business Value Dimensions (value, penalty, cost, risk). Figure 2. NFR Algorithm Assessing Relative importance Adjustment of NFR scores Heuristics for prioritization Constructionof business process hierarchy Providing ratings Identification of NFRs Net % change Association Matrix preferences preferences Stake holder preerences preferences preferences Requirement Document pref erences pref Prioritized NFRS NFRs pre ferences
  • 45. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 42  The ratings are then combined to calculate the relative importance of the NFRs  The relative priority is calculated using the formula 𝑅𝑒𝑙𝑎𝑡𝑖𝑣𝑒 𝑖𝑚𝑝𝑜𝑟𝑡𝑎𝑛𝑐𝑒𝑖 = 𝑉𝑎𝑙𝑢𝑒 +𝑃𝑒𝑛𝑎𝑙𝑡𝑦 % (𝐶𝑜𝑠𝑡%+𝑅𝑖𝑠𝑘%) (1) Where 𝑉𝑎𝑙𝑢𝑒 + 𝑃𝑒𝑛𝑎𝑙𝑡𝑦 % = 𝑉𝑎𝑙𝑢𝑒 𝑖 + 𝑃𝑒𝑛𝑎𝑙𝑡𝑦 𝑖 𝑉𝑎𝑙𝑢𝑒 𝑖𝑁 + 𝑃𝑒𝑛𝑎𝑙𝑡𝑦 𝑖𝑁 ∗ 100 (2) 𝐶𝑜𝑠𝑡 % = 𝐶𝑜𝑠𝑡 𝑖 𝐶𝑜𝑠𝑡 𝑖𝑁 ∗ 100 (3) 𝑅𝑖𝑠𝑘 % = 𝑅𝑖𝑠𝑘 𝑖 𝑅𝑖𝑠𝑘 𝑖𝑁 ∗ 100 (4) i = ith NFR considered for implementation.  Identify the association among the NFRs. The association between the NFRs may be positive, negative or neutral. The association can be expressed clearly in the form of association matrix.  So construct NFR association matrix to the scenario. Figure 3.Association matrix X1 +m2 +m6 X2 +m3 X3 -m4 -m7 X4 -m1 Net % change NC1 NC2 NC3 NC4 X1 X2 X3 X4
  • 46. International Journal of Computer Science and Business Informatics IJCSBI.ORG ISSN: 1694-2108 | Vol. 12, No. 1. APRIL 2014 43  Indicators mi‟s in the table shows that if the sign is + then there is a positive association between the NFRs and if the sign is - then there is a negative association between the NFRs.  „Net % Change‟ row indicates the aggregate percentage improvement or degradation of capability identified by NFRs.  Adjusted importance is calculated using the formula: Adjusted Importance i= Relative Importance i * (1+ Net % Change i/100) (5) Where i = ith NFR considered for implementation.  The NFRs are dropped by using the following heuristics.  Calculate the mean of the Adjusted Importance value of all the NFRs.  Drop the NFRs with the negative adjusted importance and whose value is less than the mean value of adjusted importance. 6. CONCLUSION In the competitive Business environment, the quality of a product plays a very crucial role in its success. So we have to prioritize the NFRs efficiently. In the above techniques we found that the NFR algorithm is a most suitable methodology to prioritize the NFRs. It is because the algorithm is particularly designed for NFR prioritization. As the business process hierarchy is created it can able to identify all the NFRs easily, it prioritizes the NFRs in various dimensions and from various stakeholder views. The heuristics involved is very simple to calculate and it also considers the mutual dependencies among the NFR. So NFR algorithm can prioritize the NFRs efficiently and in the cost effective manner. REFERENCES [1]. Aaqib Iqbal, Farhan, M. Khan, Shahbaz, A. Khan, 2009. A Critical Analysis of Techniques for Requirement Prioritization and Open Research Issues. International Journal of Reviews in Computing. Vol. 1. [2]. Anne Koziolek, 2012. Research Preview: Prioritizing Quality Requirements Based On Software Architecture Evaluation Feedback. REFSQ 2012. pp. 52-58. [3]. Berntsson Svensson, R., Gorschek, T., Regnell, B., Torkar, R., Shahrokni, A., Feldt, R., and Aurum, A. 2011. Prioritization of quality requirements state of practice in eleven companies. RE'11 IEEE. pp. 69. [4]. Daneva1, M., Kassab, M., Ponisio, M.L., Wieringa, R. J., Ormandjieva, O., 2007. Exploiting A Goal-Decomposition Technique to Prioritize Non-Functional Requirements. Proceedings of the 10th Workshop on Requirements Engineering WER. [5]. Donald Firesmith, 2004 “Prioritizing Requirements”, Journal of Object Technology, Vol 3, No 8.