2,373 research outputs found
Selection of Software Product Line Implementation Components Using Recommender Systems: An Application to Wordpress
In software products line (SPL), there may be features which can be implemented by different components, which means there are several implementations for the same feature. In this context, the selection of the best components set to implement a given configuration is a challenging task due to the high number of combinations and options which could be selected. In certain scenarios, it is possible to find information associated with the components which could help in this selection task, such as user ratings. In this paper, we introduce a component-based recommender system, called (REcommender System that suggests implementation Components from selecteD fEatures), which uses information associated with the implementation components to make recommendations in the domain of the SPL configuration. We also provide a RESDEC reference implementation that supports collaborative-based and content-based filtering algorithms to recommend (i.e., implementation components) regarding WordPress-based websites configuration. The empirical results, on a knowledge base with 680 plugins and 187 000 ratings by 116 000 users, show promising results. Concretely, this indicates that it is possible to guide the user throughout the implementation components selection with a margin of error smaller than 13% according to our evaluation.Ministerio de Economía y Competitividad RTI2018-101204-B-C22Ministerio de Economía y Competitividad TIN2014-55894-C2-1-RMinisterio de Economía y Competitividad TIN2017-88209-C2-2-RMinisterio de Economía, Industria y Competitividad MCIU-AEI TIN2017-90644-RED
On the selection and analysis of software product line implementation components using intelligent techniques
En los últimos años y con el creciente avance tecnológico, las empresas
ya no se centran exclusivamente en diseñar un producto para un cliente (por
ejemplo, el diseño de un sitio web para el Hotel Decameron), sino en producir
para un dominio (por ejemplo, el diseño de sitios web para hoteles); es decir,
el diseño de un producto que pueda adaptarse fácilmente a las diferentes variaciones
que puedan existir para un mismo producto y que se adapte a los
gustos individuales de los clientes.
En la ingeniería de software, esto puede lograrse a través de la gestión de
líneas de productos de software (SPL). Una SPL se define como un conjunto de
sistemas que comparten un conjunto común de características que satisfacen
la demanda de un mercado específico. Una SPL intenta reducir el esfuerzo y
el costo de implementar y mantener en el tiempo un conjunto de productos de
software similares; sin embargo, manejar la variabilidad en estos sistemas es
una tarea dif´ıcil, a mayor n´umero de productos m´as complejo se hace manejarlos.
Los modelos de caracter´ısticas (FMs) se emplean para representar gr´aficamente
las partes comunes y variables de una SPL. Dada la gran cantidad de
caracter´ısticas que se pueden derivar de un modelo de caracter´ıstica (FM), resulta
dif´ıcil de gestionarlos. Para hacer frente a estos problemas se ha propuesto
el An´alisis Autom´atico de Modelos de Caracter´ısticas (AAFM) que mediante
el uso de herramientas asistidas por ordenador, se ocupa de la extracci ´on
de información de los modelos de características. No obstante, existen ciertos
escenarios en los que la configuración de un producto se convierte en una
actividad compleja dado el número de componentes que existen para implementar
una determinada característica.
En esta tesis, exploramos técnicas inteligentes para resolver dos problemas
que surgen al manejar una SPL:
i. Por un lado, hemos identificado los problemas que surgen cuando un
desarrollador desea mantener sus aplicaciones al d´ıa con los últimos
avances tecnol´ogicos. La estrecha relaci ´on entre las caracter´ısticas de
aplicaci ´on y los componentes de plataforma es dif´ıcil de rastrear. Los desarrolladores deben ser conscientes de las consecuencias que podr´ıan
traer a las aplicaciones existentes cuando cambia el hardware donde
se va a ejecutar; por ejemplo, cuando una aplicaci ´on se traslada de un
smartphone a una computadora/tablet, o cuando una plataforma se actualiza
a una nueva versi´on. Los diferentes tama˜nos y resoluciones de
pantalla, la posible ausencia de un radio celular o el aumento de la cantidad
de memoria pueden tener impactos positivos o negativos en una
aplicaci ón. En este contexto, dado que las caracter´ısticas de aplicaci ´on y
de plataforma están conceptualmente separadas, sus caracter´ısticas pueden
modelarse en dos modelos distintos. Por consiguiente, manejar la
trazabilidad entre estas dos capas y c´omo los posibles cambios en ciertas
caracter´ısticas puedan afectar a la otra capa, es un problema que est´a por
resolver.
ii. Por otro lado, hemos encontrado lo complicado que es para el desarrollador
de aplicaciones configurar un producto cuando hay una variedad
de componentes de implementación para cada característica. Por ejemplo,
un desarrollador web en WordPress busca manualmente aquellos
componentes (plugins) que son factibles y más óptimos para cada sitio
web. Esta tarea lleva tiempo y no siempre garantiza que los componentes
seleccionados sean los m´as adecuados (en términos de calidad) para
la aplicación requerida. Dos escenarios podrían surgir durante esta
configuraci´on: primero, la selecci ´on emp´ırica de un componente, en la
pr´actica, puede no proporcionar los resultados esperados; adem´as, no
tener criterios basados en la experiencia de otros usuarios con respecto a
estos componentes, podr´ıa inducir una mala selecci ´on y lograr una mala
experiencia para el usuario final. En este contexto, el manejo de la relaci
´on entre los componentes de implementaci´on y sus caracter´ısticas es
otro problema a resolver.
Concretamente, las contribuciones de esta tesis se detallan a continuaci´on;
Modelos de caracter´ısticas en m´ ultiples capas: En esta ´area introducimos un
framework para el an´alisis de modelos de caracter´ısticas de m´ ultiples
capas, llamado MAYA. Los objetivos que perseguimos con esta soluci´on
son: i) modelar la variabilidad de los sistemas software en dos capas, incluyendo
sus respectivas interdependencias; ii) definir un conjunto de
operaciones que puedan imponerse a dichos modelos; iii) una implementaci
´on de referencia para el an´alisis de m´ ultiples capas basado en un
caso de estudio en Android, y finalmente; iv) dos evaluaciones emp´ıricas
que demuestran la viabilidad de nuestra propuesta en la pr´actica.
Componentes de implementaci´on: La configuraci´on de un producto es una de las actividades m´as propensas a errores, m´as a ´un cuando para cada
caracter´ıstica hay m´as de un componente que la implemente. Para
gestionar estas configuraciones, introducimos un sistema de recomendaci
´on basado en componentes llamado RESDEC que facilita la selecci ´on
de componentes de implementaci´on al crear productos en una SPL. Concretamente
las contribuciones que se presentan con esta propuesta son:
i) modelado del problema de selecci ´on de componentes de implementaci
´on como una tarea de recomendaci´on utilizando algoritmos de filtrado
colaborativo y por contenido; ii) dise ˜no de un prototipo de herramienta
de sistema de recomendaci´on basada en componentes lista para ser
utilizada y extendida a otros entornos a partir de la selecci ´on de componentes
de implementaci´on y, finalmente; iii) una evaluaci´on emp´ırica
basado en sitios web de comercio electr ´onico enWordPress
Transfer Meets Hybrid: A Synthetic Approach for Cross-Domain Collaborative Filtering with Text
Collaborative filtering (CF) is the key technique for recommender systems
(RSs). CF exploits user-item behavior interactions (e.g., clicks) only and
hence suffers from the data sparsity issue. One research thread is to integrate
auxiliary information such as product reviews and news titles, leading to
hybrid filtering methods. Another thread is to transfer knowledge from other
source domains such as improving the movie recommendation with the knowledge
from the book domain, leading to transfer learning methods. In real-world life,
no single service can satisfy a user's all information needs. Thus it motivates
us to exploit both auxiliary and source information for RSs in this paper. We
propose a novel neural model to smoothly enable Transfer Meeting Hybrid (TMH)
methods for cross-domain recommendation with unstructured text in an end-to-end
manner. TMH attentively extracts useful content from unstructured text via a
memory module and selectively transfers knowledge from a source domain via a
transfer network. On two real-world datasets, TMH shows better performance in
terms of three ranking metrics by comparing with various baselines. We conduct
thorough analyses to understand how the text content and transferred knowledge
help the proposed model.Comment: 11 pages, 7 figures, a full version for the WWW 2019 short pape
Extracting Implicit Social Relation for Social Recommendation Techniques in User Rating Prediction
Recommendation plays an increasingly important role in our daily lives.
Recommender systems automatically suggest items to users that might be
interesting for them. Recent studies illustrate that incorporating social trust
in Matrix Factorization methods demonstrably improves accuracy of rating
prediction. Such approaches mainly use the trust scores explicitly expressed by
users. However, it is often challenging to have users provide explicit trust
scores of each other. There exist quite a few works, which propose Trust
Metrics to compute and predict trust scores between users based on their
interactions. In this paper, first we present how social relation can be
extracted from users' ratings to items by describing Hellinger distance between
users in recommender systems. Then, we propose to incorporate the predicted
trust scores into social matrix factorization models. By analyzing social
relation extraction from three well-known real-world datasets, which both:
trust and recommendation data available, we conclude that using the implicit
social relation in social recommendation techniques has almost the same
performance compared to the actual trust scores explicitly expressed by users.
Hence, we build our method, called Hell-TrustSVD, on top of the
state-of-the-art social recommendation technique to incorporate both the
extracted implicit social relations and ratings given by users on the
prediction of items for an active user. To the best of our knowledge, this is
the first work to extend TrustSVD with extracted social trust information. The
experimental results support the idea of employing implicit trust into matrix
factorization whenever explicit trust is not available, can perform much better
than the state-of-the-art approaches in user rating prediction
Human-Machine Collaborative Optimization via Apprenticeship Scheduling
Coordinating agents to complete a set of tasks with intercoupled temporal and
resource constraints is computationally challenging, yet human domain experts
can solve these difficult scheduling problems using paradigms learned through
years of apprenticeship. A process for manually codifying this domain knowledge
within a computational framework is necessary to scale beyond the
``single-expert, single-trainee" apprenticeship model. However, human domain
experts often have difficulty describing their decision-making processes,
causing the codification of this knowledge to become laborious. We propose a
new approach for capturing domain-expert heuristics through a pairwise ranking
formulation. Our approach is model-free and does not require enumerating or
iterating through a large state space. We empirically demonstrate that this
approach accurately learns multifaceted heuristics on a synthetic data set
incorporating job-shop scheduling and vehicle routing problems, as well as on
two real-world data sets consisting of demonstrations of experts solving a
weapon-to-target assignment problem and a hospital resource allocation problem.
We also demonstrate that policies learned from human scheduling demonstration
via apprenticeship learning can substantially improve the efficiency of a
branch-and-bound search for an optimal schedule. We employ this human-machine
collaborative optimization technique on a variant of the weapon-to-target
assignment problem. We demonstrate that this technique generates solutions
substantially superior to those produced by human domain experts at a rate up
to 9.5 times faster than an optimization approach and can be applied to
optimally solve problems twice as complex as those solved by a human
demonstrator.Comment: Portions of this paper were published in the Proceedings of the
International Joint Conference on Artificial Intelligence (IJCAI) in 2016 and
in the Proceedings of Robotics: Science and Systems (RSS) in 2016. The paper
consists of 50 pages with 11 figures and 4 table
A Software Product Line Approach to Ontology-based Recommendations in E-Tourism Systems
This study tackles two concerns of developers of Tourism Information Systems (TIS). First is the need for more dependable recommendation services due to the intangible nature of the tourism product where it is impossible for customers to physically evaluate the services on offer prior to practical experience. Second is the need to manage dynamic user requirements in tourism due to the advent of new technologies such as the semantic web and mobile computing such that etourism systems (TIS) can evolve proactively with emerging user needs at minimal time and
development cost without performance tradeoffs.
However, TIS have very predictable characteristics and are functionally identical in most cases with minimal variations which make them attractive for software product line development. The Software Product Line Engineering (SPLE) paradigm enables the strategic and systematic reuse
of common core assets in the development of a family of software products that share some degree of commonality in order to realise a significant improvement in the cost and time of development. Hence, this thesis introduces a novel and systematic approach, called Product Line
for Ontology-based Tourism Recommendation (PLONTOREC), a special approach focusing on the creation of variants of TIS products within a product line. PLONTOREC tackles the
aforementioned problems in an engineering-like way by hybridizing concepts from ontology engineering and software product line engineering. The approach is a systematic process model consisting of product line management, ontology engineering, domain engineering, and application engineering. The unique feature of PLONTOREC is that it allows common TIS product requirements to be defined, commonalities and differences of content in TIS product
variants to be planned and limited in advance using a conceptual model, and variant TIS products to be created according to a construction specification. We demonstrated the novelty in this approach using a case study of product line development of e-tourism systems for three countries
in the West-African Region of Africa
A fuzzy associative classification approach for recommender systems
Despite the existence of dierent methods, including data mining techniques, available to be used in recommender systems, such systems still contain numerous limitations. They are in a constant need for personalization in order to make effective suggestions and to provide valuable information of items available. A way to reach such personalization is by means of an alternative data mining technique called classification based on association, which uses association rules in a prediction perspective. In this work we propose a hybrid methodology for recommender systems, which uses collaborative altering and content-based approaches in a joint method taking advantage from the strengths of both approaches. Moreover, we also employ fuzzy logic to enhance recommendations quality and eectiveness. In order to analyze the behavior of the techniques used in our methodology, we accomplished a case study using real data gathered from two recommender systems. Results revealed that such techniques can be applied eectively in recommender systems, minimizing the eects of typical drawbacks they present
- …