Fang Cao Yanchen Liu

Masood Mortazavi

Mengmeng Chen

Ning Yan

Chi Ku

Aniket Adnaik

Stephen Morgan

Fang Cao

Masood Mortazavi

Guangyu Shi

Yuhu Wang

Fan Fang
email: fangfan@huawei.com

Fang {yanchen Liu

Masood Cao

Mengmeng Mortazavi

Yan Chen

Chi Ningyan

Aniket Ku

Steve Adnaik

Morgan

DCODE: A Distributed Column-Oriented Database Engine for Big Data Analytics

Keywords: Distributed DBMS, Data Processing, Query Optimization

de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

With data collection methods continuously evolving, the demand for analytic results from the data we collect also increases. In scientific research, decision support, business intelligence, medical diagnosis, financial analysis, and numerous other fields it has become more crucial than ever to gain insights from organized data.

The sheer size of data in modern analytic tasks on large datasets makes using traditional row-based database systems quite impractical. On the other hand, column-based engines have shown better performance results for analytic queries [START_REF] Boncz | MonetDB/X100: Hyper-Pipelining Query Execution[END_REF][START_REF] Stonebraker | C-store: A column-oriented dbms[END_REF] primarily due to two reasons:

1. Only the specific columns needed have to be retrieved, which significantly reduces the amount of I/O dead weight when compared with the traditional row-based query processing model. 2. More sophisticated optimizations such as cache-conscious processing, vector compression and vectorized execution can be used, resulting in better use of modern CPUs' capabilities.

As such, column storage techniques have been used not only in relational database systems (broadly supporting SQL) but also in other large-scale data processing systems, such as Google Dremel [START_REF] Melnik | Dremel: Interactive analysis of web-scale datasets[END_REF] and Apache Drill [1].

Many existing systems for large-scale data processing have been built using Hadoop. Hive [2] and YSmart [START_REF] Lee | Ysmart: Yet another sqlto-mapreduce translator[END_REF] translate analytic queries into MapReduce jobs to be processed using Hadoop; others such as Cloudera Impala [3] and Facebook Presto [4] generate query equivalent operations directly over HDFS storage and bypass the MapReduce framework to improve query efficiency. While these systems achieve high scalability and reliability from their underlying Hadoop components, they nevertheless face the translation overhead from analytic queries to either MapReduce jobs or HDFS operations and miss many optimization opportunities frequently used by modern database systems. Moreover, these systems exhibit significant limitations on the types of SQL queries supported. Another system approaching scalable query processing is HadoopDB [START_REF] Abouzeid | Hadoopdb: An architectural hybrid of mapreduce and dbms technologies for analytical workloads[END_REF], which builds a hybrid engine taking advantage of the scalability of Hadoop as well as the fullfledged query processing capability of a DBMS but at the cost of maintaining two systems at the same time.

Motivated by pioneering work on database parallelism, we developed our analytic query engine DCODE on the following foundation: parallel processing of columnar data. Our original objective was to develop an efficient parallel processing engine for analytic workloads. Along the way, we investigated novel techniques, all implemented and verified in experiments. The major challenges and our responses can be outlined as follows: (i) Given column data distributed across multiple servers, the query processing engine has to be aware of the partitioning scheme so that it can dispatch tasks in a query plan to the proper servers for parallel processing. (ii) If a query contains a join operator over columns that differ in their partitioning keys or a group-by operator over non-partitioning keys, it is impossible to complete the execution without re-distributing or re-shuffling the original data. We address this issue by allocating a pair of exchange operators in the distributed query plan whenever re-shuffling is a must. Furthermore, as the dispatched query plans are running in parallel asynchronously, a light-weight scheduler is employed so that data dependencies between distributed operators are always guaranteed. (iii) Materialization strategy in a distributed column database engine has gone beyond the meaning of a non-distributed version [START_REF] Abadi | Materialization strategies in a column-oriented DBMS[END_REF]. Here we studied not only when the column data needs to be stitched together into rows, but also when a particular column requiring a re-shuffling operation has to have its value vectors re-shuffled during query execution. (iv) Finally, we investigated optimization opportunities such as remote query compilation, operator push-down, and optimal table selection for partitioned, multithreaded processing, which affect processing efficiency significantly in many types of analytic queries based on our complementary empirical investigations.

The rest of this paper is organized as follows. Section 2 describes major technique components and optimizations in the DCODE system. Section 3 briefly presents implementation details and evaluation results of the DCODE system. Our conclusions are presented in Section 4. The DCODE system consists of multiple shared-nothing commodity server nodes interconnected by high bandwidth Ethernet as shown in Figure 1. Each server node is running an independent, full-fledged engine instance, so that users can submit queries to any node in the system for distributed processing. The server node accepting user query will be in charge of coordinating all servers involved in query processing progress. After query processing is completed, it will also be in charge of aggregating partial results from all servers and presenting final results to users.

Each server node employs a query parser module which is capable of parsing query text into a query plan where each operator is an atomic sequence of low-level operations over columnar data. A scheduler module decomposes the query plan into multiple sub-plan tasks and assigns those tasks to corresponding servers that possess the column data. It also arranges the execution order of all tasks to ensure that data dependencies are always satisfied across multiple tasks. An access engine executes the operations over the column storage and generates results. Many optimization techniques are used in an optimizer for further improving DCODE's processing efficiency.

Parallel Query Execution

Horizontal Partitioning The DCODE system is capable of analytic query processing over a distributed column storage. For the purpose of parallel query execution, it partitions large tables across multiple server nodes horizontally according to either a range-based or a hash-based partition key values from the partitioning column or attribute. All other columns of the same table are copartitioned horizontally with the same partitioning column. Small tables whose sizes are below a certain threshold are simply duplicated across all server nodes for saving the cost of potential data transmission over network.

The partitioning column can be selected either manually or in a principled manner based on a query workload model to minimize data transmission cost.

Fig. 2. Exchange Operator Allocation

For example, choosing two columns of different tables that appear in an equijoin query condition as partitioning columns will increase data affinity and eliminate re-shuffling transmission cost. However, an optimal horizontal partitioning scheme of a database containing multiple tables will vary for different query workloads and data distributions. Thus, it is hard to achieve [START_REF] Zhou | Advanced partitioning techniques for massively distributed computation[END_REF].

Exchange Operator Allocation One key issue towards parallel query execution in DCODE is to deal with incompatible keys. In a distributed query plan, the input values of an operator might be partitioned in a different way than needed by the operator. For example, when there is a join operator over two columns differing in their partition keys, no matter whether these keys are from the partitioning columns or not, they cannot be joined directly. Instead, the values from one joining key have to be re-distributed using the same manner as the other, such as re-hashing based on a hash function. A similar situation happens when we have a group-by operator over a non-partitioning column. We abstract this re-distributing or re-shuffling process in an exchange operator in a distributed query plan, adopting notion similar to the Volcano model [START_REF] Graefe | Volcano -an extensible and parallel query evaluation system[END_REF] for parallel query processing.

In principle, a pair of exchange operators, i.e., exchange p (producer) and exchange c (consumer) will be allocated in a distributed query plan where data re-shuffling is a must. Operator exchange p obtains intermediate results from the previous operator and stores them in a local memory pool, which are then re-shuffled and consumed by a remote exchange c operator based on a new partitioning criterion required by the next operator. Note that we employ two exchange operators instead of one due to the fact that a consumer operator might absorb output results from multiple remote producer operators and they might be running in different operating system processes on different server nodes. An example of allocating exchange operators is shown in Figure 2, where the original plan is to join two tables T1 and T2 on keys T1.a and T2.b (in Figure 2a). Assuming these two keys are incompatibly partitioned, they cannot be locally joined. A pair of exchange operators are allocated in a distributed query plan for data re-shuffling (shaded in Figure 2b) to make the join possible. When there are multiple places needing re-shuffling in a query plan, multiple pairs of exchange operators have to be allocated and data will be re-shuffled several times.

Operator Scheduling As discussed above, a pair of exchange operators might be running on different sever nodes, and a consumer operator has to collect results from all working producer operators. A consumer operator has to wait if some of the producer operators have not yet finished their portion of assigned tasks. In order to coordinate all operators involved in such distributed computing tasks, a light-weight scheduler is deployed for synchronization of tasks, so that an operator will not be executed unless all input it requires has already been prepared. Before the intermediate results are collected by a consumer operator, they are temporarily stored in a local memory pool for better utilization of distributed memory storage. The scheduler module is duplicated across all servers, so that any one of the servers can be in charge of coordinating tasks. However, as for individual queries, DCODE activates only the scheduler on the server node accepting the query.

An example of operator scheduling in parallel query execution of a simple group-by query is shown in Figure 3. We assume the group-by query is on a nonpartitioning column. The scheduler module will then be activated on the server node accepting the query, i.e., Node 3 in Figure 3. The sequence of function calls as well as data transferring flow are labeled as (1)∼(9) in Figure 3. In (1), the scheduler on Node 3 will first send an execution request (as a remote function call) to the producer operators exchange p on all available server nodes that possess the column data, i.e., Node 1 and 2 in Figure 3. In (2), each corresponding producer operator obtains the data through an access engine of column storage (as a local function call). This data will be stored in a local memory pool in (3). The producer operator will then notify the scheduler that the request has been completed in (4). The scheduler will wait till all execution requests are completed to begin next operation. In (5), another execution request is sent to the group-by operator on each server which starts the consumer operators exchange c in (6). The consumer operator will call a remote Fetch function to obtain data from the memory pool in (7). The data will then be re-shuffled and sent back to a corresponding remote consumer operator in [START_REF] Abadi | Materialization strategies in a column-oriented DBMS[END_REF]. In the end, after all nodes finish the group-by operator, the results will be transferred back to Node 3 in [START_REF] Abouzeid | Hadoopdb: An architectural hybrid of mapreduce and dbms technologies for analytical workloads[END_REF]. Note that instead of collecting data directly from the consumer operator and doing all aggregation on Node 3, we apply the group-by operator to the intermediate results on each server node for better utilization of distributed computing resources.

Materialization Strategy

In a column database engine, although the intermediate computation could be based on column formatted data, the final results still need to be delivered as row formatted tuples. The operation that transforms columns into rows is called materialization. 1) An early materialization (EM) strategy [START_REF] Lamb | The vertica analytic database: C-store 7 years later[END_REF] will start forming row formatted tuples as soon as query processing begins. 2) A late materialization (LM) strategy [START_REF] Abadi | Materialization strategies in a column-oriented DBMS[END_REF], on the contrary, will not start forming tuples until part of the query plan has been processed. The advantage of EM is that it reduces disk I/O cost for data access. As columns are added to tuples immediately when they are encountered, the column values are accessed only once during query processing. The advantage of LM is that it is more CPU efficient as it requires fewer tuples to be transformed from column formatted data into row formatted data during query processing. It also allows query operators to use high performance vectorized operations over the compressed value list of offset positions.

In a distributed column database engine, besides the aforementioned CPU and disk I/O cost, data re-shuffling incurs additional network transmission cost in the total cost of a query plan. We investigated three different strategies: an early materialization strategy, a late materialization strategy, and a mixed materialization strategy [START_REF] Liu | Optimization strategies for column materialization in parallel execution of queries[END_REF]. In an early materialization strategy, column values are stitched into row formatted tuples as soon as a column is encountered. After column values are added into intermediate results, they will be re-shuffled together with the re-shuffling column. The consequence of early materialization is that although CPU and disk I/O costs are reduced, network transmission cost is increased for re-shuffling more data. In a late materialization strategy, the offset positions are used in both processing intermediate results and re-shuffling. Although CPU and disk I/O costs increase, network transmission cost reduce. Since there exists a trade-off between early and late materialization, we further proposed a mixed materialization strategy to take advantage of both. When there are multiple operators accessing different columns in a distributed query plan, for columns whose early materialization would have higher network latency during re-shuffling steps than re-access latencies, it is better to delay their materialization; while for others, the conclusion will be the reverse.

Optimizations in Query Processing

Beyond the core techniques discussed above, we have identified some subtle or system-dependent optimization opportunities in query parsing, query execution, and multithreaded processing during the implementation of DCODE system.

Remote Compilation During query processing, the input query text has to be first transformed into a query plan as an operator tree, and then transformed into a sequence of lower-level instructions accessing and operating column data. Such a process is called query compilation. Instead of compiling an entire query on a single server node and then sending generated code fragments to corresponding servers, it is more efficient to have all servers compile the same query simultaneously. Such remote compilation has two benefits: 1. No code transmission is needed. 2. The code generated locally can be optimized for execution based on different data characteristics and computing resources that are actually available, such as the number of CPU cores and the size of memory.

Operator Push-down Push-down optimization is also supported for a number of operators such as group-by, order-by, and top-N. And it is not only for reducing the intermediate result size but also for reducing the network transmission cost in distributed query processing. However, these operators cannot be directly moved down in an operator tree of a distributed query plan. Instead, an equivalent query plan has to be derived by keeping additional information for these operators. For example, if a group-by operator has to be moved down through a pair of exchange operators, the additional information kept will depend on the type of aggregation function, such as SUM() and AVG().

Fig. 4. Partitioning Table Selection for Optimizing Multithreading Processing

Optimization for Multithreaded Processing In modern DBMSs with multiple CPU cores, each thread is in charge of subtasks of computation with partial data. One key issue for gaining better performance using multithreading is load balancing. In the base open-source engine system of DCODE, a simple heuristic is employed to always partition the largest base table in a query plan, presumably dividing the largest computation task. However, as the size of intermediate results also depends on the previous operations and the selectivity of corresponding operators, a larger base table does not guarantee larger intermediate results.

We adopt a cost-based optimizer for finding the best partitioning table to improve multithreaded processing efficiency [START_REF] Liu | Cost-based data-partitioning for intra-query parallelism[END_REF]. The optimizer searches a space of all possible tables for partitioning, and ranks those partitioning tables based on a scoring function that captures multithreading efficiency. Once the optimal table for partitioning has been discovered, it generates a multithreaded execution plan. A concrete example of multithreaded processing is shown in Figure 4. Assume there are three tables T1, T2, and T3 in the query. T2 first joins with T3, and then joins with T1 (Figure 4a). If the cost-based optimizer determines that partitioning T2 will lead to the most efficient multithreading performance, it will split T2 into n parts with each part assigned to a separate thread (CPU core) for parallel processing. As shown in shaded region of Figure 4b, each thread computes a partial join of T2 with T3 and then a partial join with T1 separately. The final result is obtained by aggregating results from all threads.

3 Implementation and Evaluation

Implementation

We developed the DCODE system based on MonetDB [START_REF] Boncz | MonetDB/X100: Hyper-Pipelining Query Execution[END_REF], a state-of-the-art open-source column-oriented database engine optimized for analytic query processing over large data sets. MonetDB revolutionized almost all layers of a database management system. Its innovative contributions include a vertical partitioning storage model, a hardware conscious query execution architecture, vectorized execution, jut-in-time light-weight compression, adaptive indexing, and database cracking. The good performance of the DCODE system is largely based on the outstanding query execution engine built inside MonetDB.

To achieve distributed query processing capability for a column database, we have added additional data structures and optimization algorithms in many core components of the execution engine of MonetDB. Specifically, we added functions for parsing query text for generating a distributed query execution plan. We defined new query operators such as an exchange operator and corresponding evaluation algorithms. We added optimization functions for improving query processing efficiency. We added new statements for function generation and new low-level instructions for query execution. In total, we have developed over 10K lines of code inside the MonetDB kernel, and over 20K line of debugging code for testing and verification.

Evaluation

We deployed both a physical Linux server cluster and a virtual Linux container (LXC) cluster in our lab environment. Each physical server node in our cluster is running an Ubuntu Linux 3.5.0-17-generic x86 64 operating system on 2x Intel(R) Xeon(R) E5-2680@2.70GHz processors each with 16 effective threads and 20,480 KB cache. Each server node has 188 GB of RAM.

We used the standard TPC-H benchmark [5] to evaluate the performance of the DCODE system for analytic queries. We modified the DBGen program to generate distributed data by hash partitioning over a particular key column. The partitioning profile is stored locally so that each server node can access column data properly based on the distribution information. As discussed previously, because an optimal partitioning scheme is hard to achieve for distributed query processing, we simply partitioned the largest table in the TPC-H benchmark such as LINEITEM and ORDERS table in experiments although DCODE can handle arbitrary horizontal partitioning.

We evaluated parallel query performance of the DCODE system by comparison with other cutting-edge analytic query processing systems such as Impala v1.1.1 [3], Hive 0.10 [2] (in CDH 4.3.1), and Spark v1.0 [6]. Note that, these versions were the most up-to-date available when we completed our development, test and benchmarking work. For fairness, all systems are set up and evaluated in the same environment. For Impala and Spark, all tables were stored using its column format defined by Parquet [7].

In Figure 5, a selection of parallel execution experiment results are shown for TPC-H queries Q1, Q3, Q4, Q6, Q8, Q14 and Q16 of scale factor SF1000 on 16 server nodes. Missing results for a particular system means the query was not supported. From these and other results we concluded that the DCODE system has better coverage for TPC-H queries. As Figure 5 shows, when using query latency as the yardstick, DCODE always outperforms the other systems. With Q1, Impala and Hive achieved similar performance results to DCODE. Both were orders of magnitude slower in executing the remaining queries. Hive also suffered from the overhead of of its MapReduce framework. Spark 1.0 did not achieve comparable performance because the project was still in an early stage especially for query processing supports. We expect all these systems to have made improvements since we completed our study.

Conclusion

In this paper, a novel distributed column-oriented database engine (DCODE) is proposed. The framework uses multiple techniques, e.g. data horizontal partitioning, exchange operator allocation, operator scheduling, materialization strategy selection, and some other optimizations for query processing, the details of which are introduced respectively. We measured the performance of our DCODE system using the TPC-H benchmark. We examined system effectiveness. Our system can automatic process queries in SQL which made comparison with existing advanced systems, such as HIVE, IMPALA and SPARK quite possible. Our results demonstrate that column orientation is ideal for analytic processing. We also demonstrate that with the right architecture and judicious selection of implementations, we can assemble just the right technology to enable parallel distributed query processing in an existing open-source database.

Fig. 1 .

 1 Fig. 1. Architecture of DCODE 2 System Overview 2.1 Computing Architecture

Fig. 3 .

 3 Fig. 3. Operator Scheduling in DCODE

Fig. 5 .

 5 Fig. 5. Evaluation on TPC-H queries


Priagung Khusumanegara
email: priagung.123@gmail.com

Rischan Mafrur
email: rischanlab@gmail.com

Deokjai Choi
email: dchoi@cnu.ac.kr

Profiler for Smartphone Users Interests Using Modified Hierarchical Agglomerative Clustering Algorithm Based on Browsing History

Keywords: Smartphone, user interests, Modified Hierarchical Agglomerative Clustering

Nowadays, smartphone has been a life style for many people in the world and it has become an indispensable part of their live. Smartphone provides many applications to support human activity which one of the applications is web browser applications. People spend much time on browsing activity for finding useful information that they are interested on it. It is not easy to find the particular pieces of information that they interested on it. In this paper, userprofiler is presented as way of providing smartphone users with their interest based on their browsing history. In this study, we propose a Modified Hierarchical Agglomerative Clustering algorithm that uses filtering category groups on a server-based application to aid provides smartphone user profile for interests-focused based on browsing history automatically. Based on experimental results, the proposed algorithm can measure degree of smartphone user interest based on browsing history of web browser applications, provides smartphone users interests profile and also outperforms the C4.5 algorithm in execution time on all memory utilization.

Introduction

Today, many vendors such as Google and Yahoo store historical data in a users' browser to understand the type page that user is visiting. This information is used to show ads that might appeal to users based on their inferred interest categories. For example, if a user browses many sport-related websites displaying AdSense ads or watch sport-related videos on YouTube, it means Google and Yahoo may associate a sport interest category with their history and show the user sport-related ads. Information about user interests is useful both for users and service providers, user can easily find the information that they needed so they do not spend time to find it and in point of view service providers, they can also easily to provide advertisement and recommendation to the users who use their service. It is not easy to find the particular pieces of information that users interested on it. In this paper, we implement a serverbased application to provide smartphone user profile based on browsing history of web browser application. We propose a Modified Hierarchical Agglomerative Clustering algorithm that is inspired by Hierarchical Agglomerative Clustering algorithm. Our method can automatically provide smartphone user profile for interests-focused based on browsing history of web browser applications. First, we extract the useful information of historical web browser applications from smartphone users. Second, we use a distance function to calculate similarity distances between the extracted data. Third, we use Modified Hierarchical Agglomerative Clustering algorithm that use filtering category groups to provide smartphone user profile for interests-focused. The reminder of this paper is structured follows. The section 2 describes the previous studies. The data extraction and user profiling algorithm is presented in section 3. We then show the experimental results and evaluations of our work in Section 4. Finally, we conclude our findings and suggestions for future research in section 5.

Related Work

In this section, we will review some existing works on web log data mining. Previous researchers have investigated how to generate user profile based on web server data logs using various data mining technique. Most of the approaches concerned on user classification (supervised) method and clustering (unsupervised) method based on useful information from web server data logs. In Jian's et al. work [START_REF] Hu | Demographic Prediction Based on User's Browsing Behavior[END_REF], classification (supervised) method is used to predict users' gender and age from web browsing behavior. Santra et al. [START_REF] Santra | Classification of Web Log Data to Identify Interested Users Using Naïve Bayesian Classification[END_REF] research about identification interested users using naïve Bayesian classification based on web log data and also comparison between decision tree algorithm C4.5 and Naïve Bayesian Classification algorithm for identifying interested user. JinHuaXu et al. [START_REF] Jinhuaxu | Web User Clustering Analysis based on KMans Algorithm[END_REF] used KMeans algorithm for clustering web user based on web data logs. Xia Min-jie et al. [START_REF] Min-Jie | Research on Personalized Recommendation System for e-Commerce based on Web Log Mining and User Browsing Behaviors[END_REF] research using clustering technique based on web logs and users' browsing behavior to implement an ecommerce recommendation system. Neetu et al. [START_REF] Anand | Effective Prediction of Kid's Behaviour Based on Internet Use[END_REF] used classification technique to predict kid's behavior based on collected internet logs. Li et al. [START_REF] Li | Research of Analysis of User Behavior Based on Web Log[END_REF] focused on web log data processing to analyze and research the user's behavior. Shuqing et al. [START_REF] Wang | Algorithm Research on User Interests Extracting via Web Log Data[END_REF] provided novel algorithm to extract user's interest based on web log data and describes including long term interest and short term interest. Tsuyoshi et al. [START_REF] Murata | Extracting Users' Interests from Web Log Data[END_REF] described in his paper a method for clarifying user's interests based on an analysis of the site keyword graph. In this paper, we concern on how to provide smartphone user profile automatically using Modified Hierarchical Agglomerative Clustering Algorithm based on their historical logs of web browser applications in smartphone.

Data Extraction

In this work, we use browsing history data of 30 smartphone users that is collected during one month. In this study, we develop an android application that can be used to collect browsing history from all browser applications and then we install that application on each user's smartphone. The structure of collected data from user's smartphone is shown in Table 1. First is start by assigning each extracted URL data to a cluster, if we have URLs, it means we have clusters. Second, we compute the minimum distance between each cluster using Levenshtein distance function. Third, we find the closest (most similar) pair of clusters and merge them into a single cluster. Forth, we filter element of clusters using URL filtering categorizes. URL filtering categorizes will filter clusters based on keywords of users' interests. Fifth, we compute distances between the new cluster and each of the old clusters. We repeat steps 3, 4 and 5 until all extracted URL data has been clustered into a category of users' interests. After that we calculate interest degree for each category groups. Where rows represents category group of users' interests and columns represent keywords on each category group. We categorize the clustered results into category group based on keywords on matrix of filtering categories.

Experimental Results

In our study, we collected browsing history data of 30 smartphone users during one month continously. Browsing history data was tested on log files stored by the server.

We extracted collected data and then use proposed algorithm which is called by Modified Hierarchical Agglomerative Clustering to provide smartphone user profile for interests-focused. In our experiment, we compare the performance between our method and C4.5 algorithm.

Conclusion and Future Work

In this paper, we have implemented a server-based application that can be used to provide user profile for interests-focused based on browsing history of web browser applications. In our approach, we propose a Modified Hierarchical Agglomerative Clustering to cluster extracted data which can automatically provide an interests profile of smartphone users. Based on experimental results, the proposed method can measure degree of users' interests based on browsing history of web browser applications, inferring particular pieces of information particular pieces of information that they interested on it, and outperforms the C4.5 algorithm in execution time on all memory utilization. Because amount of data that will be processed is increased, so in the future we need to implement Map-Reduce algorithm on Modified Hierarchical Agglomerative Clustering to enhance performance of clustering algorithm.

Fig. 1 .

 1 Fig. 1. Execution time comparison with C4.5 algorithm Fig. 1 presents the execution time results of Modified Hierarchical Agglomerative Clustering algorithm (MHAC) and C4.5 algorithm. Our method consistently outperforms the C4.5 algorithm on all memory utilization in execution time. The results of degree of smartphone users' interests for each category are shown on Fig. 2. Finally, the results of smartphone user profile for interests-focused based on the highest degree for each user is shown on Fig. 3.

Fig. 2 .Fig. 3 .

 23 Fig. 2. Degree of smartphone user interests

Table 1 .

 1 The Example of Collected DataBased on the Table1, each row of collected data represents the URLs that the user visits. Attributes of the data include user ID, visit time, and URL data. A URL (Uniform Resource Locator) is the unique address of documents and other resources on the World Wide Web. The first part of URL structure is called a protocol identifier which indicates what protocol that is used, and the second part is called a resource name which specifies the IP address or domain name where the resource is located. In our work, we extract collected data to derive a resource name part of URL structure which is useful information to analyze user interests and after that the Modified Hierarchical Agglomerative Clustering algorithm is assigned to provide smartphone user profile for interest-focused.

	User ID Visit Time	URL
	10	1399652396.55 http://www.kakao.com/fightingkorea
	7	1399809440.79 http://cyber.kepco.co.kr/ckepco/
	1	1400251354.06 http://asked.kr/ask.php?id=1927949
	5	1399553574.34 http://m.winixcorp.com/
	5	1399637818.62 http://www.dalkomm.com/
	3.2 Modified Hierarchical Agglomerative Clustering Algorithm
	In this study, we have Modified Hierarchical Agglomerative Clustering to aid in
	providing smartphone user profile for interest-focused. We use	distance
	function to measure minimum distance between two extracted URL data. We use
		distance to measure minimum distance between two extracted URL
	data.	distance between two extracted URL data	is given by
	|	| |	| where,
			{
		{
	Where,	is the indicator function equal to 0 when	and equal to
	1 otherwise.

Table 2 .

 2 URL filtering categories

	Category Group Category Type
	Business	Business/Economy, Job Search/Careers, real estate, and shopping
	Communications	Blog/Web Communication, social networks,
	and search	email, and search engines /portals
	General	Computer/Internet, education, news/media, and reference
	Lifestyle	Entertainment, games, arts, humor, religion, restaurants/food, and travel
	In our real work, we classify URL filtering categories into four main categories. The
	categories and their category type are shown on Table 2. Filtering categories consists
	of business category group, communications and search category group, general cate-
	gory group, and life style category group. The matrix 𝐶 of size 4 × to represent
	filtering categories can denoted as
			𝑘 𝑦	𝑘 𝑦	… 𝑘 𝑦 𝑛
	𝐶 4𝑥𝑛 =	𝑘 𝑦 [ 𝑘 𝑦 3 𝑘 𝑦 4	𝑘 𝑦 𝑘 𝑦 3 𝑘 𝑦 4	… 𝑘 𝑦 𝑛 … 𝑘 𝑦 3 𝑛 … 𝑘 𝑦 4 𝑛 ]

Data Extraction and User ProfilingIn this section, we will describe about data extraction and each process to provide smartphone user profile for interest-focused based on browsing history of web browser applications.

Acknowledgements

This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (2012R1A1A2007014).


Zhaohao Sun
email: zsun@dbs.unitech.ac.pg

Francisca Pambel
email: fpambel@dbs.unitech.ac.pg

Fangwei Wang
email: fw_wang@mail.hebtu.edu.cn

Incorporating Big Data Analytics into Enterprise Information Systems

Keywords: big data, big data analytics, enterprise information systems, business intelligence, intelligent agents

Big data analytics has received widespread attention for enterprise development and enterprise information systems (EIS). However, how can it enhance the development of EIS? How can it be incorporated into EIS? Both are still big issues. This paper addresses these two issues by proposing an ontology of a big data analytics. This paper also examines incorporation of big data analytics into EIS through proposing BABES: a model for incorporating big data analytics services into EIS. The proposed approach in this paper might facilitate the research and development of EIS, business analytics, big data analytics, and business intelligence as well as intelligent agents.

Introduction

Big data has become a big gold mine of the 21 st century because of the miraculous success for big data companies such as Facebook, Google and QQ in the recent years. Big data and its emerging technologies including big data analytics have been making not only big changes in the way the business operates but also traditional data analytics and business analytics become new big opportunities for academicians and enterprise CEOs [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF]. Big data analytics is an emerging big data science, and has become a mainstream market adopted broadly across industries, organizations, and geographic regions and among individuals to facilitate data-driven decision making [START_REF] Sun | Integrating online social networking with ecommerce based on CBR[END_REF] [START_REF] Vesset | Worldwide Business Analytics Software 2013-2017 Forecast and 2012 Vendor Shares[END_REF]. According to a study of Gartner, worldwide BI (business intelligence) and analytics software, consisting of BI platforms, analytic applications and advanced analytics, totalled $14.4 billion in 2013, an 8% increase from 2012 revenue [START_REF] Van Der Meulen | Gartner Says Worldwide Business Intelligence and Analytics Software Market Grew 8 Percent in 2013[END_REF]. This fact enhances unprecedented interest and adoption of big data analytics. According to the annual survey results of 850 CEOs and other C-level executives of global organizations, McKinsey [START_REF] Mckinsey | The digital tipping point: McKinsey Global Survey results[END_REF] concludes that 45% of executives put "big data and advanced analytics" as the first three strategic priorities in both strategy and spending in three years' time and more than one thirds of executives will now spend or in three years' time in this area. IDC (International Data Corporation) predicts that the business analytics software market will grow at a 9.7% compound annual growth rate over the next five years from 2012 to 2017 [START_REF] Vesset | Worldwide Business Analytics Software 2013-2017 Forecast and 2012 Vendor Shares[END_REF].

Enterprise information systems (EIS) have been implemented or adopted in many firms in general and Fortune 500 companies in particular, and achieved performance excellence and enhanced decision making over the past few decades [6, p. 381]. EIS are based on organization-wide data and big data beyond the enterprise including that from the Web [START_REF]ERP and Big Data: The Inept Couple[END_REF]. How to use big data and big data analytics for improving EIS has become a big challenge for enterprises and the development of EIS recently [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF][START_REF]ERP and Big Data: The Inept Couple[END_REF].

The above brief literature review and discussion implies that the following important issues have not drawn significant attention in the scholarly peer-reviewed literature:



What is the relationship between big data analytics and EIS?



How can big data analytics be incorporated into EIS? This paper will address these two issues through reviewing and extending our early research on analytics service oriented architecture for EIS [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF]. More specifically, we first propose an ontology of big data analytics in Section 2 through overviewing our early work on business analytics and big data analytics [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF]. To address the first issue, this paper looks at EIS and its relationship with big data analytics in Section 3. To address the second issue, this paper proposes BABES: a model for incorporating big data analytics into EIS. The final sections discuss the related work and end this paper with some concluding remarks and future work.

An Ontology of Big Data Analytics

This section proposes an ontology of big data analytics and looks at the interrelationship between big data analytics and data analytics. To begin with, this section first examines big data analytics.

Big data analytics is an integrated form of data analytics and web analytics for big data [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF]. According to Beal [START_REF] Beal | Big data analytics[END_REF] and Gandomi and Haider [START_REF] Gandomi | Beyond the hype: Big data concepts, methods, and analytics[END_REF], big data analytics can be defined as a process of collecting, organizing and analyzing big data to discover patterns, knowledge, and intelligence as well as other information within the big data. Based on this definition, big data analytics can be considered a combination of big data management and big data mining, because the process of collecting and organizing big data belongs to big data management while the process of 'analyzing big data to discover patterns, knowledge, and intelligence as well as other information within the big data' is the main task of big data mining, where big data mining is a modern form of traditional data mining in the age of big data.

More generally, big data analytics is an emerging science and technology involving the multidisciplinary state-of-art information and communication technology (ICT), mathematics, operations research (OR), machine learning, and decision science for big data [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF][START_REF] Chen | Data-intensive applications, challenges, techniques and technologies: A survey on Big Data[END_REF]. The main components of big data analytics include big data descriptive analytics, big data predictive analytics, and big data prescriptive analytics [START_REF] Minelli | Big Data, Big Analytics: Emerging Business Intelligence and Analytic Trends for Today's Businesses[END_REF].

 Big data descriptive analytics is descriptive analytics for big data [START_REF] Delena | Data, information and analytics as services[END_REF]. It is used to discover and explain the characteristics of entities and relationships among entities within the existing big data [13, p. 611 An ontology is a formal naming and definition of a number of concepts and their interrelationships that really or fundamentally exist for a particular domain of discourse [START_REF] Gruber | Toward principles for the design of ontologies used for knowledge sharing[END_REF]. Then, an ontology of big data analytics is a network consisting of a number of concepts and their interrelationships for big data analytics.

Based on the above discussion, we propose an ontology of big data analytics, as illustrated in Figure 1. In this ontology, big data analytics is at the top while big data and data analytics are at the bottom. Big data descriptive analytics, big data predictive analytics, and big data prescriptive analytics are at the middle level as the core parts of any big data analytics.

In Figure 1, data analytics refers to as a method or technique that uses data, information, and knowledge to learn, describe and predict something [14, p. 341]. Data analytics is a science and technology about examining, summarizing, and drawing conclusions from data to learn, describe and predict something. In brief, data analytics can be then considered as data-driven discoveries of knowledge and intelligence and communications [START_REF] Delena | Data, information and analytics as services[END_REF]. The fundamentals of big data analytics consists of mathematics, statistics, engineering, human interface, computer science and information technology [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF][START_REF] Chen | Data-intensive applications, challenges, techniques and technologies: A survey on Big Data[END_REF]. The techniques for big data analytics encompass a wide range of mathematical, statistical, and modeling techniques [13, p. 590]. Big data analytics always involves historical or current data and visualization [START_REF] Sun | A theoretical foundation of demand-driven web services[END_REF]. This requires big data analytics to use data mining (DM) to discover knowledge from a data warehouse (DW) or a big dataset in order to aid decision making, in particular in the text of big business and management [14, p. 344]. DM employs advanced statistical tools to analyze the big data available through DW and other sources to identify possible relationships, patterns and anomalies and discover information or knowledge for rational decision making [13, p. 590]. DW extracts or obtains its data from operational databases as well as from external open sources, providing a more comprehensive data pool including historical or current data [13, p. 590]. Big data analytics is also required to use statistical modelling (SM) to learn something that can aid decision making [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF]. Visualization techniques as an important part of big data analytics make any knowledge patterns and information for decision making in a form of figure or table or multimedia. In summary, big data analytics can facilitate business decision making and realization of business objectives through analyzing current problems and future trends, creating predictive models to forecast future threats and opportunities, and optimizing business processes based on involved historical or current big data to enhance organizational performance [START_REF] Delena | Data, information and analytics as services[END_REF]. Therefore, big data analytics can be represented below.

Big data analytics = Big data + data analytics + DW + DM + SM + Visualization+ optimization 1

This representation reveals the fundamental relationship between big data, data analytics and big data analytics, that is, big data analytics is based on big data and data analytics. It also shows that computer science and information technology play a dominant role in the development of big data analytics through providing sophisticated techniques and tools of DM, DW, machine learning and visualization [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF]. SM and optimization still play a fundamental role in the development of big data analytics, in particular in big data prescriptive analytics [START_REF] Minelli | Big Data, Big Analytics: Emerging Business Intelligence and Analytic Trends for Today's Businesses[END_REF].

Enterprise Information Systems and Big Data Analytics

This section examines enterprise information systems (EIS) and its relationships with big data analytics.

EIS has drawn increasing attention in academia, organizations and enterprises over the past decades. EIS is also called enterprise systems [START_REF] Turban | Information Technology for Management: Improving Strategic and Operational Performance (8th Edition)[END_REF]. There are many different definitions on EIS. For example, EIS refers to as 1. Systems that help managers and companies to improve their performance by enabling them to seamlessly share data and information among departments and with external business partners [14, p. 287]. These systems integrate the functional systems such as accounting, finance and marketing as well as operations. 2. Enterprise software that are based on a suite of integrated software modules and a common central database [6, p. 363]. 3. Information systems that support activities in multiple departments of an enterprise [17, p. 605]. The first definition is self-contained for an EIS and emphasizes sharing data and information. The second stresses enterprise software with a common central database. The third one is a general definition. By integrating these three definitions, we can define an EIS as an information system that has a common central database and support activities in multiple departments of the enterprise through integrating the functional information systems (IS) such as accounting, finance, marketing and other operations' IS, and accessing the data resources available in the enterprise and on the Web. The support activities included will help managers and the enterprise to improve their business performance and decision making by enabling them to seamlessly share data and information among departments and with external business partners [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF].

EIS mainly consist of ERP (enterprise resource planning) systems, SCM (supply chain management) systems, CRM (Customer relationship management) systems and KM (knowledge management) systems [START_REF] Turban | Information Technology for Management: Improving Strategic and Operational Performance (8th Edition)[END_REF][START_REF] Laudon | Management Information Systems: Managing the Digital Firm[END_REF]. The ERP system is an EIS that processes the information of multiple departments such as human resources management, finance and accounting management, sales and marketing management, manufacturing and production management of an enterprise in a unified way [6, pp. 81-2]. The SCM system is used to manage the relationships with the suppliers. The CRM system is used to manage the relationships with the customers of the enterprise. The KM system is used to manage the processes for capturing and applying knowledge and expertise of enterprise.

Based on the previous subsection's discussion, big data analytics can facilitate the development of EIS, because it can support business decision making in the age of big data [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF]. Big data analytics also allows enterprises to enhance business performance, efficiencies and guides decision processes [START_REF] Kambatla | Trends in big data analytics[END_REF]. Both EIS and big data analytics are common in emphasizing the big data as a strategic resource for the development of enterprises, in particular for global enterprises. EIS involves interactive visualization for data exploration and discovery [START_REF] Brust | Gartner releases 2013 BI Magic Quadrant[END_REF], which can be considered as a part of big data analytics, as mentioned in Equation 1 of Section 2. EIS include analytical tools for using big data to evaluate the business and marketing performance [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF]. The analytical tools are a fundamental part of any big data analytics systems. This implies that EIS and big data analytics share some common tools to support business decision making and improve the business performance of enterprises.

Based on the research of IDC [START_REF] Parker | Australia Reaches a Tipping Point for Big Data Adoption[END_REF], Australian organizations expect big data and advanced analytics projects to deliver outcomes that will improve competitive advantage, enhance customer service and support, and aid with customer acquisition and retention. However, big data and big data analytics technology in the Australian industry demonstrate considerable variation in progress with some quite advanced with sophisticated and deeply embedded deployments within core business processes, whilst others are just beginning the journey [START_REF] Ditton | Big Data and Analytics in the Australia Industry[END_REF].

EIS are important information systems for improving business performance and business decision making of CEOs and enterprises. Big data analytics is a pivotal part for developing EIS [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF]. From a technological viewpoint, big data analytics is datadriven business oriented technique and facilitates business decision making, and improves EIS as a system component. From a data viewpoint, big data analytics relies on big data and data analytics; and big data have become a strategic resource for any organization and enterprise, in particular for multinational organisations as well as any EIS. Discovering useful patterns, information and knowledge from big data has become the central topic both for business operations and marketing and for EIS. This is just the task of big data analytics.

BABES: A Model for Incorporating Big Data Analytics into EIS

This section addresses how big data analytics can be incorporated into EIS through presenting a model for big data analytics-based EIS, for short, BABES.

Standalone enterprise systems have become a thing of the past [22, p. 382]. BABES incorporates big data analytics services into an EIS that consists of main functions of SCM systems, CRM systems and KM systems, as shown in Figure 2. In what follows, we will examine this model in some detail.

SCM systems are classified as either SC (supply chain) planning systems or SC execution systems [6, p. 370]. Then SC planning and SC execution are main functions of SCM systems. CRM systems mainly consist of sales, marketing and services [6, p. 379]. A KM system mainly is used to create, capture, refine, store, manage, disseminate, and share knowledge [START_REF] Sun | Experience management in knowledge management[END_REF]. Therefore, BABES includes SC planning analytics, SC execution analytics, marketing analytics, sales analytics, service analytics and big data analytics.

Master enterprise data warehouse (MEDW) mainly consists of data related to sales, marketing, services, customers, SC planning, and SC execution flowing from departments of marketing, human resources, and other data related to departments. All these can be considered as structured data. Enterprise knowledge base (EKB), a part of the KM system, consists of information and knowledge from the Web, call centers, direct mails, emails, retail stores, and clients and partners [START_REF] Laudon | Management Information Systems: Managing the Digital Firm[END_REF]. All these data of EKB are mainly semi-structured or unstructured data and information. EKB will play a more important role in EIS with incorporating big data analytics, because unstructured data constitutes about 95% of big data [START_REF] Gandomi | Beyond the hype: Big data concepts, methods, and analytics[END_REF].

Big data analytics is based on MEDW and EKB, and provides related information and techniques for sales analytics, marketing analytics, service analytics, SC planning analytics and SC execution analytics, each of them can be considered as an intelligent agent [START_REF] Sun | Intelligent Techniques in E-Commerce: A Case-based Reasoning Perspective[END_REF].

Analytics engine is a mechanism, as an intelligent agent, for managing and producing SC planning analytics, SC planning analytics, marketing analytics, service analytics, customer analytics, and big data analytics. Based on the foregoing equation ( 1), Analytics engine has OLAP, data mining, statistical modelling, optimization, visualisation tools and other data and knowledge analytical tools including soft computing, fuzzy neural networks, decision trees, and probabilistic models [START_REF] Chen | Data-intensive applications, challenges, techniques and technologies: A survey on Big Data[END_REF].

It should be noted that our proposed model BAES is to integrate SCM and CRM and KM, without including ERP, with big data analysis into EIS at the moment.

Related Work and Discussion

The authors have searched "enterprise systems" "big data" using ScienceDirect (on 18 May 2015), and there are a few real development of applying big data in enterprise systems. In which, two articles are related to our research. One is the Special Issue on "Intelligent Enterprise Systems" which means that big data has drawn attention from the intelligent systems community. Another is on ERP and big data [START_REF]ERP and Big Data: The Inept Couple[END_REF], which focuses on aligning big data with ERP and suggesting a future research agenda to bring together big data and ERP whereas our research focuses on techniques of incorporating big data analytics into EIS. We share the similar observation to that of Elragal [START_REF]ERP and Big Data: The Inept Couple[END_REF] that there are only a few research reports on how to integrate big data analytics into EIS although there are a significant number of researches on big data analytics. Furthermore, a basic search in Scopus and Google scholar (i.e. article title and key words) reveals that the number of papers published on "big data analytics Sales analytics

Big data analytics

Analytics engine GUI enterprise system" (in the title of papers) in journals and proceedings is small excepted our earlier work (retrieved on 8 April 2015). Therefore, how to integrate big data analytics with EIS is still a big issue for research communities. This motivates us to examine techniques for how to incorporate big data analytics into EIS.

We have mentioned a number of scholarly researches on data analytics, big data analytics, and EIS. In what follows, we will focus on related work and discussion on ontology of big data analytics, and the work of SAP as well as incorporation of big data analytics into EIS.

Ontology has been important in computer science and artificial intelligence [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF]. A basic search in Google scholar (i.e. article title and key words) reveals that there are a few publications entitled "ontology of big data analytics". We then explored it and put it as a part of this research through updating our early work on data analytics, business analytics and big data analytics [START_REF] Sun | Analytics service oriented architecture for enterprise information systems[END_REF]. We try to explore the interrelationship among big data analytics, big data descriptive analytics, big data predictive analytics, and big data prescriptive analytics using the proposed ontology. The result reported in this paper on ontology of big data analytics and big data analytics equation, which is an updated form of our early work, is only a beginning for providing a relatively comprehensive ontology of big data analytics. In this direction, we will investigate more academic reviewed sources as a future work to develop an ontology of big data analytics with three levels of knowledge concepts for each related analytics, that is, for each analytics in the ontology of big data analytics, we will examine its concepts, fundamentals, methodologies, tools and applications. Such an investigation would become an important guide for the research and development of big data analytics, and EIS. SAP, one of the leading vendors of ERP [START_REF]ERP and Big Data: The Inept Couple[END_REF], has introduced its enterprise serviceoriented architecture [6, p. 383]. SAP's architecture specifies general services to enterprise services whereas our BABES model specifies general services to big data analytics as a service. Big data analytics services should be a part of enterprise services, and then our BABES can be considered as a concrete application for the enterprise service-oriented architecture of SAP. However, SAP's enterprise system focuses on enterprise services in finance, logistics, procurement and human resources management as a part of its ERP system [START_REF] Laudon | Management Information Systems: Managing the Digital Firm[END_REF]. We conceive that our DBAES will be incorporated into the next generation EIS integrating SCM, CRM, and KM systems, in particular the cloud-based version of EIS.

Conclusion

The paper presented a timely critical investigation of an emerging area of big data analytics and its relationships to existing fields of IS research in general and EIS in specific. The two main contributions of this paper are an ontology of big data analytics and BABES: a model for incorporating big data analytics into EIS. The ontology of big data analytics is used to address what is the constitution of big data analytics and how its components are networked. The BABES reveals how to incorporate big data analytics into EIS. The discussion of the related work of SAP implies that the proposed DABES is useful for the development of EIS. The proposed approach in this paper might facilitate research and development of business analytics, big data analytics, EIS, and BI.

Besides mentioning in the previous section, in our future work, we will explore enterprise acceptability of DABES for EIS. We will also explore how to design and implement DABES. More specifically, we will address the main functions of EIS that should be based on DABES, and how DABES can be developed in order to incorporate big data analytics into EIS using intelligent agents technology [START_REF] Sun | Intelligent Techniques in E-Commerce: A Case-based Reasoning Perspective[END_REF].

Figure 1 .

 1 Figure 1. An ontology of big data analytics

Figure 2 .

 2 Figure 2. BAES: A model for incorperating big data analytics into EIS

Acknowledgments

We gratefully thank the four anonymous reviewers for their erudite comments which make us improve the quality of this paper.


Hiromichi Abe
email: hiromichi.abe@soc.ait.kyushu-u.ac.jp

Kazuya Kinoshita

Kensuke Baba

Shigeru Takano

Kazuaki Murakami

Analyzing Brain Waves for Activity Recognition of Learners

Understanding the states of learners at a lecture is expected to be useful for improving the quality of the lecture. This paper is trying to recognize the activities of learners by their brain wave data for estimating the states. In analyses on brain wave data, generally, some particular bands such as α and β are considered as the features. The authors considered other bands of higher and lower frequencies to compensate for the coarseness of simple electroencephalographs. They conducted an experiment of recognizing two activities of five subjects with the brain wave data captured by a simple electroencephalograph. They applied support vector machine to 8-dimensional vectors which correspond to eight bands on the brain wave data. The results show that considering multiple bands yielded high accuracy compared with the usual features.

Introduction

Understanding the states or emotions of learners is useful for improving the quality of the lecture. Learners' states are usually observed visually by the lecturer at the time or estimated by exams conducted after the lecture as a degree of understanding. However, especially in massive or on-line lectures, it is difficult to know the state of each learner at the lecture. Detecting learners' states automatically and in real time is expected to innovate in the current style of learning.

The aim of our research is to detect the states of learners from several kinds of sensor data. On the assumption that some particular activities of a person correspond to the states, we try to recognize activities to understand the states of learners. Activity recognition has been widely explored using video data. Recently, a spread of depth sensors enabled us to analyze the subject in terms of 3-dimensional coordinates [START_REF] Chen | A survey of human motion analysis using depth imagery[END_REF]. A camera with a depth sensor can recognize some motions, facial expressions, and eye movements with high accuracy. However, the target of our study is learners who are sitting with small moves, and hence we need another kind of sensor data in addition to image data for activity recognition with high accuracy.

We focused on brain waves, electroencephalography (EEG), captured by a simple electroencephalograph for activity recognition of learners as additional data to video data. Generally, it is said that EEG changes by the influence of the emotion of the person. However, usual electroencephalographs have a lot of electrodes and are not suitable for use by learners in a lecture. Moreover, some expert systems are expensive and unsuitable for a large amount of use. Especially for massive lectures, electroencephalographs are required to be easy to use and cheap.

In this paper, we evaluated the validity of using multiple bands of brain wave data captured by a simple electroencephalograph for activity recognition of learners. In usual researches of activity or emotion recognition by EEG data, some particular bands, called α and β waves, are used as features for analysis. We considered other bands of higher and lower frequency in addition to the usual features, α and β waves and their combinations, to improve low accuracy of the activity recognition by simple electroencephalographs. In our experiment, the subjects performed two activities, calculation and meditation, with a simple electroencephalograph which can output a spectrum of brain waves with the 8 kinds of bands. Then, we applied support vector machine (SVM) [START_REF] Hastie | The elements of statistical learning: data mining, inference and prediction[END_REF] to the 8-dimensional vectors, and investigated the accuracy of the activity recognition by comparison with scalar data based on the values of one or two bands.

As a result, the accuracy of the activity recognition by the data of the 8 kinds of bands was high compared with considering one or two features. Additionally, we confirmed that the simple electroencephalograph has a possibility of use for the activity recognition of learners.

The rest of this paper is organized as follows. Section 2 surveys related work of activity recognition of learners with EEG data. Section 3 describes the activities, the collected brain wave data, and the data analysis in our experiments. Section 4 reports the results of the experiments. Section 5 shows considerations about the results and future directions of our study.

Related Work

Our study is considering EEG data of learners captured by a simple electroencephalograph for state recognition.

A viewpoint of this survey is EEG data of learners. Some studies indicated a possibility of state or emotion recognition of learners by analyzing their EEG data. Wan et al. [START_REF] Wan | EEG: A way to explore learner's affect in pervasive learning systems[END_REF] investigated the characteristics of EEG data of learners in a Web-based lecture. Chaouachi and Frasson [START_REF] Chaouachi | Exploring the relationship between learner EEG mental engagement and affect[END_REF] showed a relation between EEG data of learners and the response time to some questions. These studies were using electroencephalographs with many electrodes rather than simple one.

The other viewpoint is EEG data by a simple electroencephalograph. Electroencephalographs with a few (dry) electrodes are less accurate than expert one, but those are easy to use for learners. Ishino and Hagiwara [START_REF] Ishino | A feeling estimation system using a simple electroencephalograph[END_REF] proposed a system which estimates the feeling of subjects by EEG data captured by a simple electroencephalograph with three electrodes. Vourvopoulos and Liarokapis [START_REF] Vourvopoulos | Evaluation of commercial brain-computer interfaces in real and virtual world environment: A pilot study[END_REF] evaluated a usability of a commercial and simple electroencephalograph for braincomputer interfaces. These studies were not necessarily considering learners as the target.

The study by Yoshida et al. [START_REF] Yoshida | Evaluation of the change of work using simple electroencephalography[END_REF] is similar to ours in the sense of the two viewpoints. They considered the changes of EEG data to evaluate the states of learners who repeated simple calculations. Then, they reported that the ratio of α wave to β wave was related to the activity in their experiment. Some recent studies investigated more complex relations between emotional states and the range of brain waves rather than the discriminated one such as the relation between relaxation and α wave. For example, Wang et al. [START_REF] Wang | Emotional state classification from EEG data using machine learning approach[END_REF] classified EEG data into some categories based on emotional states by machine learning. In our experiment, we considered the difference between two kinds of activities and compared the other kinds of waves in EEG data systematically in addition to α and β waves and the combinations of the waves.

Methods

The purpose of this paper is to clarify whether considering multiple bands of brain wave is useful for activity recognition compared with usual features based on a single band or a scalar from a few bands. We collected brain wave data of persons with two activities, and tried to recognize the activities from the data with considering several kinds of features.

Collected Data

We collected brain wave data of five subjects with the two activities:

-Calculation of simple additions and -Meditation with the eyes closed.

We used 10 × 10 matrixes with randomly chosen 20 single-digit numbers (Fig. 1) for the activity of calculation. We prepared a sufficient number of matrixes printed on papers, and the subjects tried to fill the matrixes as much as possible in each trial. The time for a single trial of an activity was 2 minutes, and the subjects repeated the two activities alternately 5 times for each with no interval. Therefore, the total time of the experiment for a subject was 20 minutes.

We used a simple electroencephalograph MindWave Mobile (Fig. 2) by Neu-roSky1 for collecting brain wave data. The simple electroencephalograph has only two electrodes and does not need any gel on the head of a subject for capturing potential differences. One of the electrodes is placed at front polar (the middle point of Fp1 and Fp2 in the international 10-20 system) and the other is placed at left earlobe (A1 in the international 10-20 system). The electroencephalograph (and an attached module) can output a spectrum of brain waves with the following 8 bands:

δ: 0.5-2.75Hz, θ: 3.5-6.75Hz, -Low-α: 7.5-9.75Hz, -High-α: 10-11.75Hz, -Low-β: 13-16.75Hz, -High-β: 18-29.75Hz, -Low-γ: 31-39.75Hz, and -Mid-γ: 41-49.75Hz.

The sampling frequency was 512Hz. The output rate of the spectrum was about 1 for a second. Therefore, we obtained about 6,000 (= 60 × 20 × 5) 8-dimensional vectors with the label for one of the two activities. Table . 1 shows the numbers of the generated vectors for the five subjects and the two activities. We simultaneously took video data of the subject for adjusting the time of each trial to the labels.

Data Analysis

We tried to recognize the two activities from the collected data. First, we considered the following 19 kinds of scalars: -Each element of the 8 bands, -The sum of low-α and high-α, -The sum of low-β and high-β, and -The ratio of β to α for the 9 combinations of (low-α, high-α, and the sum) and (low-β, high-β, and the sum).

Next, we considered the 8-dimensional vectors by the 8 elements. Additionally, we considered the simple moving averages of the collected data with ranges 10 and 20. The simple moving averages of a time series data v t with a range n is the time series data

u t = v t + v t-1 + • • • + v t-n+1 n .
Then, we obtained two data sets S 10 and S 20 in addition to the collected data set S 1 .

For the 20 cases, we applied SVM with a linear kernel to the three data sets. Concretely, we used the function ksvm in the package kernlab [START_REF] Karatzoglou | kernlab -an S4 package for kernel methods in R[END_REF] for R2 with the default values for the parameters. Then, we conducted 5-fold cross-validation [START_REF] Bishop | Pattern Recognition and Machine Learning (Information Science and Statistics)[END_REF], where the accuracy of an activity recognition is the ratio of the numbers of the vectors whose label was predicted correctly to the total number of the vectors. We set each test set in the cross-validation to correspond to a single trial of a subject, because vectors in the same trial tend to have similar values. The activity recognition was conducted for each subject separately, and the accuracy was calculated as the mean of the results for the 5 subjects.

Results

Table 2 shows the accuracy of the activity recognition for the 20 cases with the three data sets. The accuracy by considering the 8 bands was higher than other 19 cases for any data set, the accuracy was the highest (86.3%) with S 10 and S 20 . The accuracy by low-γ was the highest in the 8 bands for the three data set. The accuracy by considering the ratio of β to α was not high in any combination even compared with each case of the 8 bands. The graphs for some cases showed 5 peaks which correspond to the change of the activities. Fig. 3 is an example of the graph for the change of brain wave data over time. We can see from the graph that the data of low-and mid-γ divide the two activities.

Discussion

Major Conclusion

We found that the two activities could be recognized with high accuracy by considering multiple bands in brain wave data compared with usual features. At the same time, we confirmed that brain wave data obtained by the simple electroencephalograph includes useful information for this kind of activity recognition.

Key Findings

The optimal length of the range of the simple moving average was 16. By Table . 2, the accuracy was improved when we considered the average of the data for 10 or 20 seconds for any criterion. We additionally investigated the relation between the accuracy and the range of the simple moving average for the case of the 8 dimensional vectors. Figure 4 shows the accuracy against the range. The accuracy was the highest (86.9%) when the range was 16. Considering the average of data for about 20 seconds seems to be suitable for the activity recognition, which corresponds to the same analysis on another kind of activity recognition with EEG by a simple electroencephalograph [START_REF] Abe | Towards activity recognition of learners by simple electroencephalographs[END_REF].

We experimentally conducted personal identification by the collected data. In the experiments, we observed differences of brain waves between the subjects. Table 3 shows the results of the personal identification. We applied SVM with a linear kernel and 5-folds cross-validation as the activity recognition. We could not earn high accuracy for the personal identification with the data. The accuracy by the data for the activity calculation (43.9%) was better than meditation (28.8%).

The results indicate that we need other techniques to utilize the EEG data for personal identification.

Future Directions

The original goal of our research is to recognize the states of learners such as being concentrated or absentminded. In this paper we found that the collected brain wave data could divide the two activities, calculation and meditation, with a degree of accuracy, however there are some deviations between the activities and the states of the subjects. For example, we can consider the following noises: the brain wave data might have effects of (1) the move of the hands and (2) whether the eyes were closed. Therefore, our future work includes extra experiments with other activities such as

(1) Calculation without writing, or moving the hand and

(2) Meditation with the eyes opened, or opening and closing the eyes.

We are also planning to use EEG data for activity recognition with data collected by other sensors. Kamizono et al. [START_REF] Kamizono | Towards activity recognition of learners by kinect[END_REF] conducted a similar experiment of activity recognition of learners using video data with depth information. They considered four activities with great moves of the face (meditation, reading texts, looking away, and talking to another person). Moreover, it is possible to capture the heart rate of the subject from video data [START_REF] Poh | Non-contact, automated cardiac pulse measurements using video imaging and blind source separation[END_REF]. Therefore, we can expect improvement of the accuracy of activity recognition by combining these kinds of data with EEG data.

We evaluated the validity of using brain wave data with multiple bands for activity recognition of learners in a lecture. We conducted the experiments of activity recognition for two activities, calculation of simple additions and meditation with the eyes closed, with a simple electroencephalograph. We found that two activities could be recognized with high accuracy by considering multiple bands in the collected brain wave data compared with usual features. Additionally, we confirmed that brain wave data obtained by the simple electroencephalograph includes useful information for this kind of activity recognition.

Fig. 1 .

 1 Fig. 1. An example of the matrixes used for the activity of calculation. The subject fills each blank with the sum of the corresponding numbers.

Fig. 2 .

 2 Fig. 2. The simple electroencephalograph MindWave Mobile used for collecting brain wave data. The picture was downloaded from http://mindwavemobile.neurosky.com/ in May 2015.

Fig. 3 .

 3 Fig. 3. The changes of the brain data over time, where the values are for the 8 bands with the simple moving average of the range 20 of a subject.

Fig. 4 .

 4 Fig. 4. The accuracy of the activity recognition against the range of the simple moving average with the 8 dimensional vectors.

Table 1 .

 1 The numbers of the vectors for the five subjects and the two activities in the sample set.

		Calculation Meditation Total
	Subject 1	602	605 1,207
	Subject 2	602	625 1,227
	Subject 3	602	609 1,211
	Subject 4	604	622 1,226
	Subject 5	601	628 1,229
	Total	3,011	3,089 6,100

Table 2 .

 2 The accuracy of the activity recognition by SVM for the 20 kinds of features with the three data sets S1, S10, and S20.

		S1	S10	S20
	8 bands	79.1 86.3 86.3 (%)
	δ	69.1 78.7 76.6
	θ	64.7 78.3 79.0
	Low-α (α1)	55.3 64.7 66.3
	High-α (α2)	57.2 68.3 72.9
	Low-β (β1)	57.4 68.8 69.9
	High-β (β2)	61.4 71.4 73.2
	Low-γ	69.6 81.2 80.0
	Mid-γ	68.8 78.1 76.4
	α3 = α1 + α2 54.2 62.0 64.1
	β3 = β1 + β2 60.6 71.6 72.0
	β1/α1	50.4 51.0 50.4
	β2/α1	51.9 57.4 55.2
	β3/α1	51.5 53.7 53.8
	β1/α2	57.5 67.8 70.1
	β2/α2	59.6 70.4 72.1
	β3/α2	59.7 71.0 72.6
	β1/α3	56.8 65.5 67.0
	β2/α3	59.8 71.1 70.5
	β3/α3	59.6 70.7 70.6

Table 3 .

 3 The confusion matrix of the personal identification with the five subjects by S20.

	Predicted\Actual	1	2	3	4	5 Precision (%) F-measure (%)
	Subject 1	83 106 42 27 84	24.3	29.1
	Subject 2	66 79	2 50 26	35.4	35.1
	Subject 3	14 18 70 30 14	47.9	37.5
	Subject 4	22 11 113 90	7	37.0	38.3
	Subject 5	42 13	0 30 96	53.0	47.1
	Recall (%)	38.6 34.8 30.8 39.6 42.3	36.8

NeuroSky, MindWave Mobile, http://mindwavemobile.neurosky.com/ (accessed in May

2015).

The R Project for Statistical Computing, http://www.r-project.org/ (accessed in May 2015).

Acknowledgment

This work was partially supported by a joint research with Panasonic Corporation from 2014 to 2015 and the Center of Innovation Program from Japan Science and Technology Agency, JST.


Hugo Dorez

Raphaël Sablong

Sophie Gaillard

Driffa Moussata

Hélène Ratiney

Olivier Beuf

IMAGERIE MULTIMODALE IRM/OPTIQUE POUR LE SUIVI DES ANOMALIES TISSULAIRES COLORECTALES

Introduction

Les maladies inflammatoires chroniques de l'intestin (MICI) possèdent une forte probabilité d'évolution vers le cancer colorectal (CCR) [START_REF] Bretthauer | Colorectal cancer screening: Review: Colorectal cancer screening[END_REF]. Afin de prévenir la survenue du CCR, il est impératif de pouvoir examiner précisément l'inflammation précoce ainsi que les stades précancéreux (dysplasie), liée à ces MICI, mais également de pouvoir en suivre l'évolution. Pour cela, nous présentons un protocole d'imagerie multimodale permettant le suivi du développement du CCR à plusieurs échelles et plusieurs sources de contraste. Le suivi du CCR est réalisé sur un modèle murin de colite inflammatoire aboutissant au CCR pouvant être résumé par la séquence simplifiée : inflammation, dysplasie et cancer.

Méthodes

Le suivi des lésions s'effectue sur 20 souris chimiquement traitées à l'aide d'une combinaison d'azoxyméthane et de dextran sulfate sodium, 12 animaux supplémentaires servent de contrôle. Les souris sont imagées toutes les 6 semaines pendant 6 mois. Le protocole combine séquentiellement l'endoscopie conventionnelle (EC) en lumière blanche, la chromoendoscopie (CE) et l'endomicroscopie confocale (EMC). L'IRM endoluminale est ensuite réalisée à l'aide de capteurs endorectaux (CER) développés pour les besoins de l'étude [2]. L'EC permet la détection et la caractérisation millimétrique en surface des anomalies. De manière similaire, la CE permet de rehausser le contraste muqueux et d'améliorer la sensibilité de détection des lésions planes et déprimées, qui suggèrent des atteintes généralement plus graves. L'EMC est quant à elle utilisée pour caractériser microscopiquement l'architecture du réseau microvasculaire ainsi que la forme et la distribution des cryptes constituant la surface épithéliale (≈100µm). Finalement, l'IRM endoluminale est utilisée pour caractériser les lésions en profondeur et pour stadifier l'évolution des tumeurs.

Résultats

Chaque stade de la pathologie présente des motifs caractéristiques observés à l'aide des différentes modalités d'imagerie (voir figure 1). L'inflammation précoce se caractérise par une déformation des cryptes et une déstructuration du réseau microvasculaire. Aux stades dysplasiques, la prolifération cellulaire anarchique mène à des fusions des cryptes et à une perméabilité membranaire accrue liée à une extravasation de l'agent de contraste. Enfin, le CCR se traduit par l'observation de massifs tumoraux hypervascularisés à l'aide des modalités optiques. L'IRM endoluminale peut permettre de détecter l'inflammation précoce (épaississement du complexe colique) et également d'apprécier en profondeur l'évolution des lésions précancéreuses et tumorales.

Figure 1 -

 1 Figure 1 -Images obtenues au cours du suivi pour chaque stade caractéristique de la pathologie à l'aide des différentes modalités d'imagerie utilisées. Discussion Le protocole permet le suivi à plusieurs échelles de la séquence de développement du CCR évoluant sur terrain inflammatoire chez le petit animal. La combinaison des modalités d'imagerie utilisées au sein d'un même protocole permet d'améliorer la sensibilité de détection des lésions et d'en caractériser l'état en surface et en profondeur.

Remerciements

LABEX PRIMES (ANR-11-LABX-0063).