WO2022263722A1 - Activity recommendation system and related method - Google Patents

Activity recommendation system and related method Download PDF

Info

Publication number
WO2022263722A1
WO2022263722A1 PCT/FI2022/050415 FI2022050415W WO2022263722A1 WO 2022263722 A1 WO2022263722 A1 WO 2022263722A1 FI 2022050415 W FI2022050415 W FI 2022050415W WO 2022263722 A1 WO2022263722 A1 WO 2022263722A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
user
recommendation
external
activity
Prior art date
Application number
PCT/FI2022/050415
Other languages
French (fr)
Inventor
Roope Rainisto
Janne Jormalainen
Original Assignee
New Nordic School Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New Nordic School Oy filed Critical New Nordic School Oy
Publication of WO2022263722A1 publication Critical patent/WO2022263722A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • G06Q50/2053Education institution selection, admissions, or financial aid
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Definitions

  • the present invention pertains to electronic devices, systems, platforms, and methods executed by such entities.
  • the present invention relates to implementation and utilization of an activity recommendation system harnessing machine learning (ML) for the purpose.
  • ML machine learning
  • Modern world offers a wide variety of mutually quite different options to people willing or expected to study and learn things in schools, universities, community colleges, and other learning institutions, if not on their own, while also imposing related challenges on the learners.
  • the world is huge outside the schools and other learning institutions with reference to all available participation possibilities in terms of e.g., extracurricular activities such as hobbies, societies, events and alike.
  • the objective of the present invention is to at least alleviate one or more of the ever-growing challenges already alluded to above in the context of information management, personal time management, service and product promotion as well as education and common social needs, for example.
  • an activity recommendation solution which may be embodied e.g., as an electronic system, a method, or a computer program for execution on at least one computing device of the system.
  • an electronic recommendation system typically implemented by one or more at least functionally connected devices such as server computers, comprises a user (e.g., student) tracking component; environment tracking component; machine learning component; and recommendation component: as well as a communication interface for data transfer with external devices, systems or entities; wherein the electronic recommendation system is configured to: obtain by the user tracking component, user data indicative of users’ performance in studies at one or more learning institutions, study subjects the users are associated with, optionally including curriculum, and optionally also, personal interest of the users’ related to the study subjects; by the environment tracking component, external activity data indicative of a plurality of activities available in the environment external to the studies at the learning institution, the external activity data specifying activities, preferably also locations of the activities and further preferably one or more temporal characteristics such as the time, frequency and/or duration of the activities; wherein the user data preferably further includes activity data indicative of the external activities of the users (advantageously at least specifying the activities themselves if not e.g., any of the further characteristics listed above
  • a computer-implemented method for issuing recommendations comprises: obtaining user data indicative of users' performance in studies at at least one learning institution, study subjects the users are associated with, optionally including curriculum, and optionally also, personal interest of the users' related to the study subjects; external activity data indicative of a plurality of activities available in the environment external to the studies at the learning institution, the external activity data specifying activities, preferably also locations of the activities and further preferably, one or more temporal aspects such as the time, frequency and/or duration of the activities; wherein the user data preferably further includes activity data indicative of the external activities of the users; determining at least one machine learning based model linking the user data with the external activity data; and providing a recommendation of at least one external activity of the plurality of activities for a target user through the utilization of the at least one model determined by the machine learning component and user data of the target user; preferably wherein responsive to user feedback concerning the provided recommendation at least one of said at least one model is updated.
  • the feedback preferably obtained and utilized for updating the model(s) may be implicit such as indications of subsequent user actions (whether the target user is detected exercising a recommended activity or not, and optionally to which extent) and/or user (study) performance, based on which the pertinence of the given recommendation may be afterwards evaluated according to selected criteria.
  • the feedback preferably obtained may be explicit; the target user or e.g., their learning institution may have directly indicated whether the recommendation was successful or not in meeting its goals such as provision of recommendation the user likes or finds interesting, or based on which the user’s performance in studies, such as at least one studied subject, was indeed enhanced.
  • the user data regarding the target user and/or other users may in addition to characteristics described above, further include user location data indicative of the location(s), such as current location, default location, home location, and/or learning institution location of a concerned user.
  • the location(s) of a user may be first implicitly or indirectly obtained and derived further.
  • the user data may include an indication of the learning institution(s) the user is associated with, and as the system may be also provided with information about the location of the institution(s), the location of a user may be determined based on such data linkage for the purposes of the present solution.
  • Location data may herein generally refer to and include e.g.
  • address data and/or other location data such as (geographic) coordinate data optionally in 2D (projected) or 3D format.
  • address data such as street address may be converted into coordinates, for example.
  • the location data may be utilized e.g., for providing the target user with a reasonable recommendation of external, such as essentially extracurricular, activity not undesirably far away from the target user’s typical location(s), such as the location of the learning institution(s) or home. Therefore, at least the user data of the target user thereby preferably indicates a location of the target user or a location at least positively relevant such as accessible to the target user.
  • the location is indicated with a resolution considered sufficient, which means in the context of various embodiments of the present invention enabling the system to provide the user with pertinent recommendation(s) of external activities also spatially.
  • pre-stored location data such as home or institution (inst) address concerning the (target) user
  • their current or recent location could be obtained, optionally substantially even in real-time or at least somewhat in real-time, by receiving an indication of the location e.g., from their client device or associated (client) application based on e.g. network positioning or satellite positioning (e.g. GPS, Global Positioning System, or GLONASS, Global Navigation Satellite System) taken place in the client device.
  • network positioning or satellite positioning e.g. GPS, Global Positioning System, or GLONASS, Global Navigation Satellite System
  • the utilized criterion or threshold for a maximum suitable, or accessible, distance of an external activity from a location associated with the target user may be selected embodiment-specifically and in some embodiments be included e.g., as a user adjustable or user-specific, learning institution - specific, or activity -specific (e.g. activity category, type or instance specific, with reference to contemplations hereinafter) item in the settings of the solution.
  • the maximum (threshold) distance could be generally defined as few kilometers, e.g. about 3, 5, 10, 20, or 50 kilometers.
  • more versatile movement or location characteristics of the target user could be monitored by the system based on related data potentially including tracking data such as the aforementioned network positioning, satellite positioning or other location -indicative data obtained by the present system.
  • the client device or application running on a client device of the target user could be configured to provide such data to the system, or the system could itself inquire or fetch it, or e.g., the target user could input the data in the system by themselves optionally via their client device.
  • the threshold could be determined by the system according to a selected logic. For example, the area, radius, diameter, or distance spanned by the target user, optionally within a selected time window (e.g. a day, week or month) indicated by the data could translate to the maximum distance according to the logic optionally including a mapping data structure such as a table. For instance, positive correlation type mapping could be utilized, wherein a larger area, radius, diameter or distance spanned by the target user converts into a larger maximum distance (threshold distance) for filtering the external activities, and vice versa.
  • the utility of the present invention arises from a plurality of factors depending on each particular embodiment thereof.
  • the present invention provides a technically and computationally efficient while highly adaptive and greatly (in many cases fully) automated tech-driven solution for providing e.g., students at different learning institutions, and also other types of users whenever desired, with pertinent and also advantageously spatially if not temporo- spatially optimized recommendations of external or specifically, extracurricular activities that benefit them in a number of ways.
  • a previous or current state of a user is thereby determined by measurements or other type of data capturing, and then utilized for predicting a different (preferred or enhanced, as per used criteria) future state responsive to activities pursued by the user in the meantime, subjecting the user to stimulation such as physiological stimulation.
  • the recommended activities when subsequently indeed pursued by the users, may facilitate and support studies, help finding new hobbies or other activities, bring about enjoyment, foster curiosity and inspiration, enable maintaining or creating social contacts, etc. with particular ease, through essentially effortless use of e.g., an ordinary client terminal such as a smartphone, a tablet or a desktop/laptop computer.
  • an ordinary client terminal such as a smartphone, a tablet or a desktop/laptop computer.
  • Different service providers of external activities and their potential users are cleverly digitally matched and linked together.
  • Various embodiments of the present invention and associated features may be implemented with widely available general-purpose hardware components such as computers provided with tailored functionalities via specially designed software, while also for the software functionalities may pre existing software modules, libraries or other elements be applicable as discussed hereinearlier.
  • a plurality of may refer to any positive integer starting from two (2), respectively.
  • first and second are herein used to distinguish one element from other element, and not to specially prioritize or order them, if not otherwise explicitly stated.
  • any reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure.
  • Fig. 1 illustrates one embodiment of a smart learning platform that could be used as a technological back-bone or at least a connected entity in various embodiments of the present invention.
  • Fig. 2 illustrates, by way of example only, devices potentially participating to the overall system operation.
  • Fig. 3 illustrates an embodiment of an electronic device potentially utilized in connection with the present invention to implement or interface at least portion of a recommendation system described herein, execute the related method described herein, and/or host the computer program described herein.
  • Fig. 4 illustrates a possible use scenario and elements of various embodiments of the present invention with related hardware and functional aspects as well as preferred likely stakeholders.
  • Fig. 5 is a flow diagram of a method in accordance with an embodiment of the present invention.
  • Various embodiments of the present invention may comprise or be at least connected to a smart learning system 100, also referred to as smart learning platform, an example of which is illustrated in Figure 1.
  • the smart learning system 100 is or may be configured as a digital tool for assisting learning in preferably hybrid learning environment comprising face-to-face learning, i.e. classroom learning environment, and digital learning occurring online or offline.
  • the smart learning system 100 advantageously uses data from several sources to optimize the learning between these two learning environments.
  • the smart learning system 100 may in some embodiments generally comprise a first component 110 e.g., for classroom learning and a second component 120 e.g., for distance learning.
  • the second component 120 can preferably be utilized in both online and offline learning mode.
  • Both the first and the second components 110, 120 may comprise a number of various at least functionally identifiable or distinguishable computer modules to carry out functionalities of the smart learning system.
  • the modules may be utilized for Ul purposes, collecting data, sending data, processing data with respect to the users such as students and teachers, and the remaining system. Actual functions of the modules may be determined separately for each implementation by a skilled person depending on the characteristics of the intended use scenario and context.
  • the smart learning system 100 may communicate with various client applications 99 through an interface 105.
  • the client applications may in some embodiments be independent third-party applications that are used as learning and/or teaching platforms by students and teachers.
  • One or more of such applications 99, or at least their respective user interfaces or other portions, may be located on a client device.
  • the client device for a student may comprise one or more learning applications/platforms or their interfaces
  • the client device for a teacher preferably comprises one or more teaching applications/platforms or their interfaces.
  • An application may be, for example, any educational application or a platform that is used for receiving schoolwork and educational material from a teacher user, and completed homework and other school-related data from a student user.
  • Said applications communicate with the smart learning system 100, whereupon the smart learning system 100 may analyze the learning curve or study performance of the student, and control and adjust the educational material of the teacher.
  • the data that is received from the applications may be processed by a machine learning component.
  • the machine learning component 130 operates with the various modules of the smart learning system to generate intelligent decisions based on the received data according to the needs of said modules.
  • the machine learning component 130 may be utilized to determine or train, and preferably subsequently host and/or update (parameters of) one or more advantageously ML-based models, including e.g. an artificial neural network, random forest, reinforcement learning model, regression model and/or (advanced) decision tree, based on the input data.
  • the machine learning component may implement a machine learning algorithm, which may be based on deep learning, for example.
  • a (deep) neural network - as an example of at least a feasible part of a machine learning algorithm - comprises an input layer and an output layer, and a plurality of hidden layers therein between.
  • Each of the layers comprises (neuron) units that are configured to implement an activation function based on an input it receives.
  • the output of the activation function is forwarded to the units of the next layer, if the output exceeds a certain threshold, for instance.
  • the machine learning component 130 can in some embodiments be referred to as “global machine learning service”.
  • global machine learning service there can be an ML algorithm located on a student device, a ML algorithm located on teacher’s device, and/or an ML algorithm located on a further device.
  • ML algorithms are referred to as “local machine learning algorithms”.
  • the operation of a used machine learning algorithm may be based on training which is performed using training data typically in the form of a training data set comprising data that is representative of the actual data being received by the machine learning algorithm.
  • the purpose of the training is to find parameters (also referred to as “weights”) by means of which the loss of the algorithm will be minimized (optimization).
  • the training can occur in a supervised manner or unsupervised manner. Reinforcement learning or a hybrid approach, combining any of the previous learning options, may be utilized as well.
  • training may comprise batch learning and/or online learning.
  • the data gathered through years can be used as at least part of a training data set.
  • Such data comprises digital educational material; exams; assignments; historical data on students’ input to such exams and assignments; indications of students’ performance (e.g. grades) or generally, students’ progress on the educational material; students’ feedback on the lessons.
  • data that is gathered during the smart learning, during lessons can be continuously fed to the machine learning algorithm to enable continuous learning of any of the used algorithms.
  • the training data set could comprise video and audio recordings of a student (near a computer or at the classroom), student device activity during class and corresponding labels (i.e., was the student focused at a particular time frame).
  • Data set may be anonymized in order to protect privacy of the students.
  • the training data and related data set(s) may include, besides indications of the students’ performance in studies and possible other indicators, indications of activities generally available and/or already performed by the students as deliberated in more detail hereinafter.
  • At least part of the training data e.g., for supervised learning may be synthetic, i.e. it may have been artificially created by selected data augmentation method(s), for instance, to obtain or guide the created model(s) to provide a desired result when utilizing the model (given a certain input, outputting a desired output) after the initial training and during the actual, so-called production phase, for example.
  • FIG 2 illustrates devices potentially participating to the overall system operation.
  • the smart learning platform with the respective first and second components is arranged into a server 200 and is preferably connectable by at least one teacher device 210 and a plurality of student devices 220 (clients).
  • the server entity 200 can be formed of one or more servers (server devices/computers), some of which can be arranged in a cloud.
  • the server 200 may comprise or be in connection with at least one (global) machine learning model 230 and/or at least one database 240 for storing data.
  • the teacher device 210 and the plurality of student devices 220 may communicate with the server 200 e.g., through first and second components (as discussed with reference to Figure 1 ).
  • the teacher device 210 uses the first component for the classroom learning for carrying out the teaching in the classroom.
  • the teacher device 210 uses the second component for distance learning for providing teaching over network.
  • the student device 220 uses the second component when the student is participating the lesson online or offline.
  • the student device 220 has a component to be utilized when participating the lesson in the classroom.
  • a student device 220 can be a smart phone, a tablet device, a laptop computer, a (desktop) personal computer or any other similar device.
  • a teacher device 210 may be a smart phone, a tablet device, a laptop computer, a (desktop) personal computer or any similar device.
  • the system may comprise tracking devices, such as video and/or still cameras, and/or microphones, and/or audio recording means.
  • the student device 220 is usable by a student while studying remote, but sometimes also when studying at the classroom.
  • the student device 220 may comprise a local ML algorithm by means of which data from devices (watches, video camera, microphone, navigation tracker, etc.) is synchronized.
  • the local ML algorithm is preferably configured to locally determine how focused the respective student is at the moment, and to send statistics to the global ML service.
  • the teacher device 210 is also usable at the classroom environment, but the teacher is also able to use the teacher device 210 outside the classroom.
  • the teacher device 210 may comprise a local ML algorithm to track students by using cameras/microphones installed in classroom, and to send statistic to the global ML service.
  • the tracking devices may be integrated to the student device and/or teacher device, but the system may contain independent tracking devices being installed in classrooms or student’s room at home.
  • Figure 3 illustrates an example of a device 300.
  • the device can be a teacher device and a student device, or generally a client device, for a purposes of the smart learning system shown in Figure 2.
  • the server 200 may contain one or more elements identical or similar (functionally and/or hardware-wise) to the ones described hereinafter, included in one or more server devices that are preferably at least functionally connected.
  • the device 300 preferably comprises at least one processor 310 (e.g., microprocessor, microcontroller, signal processor, ASIC (Application Specific Integrated Circuit), programmable logic chip, system-on-a-chip, etc.), a memory 320, a (wireless and/or wired) communication (e.g., network) interface 330 and/or a user interface 340.
  • the memory 320 comprises a computer program code for causing the device to carry out various functionalities e.g., for determination and utilization of machine learning -based or other model(s), and related data processing and communication tasks.
  • the memory 320 may also contain application data, user data, activity data (may be part of the user data and/or external thereto, as discussed hereinelsewhere) and any other data needed.
  • the data may generally include user (students, teachers) data of a number of users and/or other data falling into e.g., one or more categories selected from the group consisting of: teacher’s profile (age, gender, educational background, experience, PD (Professional Degree) history, curriculum, work time management/follow-up); student profile (age, gender, educational history, curriculum, special education needs, other medical history); school’s (or generally, learning institution’s) profile (country, location, size, curriculum, learning environment specifications, teachers/specialized teachers); class profile (number of students, students, student-teacher ratio); planned learning activities (project topics, standards, subject-matter, level, duration, learning material, teachers, students); project based learning modules (SDGs, standards, subjects, core competences, content areas, desired end product, assessment, differentiation, activities to reach the objectives, materials); learning activity (time, duration, action of the teacher/student); observation/assessment/performance (time, duration, assessment result, e.g.
  • teacher teacher’s profile
  • PD
  • Data may be organized into one or more data sets and/or stored in one or more databases and/or other data collections or data structures (tables, etc.), for instance.
  • the communication interface 340 enables wired and/or wireless short or long range communication with other devices.
  • Examples of the communication networks comprises any data transfer technology, such WLAN (Wireless Local Area Network), wireless mobile networks of different generations (3G - 5G and forward); LAN (Local Area Network); etc.
  • Data transfer networks that are utilized by the smart learning system comprises the available or the future technologies, and therefore they are not discussed further in this specification.
  • the user interface 340 comprises, as discussed also hereinelsewhere, means for a user (e.g. a teacher or a student) to provide data to the system and to view data from the system, for instance.
  • the device can be a mobile device, such as a smartphone, a mobile phone, a tablet device, a laptop computer, etc.
  • the device can be a personal computer.
  • the Ul may comprise a proprietary client software and/or server software, and/or it may include more general use components such as a web browser application.
  • the Ul may include a number of hardware elements, such as a display, keyboard, keypad, touchscreen, speech recognition Ul, communication adapter such as a transceiver, etc. Accordingly, in various embodiments, the Ul 340 and communication interface 330 may overlap and contain thus shared elements as being easily apprehended by the skilled person.
  • Fig. 4 illustrates, at 400, a possible use scenario of various embodiments of the present invention, having regard to a suggested recommendation system and a method executed by it, with related hardware, functional aspects and potential stakeholders.
  • the elements illustrated with broken lines may in various embodiments be considered optional.
  • Previously discussed features and elements of the smart learning system platform 100 may be at least selectively utilized in the suggested recommendation system 400 as well, with reference to e.g., a machine learning component 130, server 200, device internals 300, model 230, database 240, etc., as elements thereof, and/or the recommendation system 400 may be, depending on its particular embodiment, implemented as a separate system that is optionally still at least functionally, such as communications-wise, connected to one or more elements of the smart learning platform 100 to exchange data, utilize its’ element(s) for processing, etc.
  • a person skilled in the art may thus determine a best-suiting co-implementation or collaboration scenario between the recommendation system 400 and (remaining) smart learning platform 100 in the light of a concerned use case and its characteristics.
  • some examples of previously illustrated elements of the smart learning platform 100 that could be utilized also in the recommendation system 400 of Fig. 4 for the same and/or different purpose, have been indicated as additional reference numerals in parenthesis, matching the ones of the preceding figures.
  • Various elements, or components, of the suggested recommendation system 400 may be generally implemented by a combination of tailored software and more general purpose hardware (processor, memory, communication interface, etc.), and/or using special hardware as well, for example.
  • the system 400 could be considered to cover also one or more client devices of e.g., users 402a and/or 402b.
  • the recommendation system 400 comprises a communication interface 430 such as the communication interface 330 already discussed hereinbefore. It may include a communication adapter such as a transceiver for wireless (e.g. wireless LAN, WLAN, or cellular, such as 5G) or wired (e.g. Ethernet or other type of LAN) communication.
  • the communication interface 430 may be connected to e.g., a network 404 such as a local network, a cloud, a CAM (Campus/Corporate Area Network), and/or or a wide area network such as the Internet for data transfer.
  • the communication interface 430 may also refer to a Ul or incorporate Ul capabilities.
  • the communication interface 430 may be configured to transfer data between the system 400 and a number of external devices, systems and related entities, including e.g., users 402a, 402b or their (client) user (terminal) devices as contemplated hereinbefore and external data repositories, services or systems 406a, 406b, providing, among other options, user data, external activity data, and/or further data, to the system 400 via associated server(s), for example.
  • the system 400 may provide data such as user data or recommendation data to such entities.
  • the external elements 406a, 406b may include e.g. a system of a learning institution, such as a school or a university, for instance. Still, the external elements 406a, 406b may include system(s) of various service providers such as activity organizers or promoters (e.g. music, other art or sports event organizer or a related intermediate such as a booking agency or clerk, or sport, art or other activity based (hobby) club, etc.), or similar entities. Yet, in case the recommendation system 400 is implemented as a physically distributed but functionally connected ensemble, for example, its different constituent elements could have communication interfaces 430 of their own.
  • activity organizers or promoters e.g. music, other art or sports event organizer or a related intermediate such as a booking agency or clerk, or sport, art or other activity based (hobby) club, etc.
  • the recommendation system 400 is implemented as a physically distributed but functionally connected ensemble, for example, its different constituent elements could have communication interfaces 430 of their own.
  • the users 402a may include e.g., students whose user data 452a is utilized, for example, in preparing a number of preferably ML-based model(s) by a machine learning component 470, which may be optionally implemented as a portion of elements 130, 200, 230, 240 as discussed hereinearlier, or at least selectively a joint entity therewith, for example.
  • the users 402a may include also other types of users, such as teachers or various third-party type users not discussed here in more detail.
  • the users 402a whose data 452a is ultimately utilized for determining e.g., the model(s) applied in coming up with the recommendations 476 of external activities, may in some embodiments also include one or more of the target users 402b to whom the recommendations are to be personalized to by the system 400. This is illustrated in the figure by a dotted line connecting items 452 and 452b.
  • user data 452a may thus include at least part of target user data 452b.
  • the target user(s) 402b and their user data 452b may be separate from the users 402a whose user data 452a is applied for creating the (initial) model(s) of the system 400.
  • partial, complete, updated or supplementary user data 452b concerning the target user 402b may still be input, or has to be input, in the system 400.
  • the user data 452b of target user 402b may be similar to the user data of other users 402a, and it may be also obtained in a similar fashion, via the communication interface 430 and e.g., the Ul of the system, and/or by the user tracking component 430.
  • the user data 452b of the target user 402b preferably includes location information for enabling spatially relevant recommendations.
  • a user tracking component 450 is indeed configured to obtain at least user data 452a of users 402a.
  • the obtained user data 452a may be then utilized for determining, through e.g., training and using a selected learning method, a number of preferably ML (machine learning) -based models, at least by a machine learning component 470, for providing recommendations of external, essentially extracurricular, activities to target users 402b.
  • the user data (set) 452a advantageously relates to a plurality of users, while it still specifies information characterizing each related individual to a desired extent from the standpoint of e.g., modelling.
  • the user data 452a may identify mutually same or similar aspects of each user so that volume of (comparable) data obtained is large enough for sufficiently accurate ML-based modeling, for instance.
  • the user data 452a may thus include data of tens of users, more preferably hundreds of users, and most preferably thousands of users or more.
  • the user tracking component 450 may be configured to obtain at least portion of the user data 452a (452b) utilizing at least one technique selected from the group consisting of: retrieval or receipt from at least one database (e.g., shown elements 406a, 406b), data pull, receipt via the communication interface 430, manual input (via the Ul), receipt via a communication network 404 such as a local network and/or the internet, and API (Application Programming Interface) data transfer, etc.
  • user-related sensor data from e.g., wearable sensor(s) may be obtained and analyzed for activity recognition, location or movement data derivation purposes, for example.
  • the user tracking component 450 may be configured to obtain at least portion of the user data 452a (452b) through determination, retrieval or receipt of a score, grade and/or other information indicative of (school/study) performance based on, for example, comparing a user’s responses to questions set out in an exam or otherwise, with given reference information such as predefined model answers and/or answers given by a greater number of users.
  • obtaining user data 452a (452b) may involve both receipt of user data and deriving the user data (or a desired form of user data) based on other obtained (user) data.
  • user data regarding an individual may be anonymous or anonymized utilizing a selected anonymization (e.g. hashing or otherwise anonymizing user identity data to a desired extent) method.
  • the user data may alternatively or partially be and remain also non-anonymous.
  • the user data 452a (and preferably also target user data 452b as contemplated herein) advantageously includes at least an indication of a user’s performance in studies, such as related score(s) and/or grade(s).
  • the user data 452a includes at least one user-specific indication selected from the group consisting of: study score or grade, exam score, level grade, curriculum, and voluntary subject or topic studied at the learning institution (i.e., indication of the personal interest of the user related to the study subjects).
  • the user data 452a may identify the learning institution(s) of the users represented in the data.
  • the received user data 452a is at least partly specified according to a taxonomy understood and utilized by the system 400 already.
  • the system or specifically, e.g., the user tracking component 460 thereof could be configured to specify/label the user data 452a accordingly using a selected data conversion or labeling technique, for instance.
  • the user data 452a also includes indication of external activities, i.e. external activity data, of the particular users 402a characterized in the user data 452a.
  • the level of detail of such activity data in the user data 452a may be e.g., coarser than in the external activity data 462.
  • external activity data included in the user data 452a may indeed specify the external activities pursued by the users 452a (for ML modeling/training) whereas external activity data 462 characterizes external activities generally available in the environment, being thus generally available also for recommending.
  • the external activity data may generally characterize or indicate the users’ activities (specifying e.g., type and/or category, such as “badminton” (type) vs. “sports” (category), or “violin” (type) vs. “music” or “playing musical instrument” (category)), whereas in the external activity data 462 there is preferably more information regarding also e.g., the location of available activities, related contact information as well as potentially temporal information as discussed hereinelsewhere.
  • type and/or category such as “badminton” (type) vs. “sports” (category), or “violin” (type) vs. “music” or “playing musical instrument” (category)
  • the external activity data 462 there is preferably more information regarding also e.g., the location of available activities, related contact information as well as potentially temporal information as discussed hereinelsewhere.
  • the user data 452a (452b) further includes social contact information, optionally including studymate information such as coursemate information or classmate information, and/or social media contact information.
  • Social contact information may be more indirect or general (e.g. indication of a common school class or discussion forum) and/or it may more directly indicate identities of socially connected individuals in a non- anonymous (e.g. name) or anonymized (e.g. hash or other identification code) manner.
  • the user data 452a (452b) may include various other information elements already contemplated hereinbefore in connection with the description of Fig. 3 or in the summary portion, for instance.
  • the additional data may thus indicate e.g. the location of the user, optionally in terms of geospatial location and/or address data (e.g. coordinate data, street address, post code, city district, city, region, or country data) and/or more indirectly, by identifying e.g. the learning institution of the user when the location of the learning institution is sufficiently known by the system.
  • the resolution of location data may be e.g., in the order of magnitude of few meters, hundred meters, a kilometer, ten or hundred kilometers. As discussed earlier, preferably the resolution is sufficient for providing spatially relevant recommendations.
  • An environment tracking component 460 is configured to obtain external activity data 462 at least indicative of a plurality of activities available in the environment external to the studies at the learning institution.
  • the external activity data 462 specifies activities, locations of the activities and preferably also one or more temporal aspects such as the time, frequency and/or duration of the external activities.
  • the external activities available may be at least partially the same with the activities included in the user data 452a, 452b and indicative of the external activities the users represented in the user data do or prefer.
  • Ways to obtain external activity data 462 may include techniques similar to as well as different from obtaining the user data.
  • the environment tracking component 460 may be configured to obtain at least portion of the external activity data 462 utilizing at least one technique selected from the group consisting of: manual input (via the Ul), receipt via the communication interface, web crawling, data scraping, web scraping, and an API interfacing the recommendation system with an external data source, such as external service, server and/or platform.
  • an external data source such as external service, server and/or platform.
  • the API external source may be inquired or vice versa, the source may supply data to the system 400.
  • the environment tracking component 460 may be configured to specify or label an (external) activity utilizing at least one element selected from the following: a specific instance of the activity, type of activity, or a category of activity, preferably according to a selected taxonomy.
  • the taxonomy may be pre-defined and stored in or being accessible by the system 400 and e.g., environment tracking component 460 thereof. Yet, the taxonomy may be updateable externally or by an internal update logic of the system 400 defined as preferred for each use case and embodiment.
  • the received activity data 462 may already include e.g., at least part of the metadata specifying the activity in accordance with the taxonomy used by the system 400, whereas in some other embodiments, the system or specifically, environment tracking component 460 thereof may indeed be configured to specify/label the activity (data) accordingly.
  • the external activity data 462 indicative of activities available in the environment and external activity data of the users provided in the user data are specified or labeled similarly.
  • model(s) linking the user data and external activity data can be conveniently determined by utilizing e.g. real-life user data comprising also activity data of the external activities of such users as training data.
  • activities specified in the external activity data 462 or e.g., user data 452a, 452b include at least one activity type, activity instance or activity category selected from the group consisting of: hobby, event, music event, concert, theatre, theatre show, fair, course, movie watching, movie, movie show, cooking, art, visual art, music, music instrument, sports, sports discipline, athletics, gaming, game, club, job, job opening, and guidance counseling.
  • activity instance could refer to an indication of e.g., a one-time event, such as a music concert given by band X at location Y on date/time Z, or, to some repeating well-specified activity (e.g. weekly activity A taking place in B on date/time C) whereas a type of activity could refer to “playing soccer” and a category of activity to “sports”, or the type could refer to “playing guitar” and a category could refer to “playing a musical instrument” or “music” in general. So, in some embodiments the type could specify the activity in (more) detail without a certain place or date/time for exercising such, for example. The category could then define a higher level class for the same and potentially some further activity types. There may be alternative or further aspects or levels of detail in the used taxonomy depending on the embodiment, as being appreciated by a person skilled in the art.
  • external activity data 462 may be obtained, as discussed hereinbefore, from different sources (technically e.g., from their systems and devices) such as users, learning institutions, and/or service providers (e.g. activity or activity information providers), which may include event organizers, booking agencies or clerks, hobby clubs, and/or other theme-specific or more general (external) sources. Any of these entities may maintain their own external systems, services, platforms and/or devices offering e.g., content about the concerned activities and how to pursue them.
  • the service providers and other sources may in practice be associated with e.g.
  • the external activity data 462 may include data source -related pointer data comprising one or more pointer element(s), preferably contact information such as name information, email address, physical address or location (e.g. coordinates), phone number, digital service address, or social media service user id, for example.
  • the pointer data includes a link such as a hyperlink (containing e.g., URI/URL, Uniform Resource Identifier/Locator) or other advantageously (user-)selectable and/or activatable link, relating to an activity indicated in the external activity data and utilizing which the (system of the) source associated with both the activity and the link can be digitally reached, optionally via a web browser or other (application) software such as potentially proprietary software application used for accessing the system 400.
  • a link such as a hyperlink (containing e.g., URI/URL, Uniform Resource Identifier/Locator) or other advantageously (user-)selectable and/or activatable link, relating to an activity indicated in the external activity data and utilizing which the (system of the) source associated with both the activity and the link can be digitally reached, optionally via a web browser or other (application) software such as potentially proprietary software application used for accessing the system 400.
  • URI/URL Uniform Resource Identifier/Lo
  • At least portion of the pointer data is included in or otherwise indicated in connection with the recommendation 476 of the concerned activity.
  • This may still be subject to e.g., settings, which may be e.g. learning institution, external entity and/or user-specific, and remain adjustable.
  • the target user 402b or other entity receiving the recommendation 476 may then conveniently utilize the obtained pointer data to connect to the pointed entities providing information about the activity, facilitate pursuing the activity and/or organize the activity or activity-related events, for example; the target user 402b may click on a received, visualized pointer data such as a (hyper)link or other pointer element, for example.
  • the pointer data indicated in connection with the recommendation 476 may further include or link also to user data (e.g. identity data, address/location data, and/or any of user data elements discussed herein) about the target user 402b and/or their client device 220.
  • This user data may be associated with (included in or linked with) the pointer data by the system 400, such as the recommendation component 472 thereof, upon producing the recommendation 476, for example, based on e.g., user-specific, learning institution-specific, service provider -specific, and/or other criteria, such as user-adjustable settings.
  • the link may be supplemented with the user data or an indication such as a (sub-)link thereto.
  • user data may be indicated in an URL contained in the link via a query string, for example.
  • HTPP requests such as GET (as parameters, in header) or POST (e.g., a body of a POST request may versatilely host data) are feasible options for the purpose, while the POST enables inclusion of more comprehensive user data from these two options for delivery in a message to the external service provider’s system.
  • the external service provider’s system such as the Ul thereof provided to the target user, may be readily personalized for the target user 402b and/or the client device 220 of the target user 402b.
  • a user account may be created in the external service provider's system based on the target user’s identity data, or a digital service experience such as provided data on a web page or other view(s), or related layout(s), may be adapted or selected (filtered) thereat best matching the indicated user data, such as the location of the target user or other indicated characteristics, and/or client device characteristics optionally including a display size.
  • the present system may generally store and utilize activity data on a number of levels and with desired resolution, applying e.g. one or more databases for the purpose.
  • the following Table 1 shows an example of activity data, which could be selectively adopted and optionally supplemented with a number of various other data fields depending on each particular use case and embodiment of the present invention.
  • the shown data fields include activity ID, activity characterization (e.g.
  • Additional data providing enhanced resolution on an external activity could also be utilized and stored based on a selected aspect, such as difficulty and related options, see the Table 2 below for a related example.
  • a certain type of activity such as a sports activity in the visualized case (swimming) could include e.g., several internal further options or disciplines (e.g., strokes such as butterfly or freestyle in the case of swimming) associated with characterizing, mutually different difficulties or other conditions.
  • strokes such as butterfly or freestyle in the case of swimming
  • the recommendation of an external activity when the activity is associated with multiple options of different difficulties/conditions, may further specify the option with difficulty or condition deemed appropriate or most appropriate for the target user, or the recommendation should preferably at least indicate several or all available options and related difficulties/conditions to the target user.
  • the present system may be configured to recommend an option associated with easy or easier difficulty to a target user whose performance in selected study subjects has been below a threshold, and vice versa. Such configuration may be achieved by training the system accordingly.
  • user data of users with weaker study performance may be associated with easier external activity option as the desired output, and vice versa.
  • This type of training data may naturally be at least partially artificial, i.e. synthetic, to be able to train the model(s) to consistently provide desired output.
  • Other data 464 refers to potential any other data the system 400 or specifically e.g., the environment tracking component 460 thereof, is configured to receive, store, process and/or utilize in connection with various embodiments of the present invention.
  • predicted future, current or at least recent weather or other environmental data could be obtained from an (external) weather service system or platform, optionally a weather forecast service, utilizing e.g. applicable API(s) for the data retrieval and communication, concerning the location of a target user.
  • the data could be utilized for different purposes, including filtering, rating, ranking, and/or generally determination of recommendations to the target user. For example, if an external activity is associated with certain conditions such as a particular season, e.g.
  • conditions such environmental conditions (preferred conditions or actual requirements) for external activities could be included in the external activity data 462)
  • the environmental data indicates other prevailing conditions such as summer season conditions according to a selected criteria used (e.g. season information, and/or average or max daily, weekly or monthly temperatures passing a threshold)
  • the system may be configured to filter such currently unsuited activity away from the recommendations or give it at least less weight/rate it lower in a produced ranked list of activities.
  • the recommendations may be generally made more pertinent to the prevailing situation.
  • the target user 402b may in some embodiments connect to the system 400 by their client device, via interface 430, to obtain a recommendation 476.
  • the system 400 may be configured to provide e.g. a graphical Ul for the same as discussed hereinelsewhere with desired user accessible features such as a log-in/identification feature, recommendation feature (including receipt of recommended external activities optionally with user-selectable preference such as study performance preference, enjoyment preference and/or social contacts maintaining preference), user data upload or update feature, external activity feature (e.g. spatially or temporospatially searchable categories or lists). At least some of the Ul or other features may be shared or jointly implemented with the general smart learning platform 100 as discussed hereinbefore.
  • the recommendation feature may be accessible via the Ul of the smart learning platform via a specific graphical icon or button, which then opens or otherwise activates a recommendation view, or the recommendation features and/or view may be a part of some other feature or view of the Ul of the smart learning platform, such as a general or top view.
  • the target user 402b may not themselves connect to the system 400 but still, a recommendation 476 may be determined to them responsive to a request received via e.g., an internal or external entity, system or device, such as the system of the learning institution of the target user 402b.
  • the request may be automatically triggered or be human-originated, e.g. staff/teacher-originated thereat.
  • Item 466 refers to a number of potential actions, such as analysis, processing and storing actions, which may be executed to any of the data obtained. Such actions may include e.g., filtering, harmonization, normalization, encoding, categorization, aggregation, derivation of characteristic indicators such as statistical indicators (e.g., averages, trends, confidence/accuracy indicators) etc. from the data. Alternatively or additionally, such actions may be performed at previous items/phases and/or at subsequent items/phases 470, 471 , and 472 described below in more detail.
  • the actions may be done to prepare training data, update data for the ML and/or other model(s) utilized, and/or prepare data of the target user 402b or external activities to a selected format and/or structure, e.g. in view of storage requirements or effective application with the model(s).
  • data may be, for example, categorized or classified into numerical, categorical or textual data.
  • Categorical data may be encoded using techniques like one-hot encoding
  • text data may be transformed into multiple columns using e.g., TF(-)IDF (term frequency inverse document frequency) or word embeddings
  • numerical data may be normalized/standardized/scaled depending on its nature.
  • data may be read from a number of files or obtained through queries from databases, for instance, and then processed e.g., into Numpy array format using respective encoders. Numpy format is indeed considered one preferred format for the data in the context of the present invention. Thereby, e.g.
  • At least portion of user and/or external activity data may be encoded and transformed into multi-dimensional arrays, preferably the aforementioned Numpy arrays.
  • Items 470 and 471 refer to a machine learning component, associated model(s) and training or updating of such, respectively.
  • Item 472 refers to a recommendation component and item 476 to a produced recommendation of one or more external activities provided in a selected data format and structure (e.g. data field(s) in a message, database element(s), etc.).
  • a selected data format and structure e.g. data field(s) in a message, database element(s), etc.
  • the machine learning component 470 is configured to manage at least one related model, such as a neural network as discussed hereinelsewhere with an input layer, a number of intermediate hidden layers, and an output layer.
  • the model may be configured to link input user data with output external activity, such as essentially extracurricular activity, data.
  • output external activity such as essentially extracurricular activity
  • the system 400 may be configured to train or adapt (update) the at least one model utilizing at least one learning method selected from the group consisting of: supervised learning, semi-supervised learning, reinforcement learning, batch learning and online learning.
  • at least one learning method selected from the group consisting of: supervised learning, semi-supervised learning, reinforcement learning, batch learning and online learning.
  • backpropagation is one example of a supervised learning method in the context of (feed-forward) neural networks incl. deep neural networks.
  • the model may be trained or updated 471 using e.g., a training set comprising real- life and/or artificially created (synthetic) pairs of (other) user data and external activity data.
  • Recommendation component 472 may, either substantially autonomously (based on e.g. a timer/schedule) or responsive to e.g., a recommendation request received from the target user 402b or at least for the target user 402b (e.g. a learning institution or a further third-party could be interested in obtaining a recommendation of an external activity for a certain target user 402b as discussed hereinbefore), utilize the machine learning component 470 and model(s) managed by it, in providing the recommendation.
  • the recommendation component 472 may supply the machine learning component 470 with all or selected user data of the target user 402b suitable for and to be used as input in the model(s), which are managed by the machine learning component 470 and provide indications of recommendable activities for that target user 402b as their output. These outputs of component 470 the component 472 may directly or after some further analysis and/or processing (filtering, rating, ranking, etc.) apply as recommendations 276.
  • the component(s) 470 and/or 472 may be configured to apply location information of the target user 402b as discussed also hereinelsewhere to set aside or generally rate/rank lower those potential external activities output by the model(s) that are too far-away, according to a selected threshold distance criterion (e.g. selected radius, such as 5, 10, 50 or 100 km, different region or post code, etc.) from the target user 402b according to the location data related to the activities and preferably included in the external activity data 462.
  • a selected threshold distance criterion e.g. selected radius, such as 5, 10, 50 or 100 km, different region or post code, etc.
  • distance may still be utilized in mutually rating/ranking several external activities even together with some hard criterion type distance threshold. For example, activities may be indicated to the target user 402b in the order of increasing distance from the location associated with the target user 402b.
  • Distance between two locations considered in the present context may be obtained for external activity recommendation filtering or weighting, or adaptive threshold distance determination, for example, utilizing a selected distance determination technique.
  • Euclidean distance (2D) or geodesic (ellipsoid) distance in some embodiments specifically a great circle distance, may be utilized for determining distances, based on e.g., an indication scheme such as a coordinate system used for indicating locations in the present solution, such as a geographic coordinate system with a 3D model of the Earth, or a projected coordinate system for planar 2D estimations.
  • the present system may be configured to obtain the distance by at least partially determining it by itself and/or at least assisted by a functionally connected such as API-connected external system (e.g. Google Maps TM) capable of providing the present solution with distance, location and/or geocoding (mapping/translation) data.
  • API-connected external system e.g. Google Maps TM
  • external activity e.g. a certain music concert indicated in the external activity data
  • selected criterion e.g. 1 month or 1 year
  • those activities may be omitted from or given less weight/priority in the final recommendation(s) provided for the target user.
  • the selected temporal criterion may be adjustable generally or entity- or even recommendation (request) -specifically.
  • the criterion may be e.g. user- or learning institution-selectable. Similar processing may be considered and desired temporal criteria or preferences set in view of the duration or other temporal aspects of the external activities.
  • the used model(s) may include e.g. a (deep) neural network based model and/or an (advanced) decision tree type of a model.
  • the model may indeed be trained based on an advanced decision tree based learning method, optionally XGBoost TM.
  • XGBoost TM advanced decision tree based learning method
  • PyTorch TM machine learning library supports tensor computing, e.g. NumPy, and (deep) neural networks
  • At least one model and preferably related management procedures such as training/learning procedures and associated training data, may be configured to predict (output) external activity or activities (e.g. type or category), which the target user 402b would like, could be interested in, or be comfortable with, for example.
  • the training data for the model may include real-life measured or otherwise obtained user data 452a of a plurality of users 402a as discussed hereinbefore organized in pairs including • data indicative of e.g., study subjects, performance in studies (e.g. indicated study subjects) and optionally personal interests of a user related to the study subjects, used as input; and
  • activity part of the user data e.g. activity type and/or category
  • activity part of the user data of the concerned user may be solely or at least dominantly real-life based and obtained e.g., through technical monitoring and recognition of the user’s activity by wearable or other sensor(s), such as accelerometers (sensor output data then subjected to a selected activity recognition technique), or via manual input by the user or 3 rd party digital records such as training data provider’s (learning institution, external activity service provider, etc.) records, used as desired output (labeled as “correct answer” in training).
  • sensor(s) such as accelerometers (sensor output data then subjected to a selected activity recognition technique)
  • training data provider’s learning institution, external activity service provider, etc.
  • the system 400 may be configured, via model(s) trained e.g., as explained above, to give additional weight, in constructing a recommendation of external activities or activity to the target user 402b, to activities of other users 402a matching with the target user in accordance with selected criteria based at least on the user data.
  • the users 402a having e.g, certain hobbies may boost recommendation rate of such hobbies to a target user 402b considered similar (similar grades, similar study topics, or e.g. joint personal interests) with them 402a by the model.
  • the training data set could include at least partially artificially (e.g., not measurement-based or input by the users 402a, but e.g., human/system generated instead) created synthetic data or data pairs as discussed hereinbefore. That may be advantageous when real-life user data is limited in scope and e.g., certain external activities available in the environment or certain study options (e.g. curriculums, study subjects, etc.) are not represented at all or at least to a sufficient extent in the obtained real- life data, for example. According to a selected criterion, also in at least partially artificially created synthetic training data, users or user profiles with certain study or study performance data may still be linked with selected external activities.
  • at least partially artificially created synthetic training data users or user profiles with certain study or study performance data may still be linked with selected external activities.
  • the afore-discussed or another model may be determined and utilized to predict (output) external activity or activities pursuing which the target user 402b would likely get better in one or more of their study topics in the learning institution.
  • the system 400 may be configured to suggest external activity that relates to e.g., study subject the target user is considered, according to a selected criterion, bad at and which external activity should then improve the user’s skills and performance in the concerned study subject or study performance in general.
  • the training data (pairs) may include
  • selected external activity data e.g. external activity type and/or category
  • external activity type and/or category which should improve the user’s performance in one or more of the study subjects identified in the user data, used as desired output.
  • the training data may still exist in the nature or “real-life”, and be therefore based on real user data - activity pairs, for instance.
  • training data may be at least partially created otherwise, i.e. “artificially”.
  • the training data can be created at least partially based on data input or control by e.g. a number, or especially, a coalition of professionals (“trainers”) who jointly understand the correlation or likely causalities between external activities and performance in different study subjects. These professionals may include teaching professionals, external activity professionals, mental/fitness coaches, etc.
  • the training data may be based on automated technical monitoring and analysis of such correlations or causalities among the users 402a or people in general, preferably executed by the system 400 and/or connected external systems.
  • similar type of user data 452b regarding the target user i.e. data compatible with the data inputs of the model(s) is preferably to be fed into the model(s).
  • Table 3 below briefly visualizes an example extract of training data (pair) regarding a real or synthetic user, which could be utilized in training the at least one model discussed herein.
  • user data 452a of users 402a at least study subjects and related study performance data such as scores or grades
  • external activities are indeed connected, e.g. via a neural network, an advanced decision tree or other ML based model, together to provide, in the subsequent production phase, (when input comprises user data 452b of the target user, indicative of their study subjects and performance) an indication of at least one suitable external activity as output to serve as at least initial recommendation or a starting point for a recommendation 476 for the target user 402b, optionally indeed processed further into a final recommendation.
  • various post-processing such as weighting, ranking, or filtering activities as discussed herein may follow the application of the ML model(s) in the production phase, if not already functionally embedded in the model(s) themselves.
  • a neural network such as a deep neural network
  • the neural connections within the network, or other connections in another type of an ML model applied, could then link the input (incl. user data indicative of study subjects and performance such as related scores or grades) with the output (external activity/activities, represented with e.g., a probability vector).
  • the used objective function could be e.g., a cost or loss function, based on minimizing a selected error over the training data (over the user data ⁇ -> external activity data linkage that the model provides, by minimizing the error between actual and expected/desired output of the model).
  • the error minimization may be based on minimizing the square of a distance such as Euclidean distance between the output (vectors) indicative of actual and expected outputs in connection with the used training data, as being well understood by a person skilled in the art.
  • one or more target users 402b who have received activity recommendation(s) may be subsequently technically monitored (e.g. through obtaining data from the learning institution and e.g., indicative of changes in the study performance such as grades of the user, through monitoring the user via system-connected sensors, through feedback given by the user e.g. via the Ul of the system etc.) to collect implicit or explicit feedback 478 of the outcome of given recommendations (have the recommended activities improved study performance and/or how has the user 402b appreciated the recommendations or exercised the recommended activity/activities).
  • Such collecting or monitoring of various user actions may result in data indicative of the user’s satisfaction or changes in the performance having regard to studies.
  • the data may be then analyzed or processed further at 474, if necessary, and used 471 for new training and training data creation and/or updating the model(s) via a selected algorithm, which changes the existing weights of the model responsive to the feedback, for example.
  • Positive feedback (recommendation was appreciated, the recommended activity was pursued, and/or the user’s performance in the expected study subject was enhanced, for instance) may be converted, by the system, into giving more weight to such recommendations in the future, and vice versa.
  • the feedback may have binary (like/dislike) or higher resolution (e.g., score selectable from a plurality of options) depending on the embodiment.
  • the system 400 may be configured, through e.g. its operation logic configuration and model(s) determined and applied, to give additional weight, in constructing the recommendation, to activities that sufficiently, according to a selected criterion, have or lack similarity to the user data of the target user.
  • the system may be configured to recommend a sport type hobby, or completely otherwise, if the target user lacks or dislikes, or performs badly, in sports at the learning institution, recommendation may be sports-related, i.e. “out-of-the-box” type of a recommendation (“would you try this and find it suddenly interesting”).
  • the system 400 may be configured to give additional weight, in constructing the recommendation, to activities that correlate positively, optionally best or exceeding at least a selected threshold, with at least a portion of the user data of the target user in accordance with the at least one model determined by the machine learning component.
  • the system could be configured to give additional weight, in the recommendation, to activities that correlate negatively with at least a portion of the user data of the target user in accordance with the at least one model determined by the machine learning component.
  • user data preferably including related external activity data (indicative of external activities associated with/pursued by those users represented in the user data 452a) may be obtained via the user tracking component 450.
  • the environment tracking component 460 may be configured to provide activity data also for training purposes.
  • it can be selectable such as system, system operator or administrator, learning institution, other 3 rd party/external entity or user- selectable (Ul-selectable) which model and/or which type of user data - external activity (recommendation) linkage it is to be applied for a target user 402b in determining a recommendation 476, i.e. whether to recommend something the target user will probably like as an external activity and/or from which the target user would benefit in their studies resulting in better performance, for instance.
  • a recommendation 476 i.e. whether to recommend something the target user will probably like as an external activity and/or from which the target user would benefit in their studies resulting in better performance, for instance.
  • Naturally two or more recommendations from different perspective may be provided to the same target person as well, either in separate occasions or essentially simultaneously.
  • the nature of the recommendation or applied criterion for determining recommendations may be correspondingly indicated to the target user via the Ul of the system e.g. textually, numerically, and/or graphically (e.g. via a symbol or a graphical image in general).
  • the recommendation 476 specifies at least one external activity, preferably also location for the activity and further preferably time (e.g., starting time and optionally duration, or related time slot) of the activity, optionally further specifying a confidence score of the recommendation.
  • the system 400 may incorporate or be at least functionally connected to a navigation assistance system supplied with the location of the recommended activity as input.
  • the navigation assistance system may be at least partially located on a user (client) device or be external thereto, accessible e.g. via the network 404.
  • the system 400 such as recommendation component 472 thereof is configured to omit (filter out), from the recommendation, or at least give less weight to, rank or rate lower external activity or activities already practiced by the target user 402b.
  • This feature typically requires obtaining information about the external activities practiced by the target user, which may be provided to the system in target user data 452b, or separately.
  • the system 400 is configured to determine indication of reliability (accuracy), or specifically, confidence score for a recommendation of an activity.
  • the indication of confidence/accuracy for recommendations may be determined using selected metrics.
  • MAP mean accuracy precision
  • accuracy@k accuracy@k
  • recall@k recall@k
  • precision@k precision@k.
  • Selected metrics may be harnessed into estimating most relevance predictions (recommendations) for a given user and query, and therefore picking one or more selected activities as the final recommendations to be indicated to/for the target user, or ranking the activities in the recommendation (e.g. listing order).
  • the recommendation specifies a plurality of activities, they may be ranked in a selected order and provided to the user indicative of that order (e.g. listed horizontally or vertically in the particular order, or provided with order-indicating running number), the order being optionally based on estimated reliability or specifically, confidence scores of the activity recommendations.
  • the recommendation system is configured to give additional weight to activities associated with the social contacts of the target user in constructing the recommendation.
  • the model(s) determined and applied by the system 400 are configured to incorporate social contact information so that the model(s) inherently understand or utilize relationships between e.g. classmates/teachers at a learning institution out of the box.
  • Providing additional information in the user data about whether e.g., users A and B are socially connected could be also implemented, optionally as an “add on” feature.
  • One possibility is to retrain or update the model(s) whenever new user data is obtained (or e.g., with amount that exceeds a selected threshold), in a timed fashion (e.g. regularly or otherwise scheduled, such as once a week, month, 6 months, or a year), or responsive to other trigger(s).
  • Fig. 5 discloses, at 500, a flow diagram of a method in accordance with an embodiment of the present invention. All or selected method items characterized below may, at least in terms of their functional part, be implemented by a computer program (product) and instructions included therein.
  • the computer program (product) may be optionally embodied on a computer-readable, preferably tangible and non-transitory, carrier medium such as a memory chip, card, disc or stick. Yet, the computer program could be transferred as a wireless or wired medium -based signal.
  • the necessary and otherwise preferred hardware, software and network elements in accordance with Fig. 4, for example, for carrying out or assisting method execution in terms of e.g., data provision or reception, may be obtained, configured and tested.
  • the system-side of the solution may be provided with a number of at least functionally connected server computers running invention-enabling software, whereas the client-side of the solution may be provided with properly configured client devices (terminals) through which sufficient level of access to the system may be established by the device users such as students, teachers or system operators/admins. Intermediate communication links may be verified.
  • the software may include proprietary software prepared in congruence with the guidance provided herein, thus covering the functionalities the suggested system should or could implement.
  • the software may further include or at least functionally communicate with a number of (external) data repositories and/or more general use or general purpose software components such as potentially 3 rd party software libraries or applications, including e.g. a browser application, web server, navigation application/service, and/or other Ul/top-up functionalities -providing software.
  • a number of (external) data repositories and/or more general use or general purpose software components such as potentially 3 rd party software libraries or applications, including e.g. a browser application, web server, navigation application/service, and/or other Ul/top-up functionalities -providing software.
  • Item 504 is about obtaining: user data indicative of users’ performance in studies at at least one learning institution, study subjects the users are associated with, optionally including curriculum, and optionally also, personal interest of the users’ related to the study subjects; and external activity data indicative of a plurality of activities available in the environment external to the studies at the learning institution, the external activity data specifying activities, preferably also locations of the activities and further preferably one or more temporal aspects such as the time, frequency and/or duration of the activities; wherein the user data preferably further includes activity data indicative of the external activities of the users.
  • At 506 at least one, preferably machine learning based, model linking the user data with external activity data is determined utilizing e.g. training data and a selected training, or learning, method as contemplated hereinbefore as well.
  • the model may comprise related operating or decision logic.
  • user data of the target user is obtained. Such user data may be obtained from various sources and entities, e.g. via a client device of the target user optionally guided by the target user themselves, or from a learning institution of the target user, still preferably allowed by the target user themselves to cope with the applicable data privacy laws, etc. Additionally or alternatively, the user data of the target user may already be readily available in the system; the target user may be one of the users whose data belongs to the overall user data set used for training the model(s), for example.
  • a recommendation of at least one external activity is provided to the target user through utilization of the determined model(s) and potential other processing steps as deliberated herein.
  • the recommendation may be embodied as a selected digital data ensemble, message and/or signal, for instance.
  • At least one model applied by various embodiments of a method or a system executing the method is a machine learning (ML) based model for identifying a recommendable activity for the target user in terms of the type or category of the activity, for example.
  • ML machine learning
  • it may comprise a joint or a separate, preferably still machine learning based, model or comparable logic for identifying recommendable location(s) and/or time(s) (e.g. specific instances) for the type or category of the identified activity.
  • the provided recommendation may also be spatial (location component) and/or temporo- spatial with a further temporal component.
  • execution flow of the method may be organized around at least one database, wherein e.g., user data is stored, and machine learning component(s), where or by which different ML pipelines will be organized. Different pre-processed data and/or trained model weights may also be stored.
  • a selected ML based processing pipeline may comprise a number of algorithms responsible for a particular task. Depending on the task, some data may be queried from the database or other sources, other may be extracted from external sources. In terms of interactions, various communications may be implemented by suitable API(s). For example, if the task is to predict best hobby or other external, or essentially extracurricular, activity for a student, i.e. target user S at or otherwise associated with location L (e.g., the location of the target user themselves or their learning institution), internals of the method flow at this stage may include any of the following:
  • recommendation system utilizing one or more preferably ML based model(s) will predict (output) probabilities for the best hobbies or generally external activities (e.g., instances, types, and/or categories considered, as discussed hereinelsewhere);
  • a filter or weighting function will be applied to the list of predictions to lower or zero probabilities of hobbies which are unavailable in general, unavailable nearby or unavailable due to some other reason such as environmental factors;
  • model may then rate remaining activities based on selected information such as available (downloaded/received from external sources, for instance) ratings such as public ratings of particular locations with activities and/or other factors.
  • ratings such as public ratings of particular locations with activities and/or other factors.
  • Such a model may be trained separately, or an external service may be used for the purpose, at least for rating data acquisition;
  • the probabilities can be combined e.g. with rating data in a selected fashion (probabilities may be multiplied with the rating results of previous step, for example) and the final recommendations could be established from the top ranked records of a resulting data element or structure such as vector.
  • either implicit or explicit feedback such as indications (embodied as e.g. data messages or signals) of user actions, regarding the given recommendation(s) is obtained and utilized for updating the model(s), wherein the update may involve applying a specific update algorithm, which involves, for example, adjusting of relevant weights so as to put more (in the case of posit feedback) /less (negat. feedback) emphasis on the concerned recommendation in the model(s).
  • the training data for the ML based model(s) may be updated to reflect the given feedback and the model(s) be retrained accordingly.
  • the system could be adapted e.g., in terms of at least one ML model included through (re)training or otherwise updating the model so as to take that feedback information into account therein inherently.
  • a new training data pair could be created, including e.g., study subjects and associated performance data corresponding to the original situation of the target user prior to receiving the recommendation and external activity data corresponding to the activity/activities recommended to the target user.
  • This approach could be optionally supplemented with some data modification, augmentation and duplication operations if e.g., multiple copies or modified versions of such training data pair are to be advantageously established and used for emphasizing a resulting training effect in the model e.g., in cases wherein the feedback obtained from the target user regarding the recommendation has been very positive according to a selected criterion (e.g. exceeding a selected threshold in the used feedback scale).
  • Indirect feedback to be obtained and e.g., subsequently adopted in the training data may comprise data such as user activity data (e.g., activity exercising or booking records or other indicia) received from a system of e.g., activity service provider, or sensor data received from wearable sensors of a target user, such as positioning sensor, accelerometer, gyroscope, and/or inertial measurement unit (IMU), optionally included in or connected with their client device configured to communicate with the present system.
  • the sensor data could be then subjected to an activity recognition technique as discussed hereinbefore.
  • the target users may be provided with an Ul feature such as a user-fillable text field for submitting free-form comments, whereupon the comments could be processed using a selected automated text analysis technique such as a natural language processing technique by the present system or a connected external system, to derive the actual nature of included feedback therefrom.
  • a selected automated text analysis technique such as a natural language processing technique by the present system or a connected external system
  • the feedback obtained could specify a user-preferred activity not suggested by the present system, whereupon the activity could be optionally added among the recommendable external activities for the future at least for users with study profile similar to the comment giver, optionally provided that the preferred new activity fits any study subjects or e.g. curriculum according to a used evaluation criteria, which may be automated or based on human review by a number of professionals, for instance.
  • execution of various method items may be selectively repeated e.g., in a sequence or in isolation, as being appreciated by a person skilled in the art.
  • more weight may be given to more recent user and/or external activity data e.g., in the model(s). This is to keep the recommendation component and associated models somewhat current and reflective of recent developments and trends.
  • the model(s) utilized may be trained e.g., on real-life data, and there is a relationship between a time period and how popular a certain action is, the model(s) will preferably be able (at least to a limited extent) to capture such temporally changing aspects itself.
  • Implementing weight updates based on e.g. user actions/feedback is also relevant in this regard.
  • the model(s) will ultimately learn how to update itself.
  • newer data records or sets may be given higher weights during e.g. model (re graining or other updates.
  • model re graining or other updates.

Abstract

Electronic recommendation system (400) comprising a user tracking component (430), environment tracking component (460), machine learning component (470) and recommendation component (472), and a communication interface (430) for data transfer with external devices, systems or entities (99, 210, 220, 402a, 406a, 406b, 402b), wherein the electronic recommendation system is configured to obtain, by the user tracking component (450), user data (452a) indicative of users' (402a) performance in studies at at least one learning institution, study subjects the users are associated with, and optionally also, personal interest of the users' related to the study subjects; and by the environment tracking component (460), external activity data (462) indicative of a plurality of activities available in the environment external to studies at the learning institution, the external activity data (462) specifying activities and preferably also locations of the activities; wherein the user data (452a) preferably further includes activity data indicative of the external activities of the users (402a); to determine, by the machine learning component (470), at least one model linking the user data with the external activity data; and provide, by the recommendation component (472), a recommendation (476) of at least one external activity of the plurality of activities for a target user through the utilization of the at least one model determined by the machine learning component and user data (452b) of the target user (402b); wherein responsive to user feedback (478) concerning the provided recommendation the machine learning component (470) is preferably configured to update (471 ) at least one of said at least one model. Related method (500) and computer program product are presented.

Description

ACTIVITY RECOMMENDATION SYSTEM AND RELATED METHOD
Field
Generally the present invention pertains to electronic devices, systems, platforms, and methods executed by such entities. In more detail, however not exclusively, the present invention relates to implementation and utilization of an activity recommendation system harnessing machine learning (ML) for the purpose.
Background
Modern world offers a wide variety of mutually quite different options to people willing or expected to study and learn things in schools, universities, community colleges, and other learning institutions, if not on their own, while also imposing related challenges on the learners. In addition to topping up one’s knowledge via books or traditional physical sessions attended by multiple people potentially having different skill levels in a concerned topic, with reference to e.g., common teacher-students type lessons, digital platforms and channels indeed provide a means for remote access and learning of a myriad of topics either in online or offline fashion, either alone or in groups. Yet, the world is huge outside the schools and other learning institutions with reference to all available participation possibilities in terms of e.g., extracurricular activities such as hobbies, societies, events and alike. However, related challenges include information overload and e.g., a so-called FOMO (fear of missing out), which are both at least partially caused by a vast amount of information accessible almost everywhere all the time via affordable consumer grade electronic devices such as smartphones and personal computers, for instance.
From among all that information, even if digital or digitalized by nature, finding those more valuable pieces that facilitate people to learn, develop and entertain themselves, relax, or maintain or cultivate their social relationships, for example, and potentially to achieve even several of these benefits at the same time or at least without a heavy accumulated burden, becomes continuously harder. Accordingly, also from the point of view of many organizations such as clubs and associations, event organizers, recreational venues and institutes, reaching and attracting a decent number of new clients or members is tedious, technically complex and often requires spending a lot of resources financially and otherwise with a somewhat questionable overall efficiency.
Summary
The objective of the present invention is to at least alleviate one or more of the ever-growing challenges already alluded to above in the context of information management, personal time management, service and product promotion as well as education and common social needs, for example.
The objective is achieved with various embodiments of an activity recommendation solution, which may be embodied e.g., as an electronic system, a method, or a computer program for execution on at least one computing device of the system.
According to one aspect of the present invention, an electronic recommendation system, typically implemented by one or more at least functionally connected devices such as server computers, comprises a user (e.g., student) tracking component; environment tracking component; machine learning component; and recommendation component: as well as a communication interface for data transfer with external devices, systems or entities; wherein the electronic recommendation system is configured to: obtain by the user tracking component, user data indicative of users’ performance in studies at one or more learning institutions, study subjects the users are associated with, optionally including curriculum, and optionally also, personal interest of the users’ related to the study subjects; by the environment tracking component, external activity data indicative of a plurality of activities available in the environment external to the studies at the learning institution, the external activity data specifying activities, preferably also locations of the activities and further preferably one or more temporal characteristics such as the time, frequency and/or duration of the activities; wherein the user data preferably further includes activity data indicative of the external activities of the users (advantageously at least specifying the activities themselves if not e.g., any of the further characteristics listed above); determine, by the machine learning component, at least one model linking the user data with the external activity data; and provide, by the recommendation component, a recommendation of an external activity (or multiple activities) of the plurality of activities for a target user through the utilization of the at least one model determined by the machine learning component and user data of the target user; preferably wherein responsive to user feedback concerning the provided recommendation the machine learning component is configured to update at least one of said at least one model.
In another aspect, a computer-implemented method for issuing recommendations, comprises: obtaining user data indicative of users' performance in studies at at least one learning institution, study subjects the users are associated with, optionally including curriculum, and optionally also, personal interest of the users' related to the study subjects; external activity data indicative of a plurality of activities available in the environment external to the studies at the learning institution, the external activity data specifying activities, preferably also locations of the activities and further preferably, one or more temporal aspects such as the time, frequency and/or duration of the activities; wherein the user data preferably further includes activity data indicative of the external activities of the users; determining at least one machine learning based model linking the user data with the external activity data; and providing a recommendation of at least one external activity of the plurality of activities for a target user through the utilization of the at least one model determined by the machine learning component and user data of the target user; preferably wherein responsive to user feedback concerning the provided recommendation at least one of said at least one model is updated.
In various embodiments of the system or method, the feedback preferably obtained and utilized for updating the model(s) may be implicit such as indications of subsequent user actions (whether the target user is detected exercising a recommended activity or not, and optionally to which extent) and/or user (study) performance, based on which the pertinence of the given recommendation may be afterwards evaluated according to selected criteria. Alternatively or additionally, the feedback preferably obtained may be explicit; the target user or e.g., their learning institution may have directly indicated whether the recommendation was successful or not in meeting its goals such as provision of recommendation the user likes or finds interesting, or based on which the user’s performance in studies, such as at least one studied subject, was indeed enhanced. In various embodiments, the user data regarding the target user and/or other users, may in addition to characteristics described above, further include user location data indicative of the location(s), such as current location, default location, home location, and/or learning institution location of a concerned user. In some cases, the location(s) of a user may be first implicitly or indirectly obtained and derived further. For instance, as the user data may include an indication of the learning institution(s) the user is associated with, and as the system may be also provided with information about the location of the institution(s), the location of a user may be determined based on such data linkage for the purposes of the present solution. Location data may herein generally refer to and include e.g. address data and/or other location data such as (geographic) coordinate data optionally in 2D (projected) or 3D format. Using an internal or external geocoding technology, e.g. via available API, address data such as street address may be converted into coordinates, for example.
The location data may be utilized e.g., for providing the target user with a reasonable recommendation of external, such as essentially extracurricular, activity not undesirably far away from the target user’s typical location(s), such as the location of the learning institution(s) or home. Therefore, at least the user data of the target user thereby preferably indicates a location of the target user or a location at least positively relevant such as accessible to the target user. Advantageously, the location is indicated with a resolution considered sufficient, which means in the context of various embodiments of the present invention enabling the system to provide the user with pertinent recommendation(s) of external activities also spatially. In some embodiments, instead of or in addition to pre-stored location data such as home or institution (inst) address concerning the (target) user, their current or recent location could be obtained, optionally substantially even in real-time or at least somewhat in real-time, by receiving an indication of the location e.g., from their client device or associated (client) application based on e.g. network positioning or satellite positioning (e.g. GPS, Global Positioning System, or GLONASS, Global Navigation Satellite System) taken place in the client device. The utilized criterion or threshold for a maximum suitable, or accessible, distance of an external activity from a location associated with the target user may be selected embodiment-specifically and in some embodiments be included e.g., as a user adjustable or user-specific, learning institution - specific, or activity -specific (e.g. activity category, type or instance specific, with reference to contemplations hereinafter) item in the settings of the solution.
For example, the maximum (threshold) distance could be generally defined as few kilometers, e.g. about 3, 5, 10, 20, or 50 kilometers. In some embodiments, going beyond e.g. a single location associated with the target user, more versatile movement or location characteristics of the target user could be monitored by the system based on related data potentially including tracking data such as the aforementioned network positioning, satellite positioning or other location -indicative data obtained by the present system. For example, the client device or application running on a client device of the target user could be configured to provide such data to the system, or the system could itself inquire or fetch it, or e.g., the target user could input the data in the system by themselves optionally via their client device. Based on such characteristic movement or location data, the threshold could be determined by the system according to a selected logic. For example, the area, radius, diameter, or distance spanned by the target user, optionally within a selected time window (e.g. a day, week or month) indicated by the data could translate to the maximum distance according to the logic optionally including a mapping data structure such as a table. For instance, positive correlation type mapping could be utilized, wherein a larger area, radius, diameter or distance spanned by the target user converts into a larger maximum distance (threshold distance) for filtering the external activities, and vice versa.
The utility of the present invention arises from a plurality of factors depending on each particular embodiment thereof. The present invention provides a technically and computationally efficient while highly adaptive and greatly (in many cases fully) automated tech-driven solution for providing e.g., students at different learning institutions, and also other types of users whenever desired, with pertinent and also advantageously spatially if not temporo- spatially optimized recommendations of external or specifically, extracurricular activities that benefit them in a number of ways. A previous or current state of a user is thereby determined by measurements or other type of data capturing, and then utilized for predicting a different (preferred or enhanced, as per used criteria) future state responsive to activities pursued by the user in the meantime, subjecting the user to stimulation such as physiological stimulation. Accordingly, the recommended activities, when subsequently indeed pursued by the users, may facilitate and support studies, help finding new hobbies or other activities, bring about enjoyment, foster curiosity and inspiration, enable maintaining or creating social contacts, etc. with particular ease, through essentially effortless use of e.g., an ordinary client terminal such as a smartphone, a tablet or a desktop/laptop computer. Different service providers of external activities and their potential users are cleverly digitally matched and linked together. Various embodiments of the present invention and associated features may be implemented with widely available general-purpose hardware components such as computers provided with tailored functionalities via specially designed software, while also for the software functionalities may pre existing software modules, libraries or other elements be applicable as discussed hereinearlier.
Further characteristics and utilities of various embodiments of the present invention are discussed hereinafter in the detailed description. Various different mutually supplementary or alternative embodiments of the present invention are also disclosed in the attached dependent claims.
The expression "a number of may herein refer to any positive integer starting from one (1).
The expression "a plurality of may refer to any positive integer starting from two (2), respectively.
The terms “first” and “second” are herein used to distinguish one element from other element, and not to specially prioritize or order them, if not otherwise explicitly stated.
Still, any reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure.
Brief description of the drawings
Next the present invention will be described in a greater detail with reference to the accompanying drawings, in which:
Fig. 1 illustrates one embodiment of a smart learning platform that could be used as a technological back-bone or at least a connected entity in various embodiments of the present invention.
Fig. 2 illustrates, by way of example only, devices potentially participating to the overall system operation.
Fig. 3 illustrates an embodiment of an electronic device potentially utilized in connection with the present invention to implement or interface at least portion of a recommendation system described herein, execute the related method described herein, and/or host the computer program described herein.
Fig. 4 illustrates a possible use scenario and elements of various embodiments of the present invention with related hardware and functional aspects as well as preferred likely stakeholders.
Fig. 5 is a flow diagram of a method in accordance with an embodiment of the present invention.
Detailed description
The following description and drawings are illustrative and are not to be construed as unnecessarily limiting. The specific details are provided for a thorough understanding of the disclosure. However, in certain instances, well- known or conventional details are not described in order to avoid obscuring the description. References to one or an embodiment in the present disclosure can be, but not necessarily are, reference to the same embodiment and such references mean at least one of the embodiments.
Various embodiments of the present invention may comprise or be at least connected to a smart learning system 100, also referred to as smart learning platform, an example of which is illustrated in Figure 1. The smart learning system 100 is or may be configured as a digital tool for assisting learning in preferably hybrid learning environment comprising face-to-face learning, i.e. classroom learning environment, and digital learning occurring online or offline. The smart learning system 100 advantageously uses data from several sources to optimize the learning between these two learning environments.
The smart learning system 100 may in some embodiments generally comprise a first component 110 e.g., for classroom learning and a second component 120 e.g., for distance learning. The second component 120 can preferably be utilized in both online and offline learning mode. Both the first and the second components 110, 120 may comprise a number of various at least functionally identifiable or distinguishable computer modules to carry out functionalities of the smart learning system. The modules may be utilized for Ul purposes, collecting data, sending data, processing data with respect to the users such as students and teachers, and the remaining system. Actual functions of the modules may be determined separately for each implementation by a skilled person depending on the characteristics of the intended use scenario and context.
The smart learning system 100 may communicate with various client applications 99 through an interface 105. The client applications may in some embodiments be independent third-party applications that are used as learning and/or teaching platforms by students and teachers. One or more of such applications 99, or at least their respective user interfaces or other portions, may be located on a client device. Indeed, the client device for a student may comprise one or more learning applications/platforms or their interfaces, while the client device for a teacher preferably comprises one or more teaching applications/platforms or their interfaces. An application may be, for example, any educational application or a platform that is used for receiving schoolwork and educational material from a teacher user, and completed homework and other school-related data from a student user. Said applications communicate with the smart learning system 100, whereupon the smart learning system 100 may analyze the learning curve or study performance of the student, and control and adjust the educational material of the teacher.
The data that is received from the applications may be processed by a machine learning component. The machine learning component 130 operates with the various modules of the smart learning system to generate intelligent decisions based on the received data according to the needs of said modules. The machine learning component 130 may be utilized to determine or train, and preferably subsequently host and/or update (parameters of) one or more advantageously ML-based models, including e.g. an artificial neural network, random forest, reinforcement learning model, regression model and/or (advanced) decision tree, based on the input data. The machine learning component may implement a machine learning algorithm, which may be based on deep learning, for example. A (deep) neural network - as an example of at least a feasible part of a machine learning algorithm - comprises an input layer and an output layer, and a plurality of hidden layers therein between. Each of the layers comprises (neuron) units that are configured to implement an activation function based on an input it receives. The output of the activation function is forwarded to the units of the next layer, if the output exceeds a certain threshold, for instance.
The machine learning component 130 can in some embodiments be referred to as “global machine learning service”. In addition to the global machine learning service, there can be an ML algorithm located on a student device, a ML algorithm located on teacher’s device, and/or an ML algorithm located on a further device. These ML algorithms are referred to as “local machine learning algorithms”.
The operation of a used machine learning algorithm may be based on training which is performed using training data typically in the form of a training data set comprising data that is representative of the actual data being received by the machine learning algorithm. The purpose of the training is to find parameters (also referred to as “weights”) by means of which the loss of the algorithm will be minimized (optimization). The training can occur in a supervised manner or unsupervised manner. Reinforcement learning or a hybrid approach, combining any of the previous learning options, may be utilized as well. Depending on the embodiment, training may comprise batch learning and/or online learning.
In the context of smart learning, the data gathered through years can be used as at least part of a training data set. Such data comprises digital educational material; exams; assignments; historical data on students’ input to such exams and assignments; indications of students’ performance (e.g. grades) or generally, students’ progress on the educational material; students’ feedback on the lessons. Yet, data that is gathered during the smart learning, during lessons, can be continuously fed to the machine learning algorithm to enable continuous learning of any of the used algorithms. The training data set could comprise video and audio recordings of a student (near a computer or at the classroom), student device activity during class and corresponding labels (i.e., was the student focused at a particular time frame). Data set may be anonymized in order to protect privacy of the students. For providing recommendations of external, or essentially extracurricular, activities, the training data and related data set(s) may include, besides indications of the students’ performance in studies and possible other indicators, indications of activities generally available and/or already performed by the students as deliberated in more detail hereinafter. At least part of the training data e.g., for supervised learning may be synthetic, i.e. it may have been artificially created by selected data augmentation method(s), for instance, to obtain or guide the created model(s) to provide a desired result when utilizing the model (given a certain input, outputting a desired output) after the initial training and during the actual, so-called production phase, for example.
Figure 2 illustrates devices potentially participating to the overall system operation. The smart learning platform with the respective first and second components is arranged into a server 200 and is preferably connectable by at least one teacher device 210 and a plurality of student devices 220 (clients). The server entity 200 can be formed of one or more servers (server devices/computers), some of which can be arranged in a cloud. The server 200 may comprise or be in connection with at least one (global) machine learning model 230 and/or at least one database 240 for storing data. The teacher device 210 and the plurality of student devices 220 may communicate with the server 200 e.g., through first and second components (as discussed with reference to Figure 1 ). According to an embodiment, the teacher device 210 uses the first component for the classroom learning for carrying out the teaching in the classroom. According to an embodiment, the teacher device 210 uses the second component for distance learning for providing teaching over network. The student device 220 uses the second component when the student is participating the lesson online or offline. According to an embodiment, the student device 220 has a component to be utilized when participating the lesson in the classroom.
A student device 220 can be a smart phone, a tablet device, a laptop computer, a (desktop) personal computer or any other similar device. A teacher device 210 may be a smart phone, a tablet device, a laptop computer, a (desktop) personal computer or any similar device. In addition to the student and teacher devices, the system may comprise tracking devices, such as video and/or still cameras, and/or microphones, and/or audio recording means. The student device 220 is usable by a student while studying remote, but sometimes also when studying at the classroom. The student device 220 may comprise a local ML algorithm by means of which data from devices (watches, video camera, microphone, navigation tracker, etc.) is synchronized. The local ML algorithm is preferably configured to locally determine how focused the respective student is at the moment, and to send statistics to the global ML service.
The teacher device 210 is also usable at the classroom environment, but the teacher is also able to use the teacher device 210 outside the classroom. The teacher device 210 may comprise a local ML algorithm to track students by using cameras/microphones installed in classroom, and to send statistic to the global ML service.
The tracking devices may be integrated to the student device and/or teacher device, but the system may contain independent tracking devices being installed in classrooms or student’s room at home.
Figure 3 illustrates an example of a device 300. The device can be a teacher device and a student device, or generally a client device, for a purposes of the smart learning system shown in Figure 2. Also, the server 200 may contain one or more elements identical or similar (functionally and/or hardware-wise) to the ones described hereinafter, included in one or more server devices that are preferably at least functionally connected.
The device 300 preferably comprises at least one processor 310 (e.g., microprocessor, microcontroller, signal processor, ASIC (Application Specific Integrated Circuit), programmable logic chip, system-on-a-chip, etc.), a memory 320, a (wireless and/or wired) communication (e.g., network) interface 330 and/or a user interface 340. The memory 320 comprises a computer program code for causing the device to carry out various functionalities e.g., for determination and utilization of machine learning -based or other model(s), and related data processing and communication tasks. The memory 320 may also contain application data, user data, activity data (may be part of the user data and/or external thereto, as discussed hereinelsewhere) and any other data needed. The data may generally include user (students, teachers) data of a number of users and/or other data falling into e.g., one or more categories selected from the group consisting of: teacher’s profile (age, gender, educational background, experience, PD (Professional Degree) history, curriculum, work time management/follow-up); student profile (age, gender, educational history, curriculum, special education needs, other medical history); school’s (or generally, learning institution’s) profile (country, location, size, curriculum, learning environment specifications, teachers/specialized teachers); class profile (number of students, students, student-teacher ratio); planned learning activities (project topics, standards, subject-matter, level, duration, learning material, teachers, students); project based learning modules (SDGs, standards, subjects, core competences, content areas, desired end product, assessment, differentiation, activities to reach the objectives, materials); learning activity (time, duration, action of the teacher/student); observation/assessment/performance (time, duration, assessment result, e.g. grade), hardware used for learning (how much, when, where); software used for learning (how much, when, where); self-evaluation data or everyone in the organization. Data may be organized into one or more data sets and/or stored in one or more databases and/or other data collections or data structures (tables, etc.), for instance.
The communication interface 340 enables wired and/or wireless short or long range communication with other devices. Examples of the communication networks comprises any data transfer technology, such WLAN (Wireless Local Area Network), wireless mobile networks of different generations (3G - 5G and forward); LAN (Local Area Network); etc. Data transfer networks that are utilized by the smart learning system comprises the available or the future technologies, and therefore they are not discussed further in this specification.
The user interface 340 comprises, as discussed also hereinelsewhere, means for a user (e.g. a teacher or a student) to provide data to the system and to view data from the system, for instance. For example, the device can be a mobile device, such as a smartphone, a mobile phone, a tablet device, a laptop computer, etc. Alternatively, the device can be a personal computer. The Ul may comprise a proprietary client software and/or server software, and/or it may include more general use components such as a web browser application. In addition, the Ul may include a number of hardware elements, such as a display, keyboard, keypad, touchscreen, speech recognition Ul, communication adapter such as a transceiver, etc. Accordingly, in various embodiments, the Ul 340 and communication interface 330 may overlap and contain thus shared elements as being easily apprehended by the skilled person.
Fig. 4 illustrates, at 400, a possible use scenario of various embodiments of the present invention, having regard to a suggested recommendation system and a method executed by it, with related hardware, functional aspects and potential stakeholders. For example, the elements illustrated with broken lines may in various embodiments be considered optional. Previously discussed features and elements of the smart learning system platform 100 may be at least selectively utilized in the suggested recommendation system 400 as well, with reference to e.g., a machine learning component 130, server 200, device internals 300, model 230, database 240, etc., as elements thereof, and/or the recommendation system 400 may be, depending on its particular embodiment, implemented as a separate system that is optionally still at least functionally, such as communications-wise, connected to one or more elements of the smart learning platform 100 to exchange data, utilize its’ element(s) for processing, etc. A person skilled in the art may thus determine a best-suiting co-implementation or collaboration scenario between the recommendation system 400 and (remaining) smart learning platform 100 in the light of a concerned use case and its characteristics. Thereby, in Fig. 4, some examples of previously illustrated elements of the smart learning platform 100 that could be utilized also in the recommendation system 400 of Fig. 4 for the same and/or different purpose, have been indicated as additional reference numerals in parenthesis, matching the ones of the preceding figures.
Various elements, or components, of the suggested recommendation system 400 may be generally implemented by a combination of tailored software and more general purpose hardware (processor, memory, communication interface, etc.), and/or using special hardware as well, for example. In some embodiments, the system 400 could be considered to cover also one or more client devices of e.g., users 402a and/or 402b.
The recommendation system 400 comprises a communication interface 430 such as the communication interface 330 already discussed hereinbefore. It may include a communication adapter such as a transceiver for wireless (e.g. wireless LAN, WLAN, or cellular, such as 5G) or wired (e.g. Ethernet or other type of LAN) communication. The communication interface 430 may be connected to e.g., a network 404 such as a local network, a cloud, a CAM (Campus/Corporate Area Network), and/or or a wide area network such as the Internet for data transfer. In Fig. 4, the communication interface 430 may also refer to a Ul or incorporate Ul capabilities.
The communication interface 430 may be configured to transfer data between the system 400 and a number of external devices, systems and related entities, including e.g., users 402a, 402b or their (client) user (terminal) devices as contemplated hereinbefore and external data repositories, services or systems 406a, 406b, providing, among other options, user data, external activity data, and/or further data, to the system 400 via associated server(s), for example. Yet, the system 400 may provide data such as user data or recommendation data to such entities.
The external elements 406a, 406b may include e.g. a system of a learning institution, such as a school or a university, for instance. Still, the external elements 406a, 406b may include system(s) of various service providers such as activity organizers or promoters (e.g. music, other art or sports event organizer or a related intermediate such as a booking agency or clerk, or sport, art or other activity based (hobby) club, etc.), or similar entities. Yet, in case the recommendation system 400 is implemented as a physically distributed but functionally connected ensemble, for example, its different constituent elements could have communication interfaces 430 of their own.
The users 402a may include e.g., students whose user data 452a is utilized, for example, in preparing a number of preferably ML-based model(s) by a machine learning component 470, which may be optionally implemented as a portion of elements 130, 200, 230, 240 as discussed hereinearlier, or at least selectively a joint entity therewith, for example. The users 402a may include also other types of users, such as teachers or various third-party type users not discussed here in more detail.
The users 402a whose data 452a is ultimately utilized for determining e.g., the model(s) applied in coming up with the recommendations 476 of external activities, may in some embodiments also include one or more of the target users 402b to whom the recommendations are to be personalized to by the system 400. This is illustrated in the figure by a dotted line connecting items 452 and 452b. In some embodiments, also user data 452a may thus include at least part of target user data 452b. Alternatively or additionally, the target user(s) 402b and their user data 452b may be separate from the users 402a whose user data 452a is applied for creating the (initial) model(s) of the system 400. Nevertheless, in some embodiments, for providing the target user 402b with a recommendation 476, partial, complete, updated or supplementary user data 452b concerning the target user 402b may still be input, or has to be input, in the system 400. Generally, the user data 452b of target user 402b may be similar to the user data of other users 402a, and it may be also obtained in a similar fashion, via the communication interface 430 and e.g., the Ul of the system, and/or by the user tracking component 430. Yet, as discussed hereinelsewhere, the user data 452b of the target user 402b preferably includes location information for enabling spatially relevant recommendations.
A user tracking component 450 is indeed configured to obtain at least user data 452a of users 402a. As contemplated above, the obtained user data 452a may be then utilized for determining, through e.g., training and using a selected learning method, a number of preferably ML (machine learning) -based models, at least by a machine learning component 470, for providing recommendations of external, essentially extracurricular, activities to target users 402b. Accordingly, the user data (set) 452a advantageously relates to a plurality of users, while it still specifies information characterizing each related individual to a desired extent from the standpoint of e.g., modelling. Regarding the plurality, the user data 452a may identify mutually same or similar aspects of each user so that volume of (comparable) data obtained is large enough for sufficiently accurate ML-based modeling, for instance. The user data 452a may thus include data of tens of users, more preferably hundreds of users, and most preferably thousands of users or more.
For instance, the user tracking component 450 may be configured to obtain at least portion of the user data 452a (452b) utilizing at least one technique selected from the group consisting of: retrieval or receipt from at least one database (e.g., shown elements 406a, 406b), data pull, receipt via the communication interface 430, manual input (via the Ul), receipt via a communication network 404 such as a local network and/or the internet, and API (Application Programming Interface) data transfer, etc. In some embodiments, user-related sensor data from e.g., wearable sensor(s) may be obtained and analyzed for activity recognition, location or movement data derivation purposes, for example.
Yet, the user tracking component 450 may be configured to obtain at least portion of the user data 452a (452b) through determination, retrieval or receipt of a score, grade and/or other information indicative of (school/study) performance based on, for example, comparing a user’s responses to questions set out in an exam or otherwise, with given reference information such as predefined model answers and/or answers given by a greater number of users.
Accordingly, obtaining user data 452a (452b) may involve both receipt of user data and deriving the user data (or a desired form of user data) based on other obtained (user) data.
Generally, user data regarding an individual may be anonymous or anonymized utilizing a selected anonymization (e.g. hashing or otherwise anonymizing user identity data to a desired extent) method. The user data may alternatively or partially be and remain also non-anonymous.
The user data 452a (and preferably also target user data 452b as contemplated herein) advantageously includes at least an indication of a user’s performance in studies, such as related score(s) and/or grade(s). Advantageously, the user data 452a includes at least one user-specific indication selected from the group consisting of: study score or grade, exam score, level grade, curriculum, and voluntary subject or topic studied at the learning institution (i.e., indication of the personal interest of the user related to the study subjects). The user data 452a may identify the learning institution(s) of the users represented in the data. Preferably, the received user data 452a is at least partly specified according to a taxonomy understood and utilized by the system 400 already. Alternatively or additionally, the system or specifically, e.g., the user tracking component 460 thereof could be configured to specify/label the user data 452a accordingly using a selected data conversion or labeling technique, for instance.
In preferred embodiments, the user data 452a also includes indication of external activities, i.e. external activity data, of the particular users 402a characterized in the user data 452a. The level of detail of such activity data in the user data 452a may be e.g., coarser than in the external activity data 462. To remind the readers at this stage, external activity data included in the user data 452a may indeed specify the external activities pursued by the users 452a (for ML modeling/training) whereas external activity data 462 characterizes external activities generally available in the environment, being thus generally available also for recommending. In the user data 452a, the external activity data may generally characterize or indicate the users’ activities (specifying e.g., type and/or category, such as “badminton” (type) vs. “sports” (category), or “violin” (type) vs. “music” or “playing musical instrument” (category)), whereas in the external activity data 462 there is preferably more information regarding also e.g., the location of available activities, related contact information as well as potentially temporal information as discussed hereinelsewhere.
In some embodiments, the user data 452a (452b) further includes social contact information, optionally including studymate information such as coursemate information or classmate information, and/or social media contact information. Social contact information may be more indirect or general (e.g. indication of a common school class or discussion forum) and/or it may more directly indicate identities of socially connected individuals in a non- anonymous (e.g. name) or anonymized (e.g. hash or other identification code) manner.
In addition, the user data 452a (452b) may include various other information elements already contemplated hereinbefore in connection with the description of Fig. 3 or in the summary portion, for instance. The additional data may thus indicate e.g. the location of the user, optionally in terms of geospatial location and/or address data (e.g. coordinate data, street address, post code, city district, city, region, or country data) and/or more indirectly, by identifying e.g. the learning institution of the user when the location of the learning institution is sufficiently known by the system. The resolution of location data may be e.g., in the order of magnitude of few meters, hundred meters, a kilometer, ten or hundred kilometers. As discussed earlier, preferably the resolution is sufficient for providing spatially relevant recommendations.
An environment tracking component 460 is configured to obtain external activity data 462 at least indicative of a plurality of activities available in the environment external to the studies at the learning institution. The external activity data 462 specifies activities, locations of the activities and preferably also one or more temporal aspects such as the time, frequency and/or duration of the external activities. Naturally, the external activities available may be at least partially the same with the activities included in the user data 452a, 452b and indicative of the external activities the users represented in the user data do or prefer.
Ways to obtain external activity data 462 may include techniques similar to as well as different from obtaining the user data. The environment tracking component 460 may be configured to obtain at least portion of the external activity data 462 utilizing at least one technique selected from the group consisting of: manual input (via the Ul), receipt via the communication interface, web crawling, data scraping, web scraping, and an API interfacing the recommendation system with an external data source, such as external service, server and/or platform. Through the API, external source may be inquired or vice versa, the source may supply data to the system 400.
The environment tracking component 460, or the system 400 in general, may be configured to specify or label an (external) activity utilizing at least one element selected from the following: a specific instance of the activity, type of activity, or a category of activity, preferably according to a selected taxonomy. The taxonomy may be pre-defined and stored in or being accessible by the system 400 and e.g., environment tracking component 460 thereof. Yet, the taxonomy may be updateable externally or by an internal update logic of the system 400 defined as preferred for each use case and embodiment. In some embodiments, the received activity data 462 may already include e.g., at least part of the metadata specifying the activity in accordance with the taxonomy used by the system 400, whereas in some other embodiments, the system or specifically, environment tracking component 460 thereof may indeed be configured to specify/label the activity (data) accordingly. Preferably, the external activity data 462 indicative of activities available in the environment and external activity data of the users provided in the user data are specified or labeled similarly. Thereby, model(s) linking the user data and external activity data can be conveniently determined by utilizing e.g. real-life user data comprising also activity data of the external activities of such users as training data. In various embodiments, activities specified in the external activity data 462 or e.g., user data 452a, 452b, include at least one activity type, activity instance or activity category selected from the group consisting of: hobby, event, music event, concert, theatre, theatre show, fair, course, movie watching, movie, movie show, cooking, art, visual art, music, music instrument, sports, sports discipline, athletics, gaming, game, club, job, job opening, and guidance counselling.
For example, activity instance could refer to an indication of e.g., a one-time event, such as a music concert given by band X at location Y on date/time Z, or, to some repeating well-specified activity (e.g. weekly activity A taking place in B on date/time C) whereas a type of activity could refer to “playing soccer” and a category of activity to “sports”, or the type could refer to “playing guitar” and a category could refer to “playing a musical instrument” or “music” in general. So, in some embodiments the type could specify the activity in (more) detail without a certain place or date/time for exercising such, for example. The category could then define a higher level class for the same and potentially some further activity types. There may be alternative or further aspects or levels of detail in the used taxonomy depending on the embodiment, as being appreciated by a person skilled in the art.
In various embodiments, external activity data 462 may be obtained, as discussed hereinbefore, from different sources (technically e.g., from their systems and devices) such as users, learning institutions, and/or service providers (e.g. activity or activity information providers), which may include event organizers, booking agencies or clerks, hobby clubs, and/or other theme-specific or more general (external) sources. Any of these entities may maintain their own external systems, services, platforms and/or devices offering e.g., content about the concerned activities and how to pursue them. The service providers and other sources may in practice be associated with e.g. a web site, web page or other remotely accessible, such as a server and/or client (terminal) device accessible or specifically e.g., a browser-software accessible, digital service, platform, or generally, system. The service providers may, upon registering in the system 400, for example, provide various information about themselves to be optionally provided also to the target user 402b. The external activity data 462 may include data source -related pointer data comprising one or more pointer element(s), preferably contact information such as name information, email address, physical address or location (e.g. coordinates), phone number, digital service address, or social media service user id, for example. Preferably the pointer data includes a link such as a hyperlink (containing e.g., URI/URL, Uniform Resource Identifier/Locator) or other advantageously (user-)selectable and/or activatable link, relating to an activity indicated in the external activity data and utilizing which the (system of the) source associated with both the activity and the link can be digitally reached, optionally via a web browser or other (application) software such as potentially proprietary software application used for accessing the system 400.
Further preferably, at least portion of the pointer data is included in or otherwise indicated in connection with the recommendation 476 of the concerned activity. This may still be subject to e.g., settings, which may be e.g. learning institution, external entity and/or user-specific, and remain adjustable. The target user 402b or other entity receiving the recommendation 476 may then conveniently utilize the obtained pointer data to connect to the pointed entities providing information about the activity, facilitate pursuing the activity and/or organize the activity or activity-related events, for example; the target user 402b may click on a received, visualized pointer data such as a (hyper)link or other pointer element, for example.
In some embodiments, the pointer data indicated in connection with the recommendation 476 may further include or link also to user data (e.g. identity data, address/location data, and/or any of user data elements discussed herein) about the target user 402b and/or their client device 220. This user data may be associated with (included in or linked with) the pointer data by the system 400, such as the recommendation component 472 thereof, upon producing the recommendation 476, for example, based on e.g., user-specific, learning institution-specific, service provider -specific, and/or other criteria, such as user-adjustable settings. For instance, when the pointer data provided with the recommendation 476 includes a link, such as a hyperlink, to external (activity) service provider’s system, the link may be supplemented with the user data or an indication such as a (sub-)link thereto. In practice, user data may be indicated in an URL contained in the link via a query string, for example. For instance, HTPP requests such as GET (as parameters, in header) or POST (e.g., a body of a POST request may versatilely host data) are feasible options for the purpose, while the POST enables inclusion of more comprehensive user data from these two options for delivery in a message to the external service provider’s system. Accordingly, the external service provider’s system, such as the Ul thereof provided to the target user, may be readily personalized for the target user 402b and/or the client device 220 of the target user 402b. For example, a user account may be created in the external service provider's system based on the target user’s identity data, or a digital service experience such as provided data on a web page or other view(s), or related layout(s), may be adapted or selected (filtered) thereat best matching the indicated user data, such as the location of the target user or other indicated characteristics, and/or client device characteristics optionally including a display size.
With reference to various contemplations provided also hereinearlier and generally hereinelsewhere, the present system may generally store and utilize activity data on a number of levels and with desired resolution, applying e.g. one or more databases for the purpose. The following Table 1 shows an example of activity data, which could be selectively adopted and optionally supplemented with a number of various other data fields depending on each particular use case and embodiment of the present invention. The shown data fields include activity ID, activity characterization (e.g. type or category), provider (service provider or venue), related address or generally location, pointer data such as (FITPP) link, temporal data (available activity instances as discussed hereinbefore), contact person details, and distance data (e.g., distance from one or more learning institution(s) such as a number of nearest learning institution(s)). Table 1 Example of activity data and table ( xtract }
Figure imgf000024_0001
Figure imgf000025_0002
Additional data providing enhanced resolution on an external activity could also be utilized and stored based on a selected aspect, such as difficulty and related options, see the Table 2 below for a related example. A certain type of activity such as a sports activity in the visualized case (swimming) could include e.g., several internal further options or disciplines (e.g., strokes such as butterfly or freestyle in the case of swimming) associated with characterizing, mutually different difficulties or other conditions. Yet, when a target user is analyzed by the present system based on related user data indicative of e.g. study performance and subjects, the recommendation of an external activity, when the activity is associated with multiple options of different difficulties/conditions, may further specify the option with difficulty or condition deemed appropriate or most appropriate for the target user, or the recommendation should preferably at least indicate several or all available options and related difficulties/conditions to the target user. For instance, the present system may be configured to recommend an option associated with easy or easier difficulty to a target user whose performance in selected study subjects has been below a threshold, and vice versa. Such configuration may be achieved by training the system accordingly. In the training data for the ML model(s), for example, user data of users with weaker study performance may be associated with easier external activity option as the desired output, and vice versa. This type of training data may naturally be at least partially artificial, i.e. synthetic, to be able to train the model(s) to consistently provide desired output.
Table 2 Activity details
Figure imgf000025_0001
Other data 464 refers to potential any other data the system 400 or specifically e.g., the environment tracking component 460 thereof, is configured to receive, store, process and/or utilize in connection with various embodiments of the present invention. For example, predicted future, current or at least recent weather or other environmental data could be obtained from an (external) weather service system or platform, optionally a weather forecast service, utilizing e.g. applicable API(s) for the data retrieval and communication, concerning the location of a target user. The data could be utilized for different purposes, including filtering, rating, ranking, and/or generally determination of recommendations to the target user. For example, if an external activity is associated with certain conditions such as a particular season, e.g. winter season, conditions (such environmental conditions (preferred conditions or actual requirements) for external activities could be included in the external activity data 462), and the environmental data indicates other prevailing conditions such as summer season conditions according to a selected criteria used (e.g. season information, and/or average or max daily, weekly or monthly temperatures passing a threshold), the system may be configured to filter such currently unsuited activity away from the recommendations or give it at least less weight/rate it lower in a produced ranked list of activities. Thereby, by the use of other data 464, the recommendations may be generally made more pertinent to the prevailing situation.
The target user 402b may in some embodiments connect to the system 400 by their client device, via interface 430, to obtain a recommendation 476. The system 400 may be configured to provide e.g. a graphical Ul for the same as discussed hereinelsewhere with desired user accessible features such as a log-in/identification feature, recommendation feature (including receipt of recommended external activities optionally with user-selectable preference such as study performance preference, enjoyment preference and/or social contacts maintaining preference), user data upload or update feature, external activity feature (e.g. spatially or temporospatially searchable categories or lists). At least some of the Ul or other features may be shared or jointly implemented with the general smart learning platform 100 as discussed hereinbefore. For example, the recommendation feature may be accessible via the Ul of the smart learning platform via a specific graphical icon or button, which then opens or otherwise activates a recommendation view, or the recommendation features and/or view may be a part of some other feature or view of the Ul of the smart learning platform, such as a general or top view. In some other embodiments, the target user 402b may not themselves connect to the system 400 but still, a recommendation 476 may be determined to them responsive to a request received via e.g., an internal or external entity, system or device, such as the system of the learning institution of the target user 402b. The request may be automatically triggered or be human-originated, e.g. staff/teacher-originated thereat.
Item 466 refers to a number of potential actions, such as analysis, processing and storing actions, which may be executed to any of the data obtained. Such actions may include e.g., filtering, harmonization, normalization, encoding, categorization, aggregation, derivation of characteristic indicators such as statistical indicators (e.g., averages, trends, confidence/accuracy indicators) etc. from the data. Alternatively or additionally, such actions may be performed at previous items/phases and/or at subsequent items/phases 470, 471 , and 472 described below in more detail. The actions may be done to prepare training data, update data for the ML and/or other model(s) utilized, and/or prepare data of the target user 402b or external activities to a selected format and/or structure, e.g. in view of storage requirements or effective application with the model(s).
Generally, data may be, for example, categorized or classified into numerical, categorical or textual data. Categorical data may be encoded using techniques like one-hot encoding, text data may be transformed into multiple columns using e.g., TF(-)IDF (term frequency inverse document frequency) or word embeddings, and numerical data may be normalized/standardized/scaled depending on its nature. Technically speaking, data may be read from a number of files or obtained through queries from databases, for instance, and then processed e.g., into Numpy array format using respective encoders. Numpy format is indeed considered one preferred format for the data in the context of the present invention. Thereby, e.g. at least portion of user and/or external activity data may be encoded and transformed into multi-dimensional arrays, preferably the aforementioned Numpy arrays. Items 470 and 471 refer to a machine learning component, associated model(s) and training or updating of such, respectively. Item 472 refers to a recommendation component and item 476 to a produced recommendation of one or more external activities provided in a selected data format and structure (e.g. data field(s) in a message, database element(s), etc.). A skilled person will appreciate the fact that depending on the embodiment, these items may be arranged, optionally split, in components also quite differently depending on a selected implementation.
In some embodiments, the machine learning component 470 is configured to manage at least one related model, such as a neural network as discussed hereinelsewhere with an input layer, a number of intermediate hidden layers, and an output layer. The model may be configured to link input user data with output external activity, such as essentially extracurricular activity, data. In the production phase, wherein user data 452b of a target user 402b is provided as input to the model, the respective output shall thus establish or at least be used to establish the recommendation 476 of at least one external activity to the target user 402b. The system 400, or specifically machine learning component 470 or a training (sub-)component 471 thereof, may be configured to train or adapt (update) the at least one model utilizing at least one learning method selected from the group consisting of: supervised learning, semi-supervised learning, reinforcement learning, batch learning and online learning. For example, backpropagation is one example of a supervised learning method in the context of (feed-forward) neural networks incl. deep neural networks. The model may be trained or updated 471 using e.g., a training set comprising real- life and/or artificially created (synthetic) pairs of (other) user data and external activity data.
Recommendation component 472 may, either substantially autonomously (based on e.g. a timer/schedule) or responsive to e.g., a recommendation request received from the target user 402b or at least for the target user 402b (e.g. a learning institution or a further third-party could be interested in obtaining a recommendation of an external activity for a certain target user 402b as discussed hereinbefore), utilize the machine learning component 470 and model(s) managed by it, in providing the recommendation. The recommendation component 472 may supply the machine learning component 470 with all or selected user data of the target user 402b suitable for and to be used as input in the model(s), which are managed by the machine learning component 470 and provide indications of recommendable activities for that target user 402b as their output. These outputs of component 470 the component 472 may directly or after some further analysis and/or processing (filtering, rating, ranking, etc.) apply as recommendations 276.
For example, in cases wherein the output/recommendation of one or more external activities provided by any of the model(s) of the component 470 are at least initially location and/or time independent, the component(s) 470 and/or 472 may be configured to apply location information of the target user 402b as discussed also hereinelsewhere to set aside or generally rate/rank lower those potential external activities output by the model(s) that are too far-away, according to a selected threshold distance criterion (e.g. selected radius, such as 5, 10, 50 or 100 km, different region or post code, etc.) from the target user 402b according to the location data related to the activities and preferably included in the external activity data 462. Generally, distance may still be utilized in mutually rating/ranking several external activities even together with some hard criterion type distance threshold. For example, activities may be indicated to the target user 402b in the order of increasing distance from the location associated with the target user 402b.
Distance between two locations considered in the present context may be obtained for external activity recommendation filtering or weighting, or adaptive threshold distance determination, for example, utilizing a selected distance determination technique. Among other options, Euclidean distance (2D) or geodesic (ellipsoid) distance, in some embodiments specifically a great circle distance, may be utilized for determining distances, based on e.g., an indication scheme such as a coordinate system used for indicating locations in the present solution, such as a geographic coordinate system with a 3D model of the Earth, or a projected coordinate system for planar 2D estimations.
In various embodiments, the present system may be configured to obtain the distance by at least partially determining it by itself and/or at least assisted by a functionally connected such as API-connected external system (e.g. Google Maps ™) capable of providing the present solution with distance, location and/or geocoding (mapping/translation) data.
Additionally or alternatively, if some instances of external activity (e.g. a certain music concert indicated in the external activity data) is temporally too close or distant according to selected criterion (e.g. 1 month or 1 year) from current time or other target or generally reference time indicated e.g., in the external activity inquiry, those activities may be omitted from or given less weight/priority in the final recommendation(s) provided for the target user. The selected temporal criterion may be adjustable generally or entity- or even recommendation (request) -specifically. The criterion may be e.g. user- or learning institution-selectable. Similar processing may be considered and desired temporal criteria or preferences set in view of the duration or other temporal aspects of the external activities.
There may be several models and comparable operation logics, both ML- based and others, for different purposes or different phases in the overall procedure of providing a target user 402b with pertinent recommendation(s) concerning external activities.
As discussed already hereinbefore, the used model(s) may include e.g. a (deep) neural network based model and/or an (advanced) decision tree type of a model. In some embodiments, the model may indeed be trained based on an advanced decision tree based learning method, optionally XGBoost ™. Additionally or alternatively, e.g. PyTorch ™ machine learning library (supports tensor computing, e.g. NumPy, and (deep) neural networks) may be applied.
In some embodiments, at least one model and preferably related management procedures such as training/learning procedures and associated training data, may be configured to predict (output) external activity or activities (e.g. type or category), which the target user 402b would like, could be interested in, or be comfortable with, for example. Accordingly, the training data for the model may include real-life measured or otherwise obtained user data 452a of a plurality of users 402a as discussed hereinbefore organized in pairs including • data indicative of e.g., study subjects, performance in studies (e.g. indicated study subjects) and optionally personal interests of a user related to the study subjects, used as input; and
• activity part of the user data (e.g. activity type and/or category), wherein also the activity part of the user data of the concerned user may be solely or at least dominantly real-life based and obtained e.g., through technical monitoring and recognition of the user’s activity by wearable or other sensor(s), such as accelerometers (sensor output data then subjected to a selected activity recognition technique), or via manual input by the user or 3rd party digital records such as training data provider’s (learning institution, external activity service provider, etc.) records, used as desired output (labeled as “correct answer” in training).
Accordingly, the system 400 may be configured, via model(s) trained e.g., as explained above, to give additional weight, in constructing a recommendation of external activities or activity to the target user 402b, to activities of other users 402a matching with the target user in accordance with selected criteria based at least on the user data. Thus the users 402a having e.g, certain hobbies may boost recommendation rate of such hobbies to a target user 402b considered similar (similar grades, similar study topics, or e.g. joint personal interests) with them 402a by the model.
Additionally or alternatively, the training data set could include at least partially artificially (e.g., not measurement-based or input by the users 402a, but e.g., human/system generated instead) created synthetic data or data pairs as discussed hereinbefore. That may be advantageous when real-life user data is limited in scope and e.g., certain external activities available in the environment or certain study options (e.g. curriculums, study subjects, etc.) are not represented at all or at least to a sufficient extent in the obtained real- life data, for example. According to a selected criterion, also in at least partially artificially created synthetic training data, users or user profiles with certain study or study performance data may still be linked with selected external activities. In some embodiments, the afore-discussed or another model may be determined and utilized to predict (output) external activity or activities pursuing which the target user 402b would likely get better in one or more of their study topics in the learning institution. In other words, the system 400 may be configured to suggest external activity that relates to e.g., study subject the target user is considered, according to a selected criterion, bad at and which external activity should then improve the user’s skills and performance in the concerned study subject or study performance in general. Accordingly, the training data (pairs) may include
• user data indicative of real or artificially created (hypothetical, synthetic) user’s study subjects, performance in studies (e.g., in the indicated study subjects), and potentially further characteristics and/or personal interests related to the study subjects, used as input; and
• selected external activity data (e.g. external activity type and/or category), which should improve the user’s performance in one or more of the study subjects identified in the user data, used as desired output.
For this kind of a model or related recommendation of external activities, the training data may still exist in the nature or “real-life”, and be therefore based on real user data - activity pairs, for instance. However, as it may well be that in real-life data user-external activity linkage, wherein the external activity has improved study performance in certain identified subjects, is somewhat challenging to recognize and verify, such training data may be at least partially created otherwise, i.e. “artificially”. The training data can be created at least partially based on data input or control by e.g. a number, or especially, a coalition of professionals (“trainers”) who jointly understand the correlation or likely causalities between external activities and performance in different study subjects. These professionals may include teaching professionals, external activity professionals, mental/fitness coaches, etc. In addition or alternatively, the training data may be based on automated technical monitoring and analysis of such correlations or causalities among the users 402a or people in general, preferably executed by the system 400 and/or connected external systems. After training a model with training data using certain type of user data 452a as input as discussed herein, during the subsequent production phase when the model(s) are utilized for producing recommendations, similar type of user data 452b regarding the target user, i.e. data compatible with the data inputs of the model(s), is preferably to be fed into the model(s).
Table 3 below briefly visualizes an example extract of training data (pair) regarding a real or synthetic user, which could be utilized in training the at least one model discussed herein. In the training of a model, user data 452a of users 402a (at least study subjects and related study performance data such as scores or grades) and external activities are indeed connected, e.g. via a neural network, an advanced decision tree or other ML based model, together to provide, in the subsequent production phase, (when input comprises user data 452b of the target user, indicative of their study subjects and performance) an indication of at least one suitable external activity as output to serve as at least initial recommendation or a starting point for a recommendation 476 for the target user 402b, optionally indeed processed further into a final recommendation. Accordingly, various post-processing such as weighting, ranking, or filtering activities as discussed herein may follow the application of the ML model(s) in the production phase, if not already functionally embedded in the model(s) themselves.
As the model, e.g., a neural network such as a deep neural network, could be considered as mentioned above. The neural connections within the network, or other connections in another type of an ML model applied, could then link the input (incl. user data indicative of study subjects and performance such as related scores or grades) with the output (external activity/activities, represented with e.g., a probability vector). The used objective function could be e.g., a cost or loss function, based on minimizing a selected error over the training data (over the user data <-> external activity data linkage that the model provides, by minimizing the error between actual and expected/desired output of the model). For example, in a backpropagation type of training of a neural network, the error minimization may be based on minimizing the square of a distance such as Euclidean distance between the output (vectors) indicative of actual and expected outputs in connection with the used training data, as being well understood by a person skilled in the art.
Table 3 txamp!e of training data (extract)
Figure imgf000034_0001
In some embodiments, one or more target users 402b who have received activity recommendation(s) may be subsequently technically monitored (e.g. through obtaining data from the learning institution and e.g., indicative of changes in the study performance such as grades of the user, through monitoring the user via system-connected sensors, through feedback given by the user e.g. via the Ul of the system etc.) to collect implicit or explicit feedback 478 of the outcome of given recommendations (have the recommended activities improved study performance and/or how has the user 402b appreciated the recommendations or exercised the recommended activity/activities). Such collecting or monitoring of various user actions may result in data indicative of the user’s satisfaction or changes in the performance having regard to studies. The data may be then analyzed or processed further at 474, if necessary, and used 471 for new training and training data creation and/or updating the model(s) via a selected algorithm, which changes the existing weights of the model responsive to the feedback, for example. Positive feedback (recommendation was appreciated, the recommended activity was pursued, and/or the user’s performance in the expected study subject was enhanced, for instance) may be converted, by the system, into giving more weight to such recommendations in the future, and vice versa. The feedback may have binary (like/dislike) or higher resolution (e.g., score selectable from a plurality of options) depending on the embodiment. In the light of the foregoing and via e.g., the modeling approaches discussed above with respect to e.g., selected model type and structure, used learning method and applied training data, in various embodiments the system 400 may be configured, through e.g. its operation logic configuration and model(s) determined and applied, to give additional weight, in constructing the recommendation, to activities that sufficiently, according to a selected criterion, have or lack similarity to the user data of the target user. For example, if the target user likes/practices/performs well in sports at the learning institution based on his/her user data, the system may be configured to recommend a sport type hobby, or completely otherwise, if the target user lacks or dislikes, or performs badly, in sports at the learning institution, recommendation may be sports-related, i.e. “out-of-the-box” type of a recommendation (“would you try this and find it suddenly interesting”).
Further, in various embodiments as also contemplated above, the system 400 may be configured to give additional weight, in constructing the recommendation, to activities that correlate positively, optionally best or exceeding at least a selected threshold, with at least a portion of the user data of the target user in accordance with the at least one model determined by the machine learning component. Yet, in various embodiments, the system could be configured to give additional weight, in the recommendation, to activities that correlate negatively with at least a portion of the user data of the target user in accordance with the at least one model determined by the machine learning component.
As still discussed also hereinbefore, user data preferably including related external activity data (indicative of external activities associated with/pursued by those users represented in the user data 452a) may be obtained via the user tracking component 450. Alternatively or additionally, the environment tracking component 460 may be configured to provide activity data also for training purposes.
In some embodiments, it can be selectable such as system, system operator or administrator, learning institution, other 3rd party/external entity or user- selectable (Ul-selectable) which model and/or which type of user data - external activity (recommendation) linkage it is to be applied for a target user 402b in determining a recommendation 476, i.e. whether to recommend something the target user will probably like as an external activity and/or from which the target user would benefit in their studies resulting in better performance, for instance. Naturally two or more recommendations from different perspective (for pleasure, for (improvement in) education, etc.) may be provided to the same target person as well, either in separate occasions or essentially simultaneously. The nature of the recommendation or applied criterion for determining recommendations may be correspondingly indicated to the target user via the Ul of the system e.g. textually, numerically, and/or graphically (e.g. via a symbol or a graphical image in general).
In various embodiments, the recommendation 476 specifies at least one external activity, preferably also location for the activity and further preferably time (e.g., starting time and optionally duration, or related time slot) of the activity, optionally further specifying a confidence score of the recommendation. In some embodiments, the system 400 may incorporate or be at least functionally connected to a navigation assistance system supplied with the location of the recommended activity as input. The navigation assistance system may be at least partially located on a user (client) device or be external thereto, accessible e.g. via the network 404.
In various embodiments, the system 400 such as recommendation component 472 thereof is configured to omit (filter out), from the recommendation, or at least give less weight to, rank or rate lower external activity or activities already practiced by the target user 402b. This feature typically requires obtaining information about the external activities practiced by the target user, which may be provided to the system in target user data 452b, or separately.
In various embodiments, the system 400 is configured to determine indication of reliability (accuracy), or specifically, confidence score for a recommendation of an activity. The indication of confidence/accuracy for recommendations may be determined using selected metrics. For determining the quality of recommendations, it may be possible to utilize e.g., MAP (mean accuracy precision), accuracy@k, recall@k, and/or precision@k. Selected metrics may be harnessed into estimating most relevance predictions (recommendations) for a given user and query, and therefore picking one or more selected activities as the final recommendations to be indicated to/for the target user, or ranking the activities in the recommendation (e.g. listing order). Accordingly, in embodiments where the recommendation specifies a plurality of activities, they may be ranked in a selected order and provided to the user indicative of that order (e.g. listed horizontally or vertically in the particular order, or provided with order-indicating running number), the order being optionally based on estimated reliability or specifically, confidence scores of the activity recommendations.
In various embodiments, the recommendation system is configured to give additional weight to activities associated with the social contacts of the target user in constructing the recommendation. Preferably the model(s) determined and applied by the system 400 are configured to incorporate social contact information so that the model(s) inherently understand or utilize relationships between e.g. classmates/teachers at a learning institution out of the box. Providing additional information in the user data about whether e.g., users A and B are socially connected could be also implemented, optionally as an “add on” feature. One possibility is to retrain or update the model(s) whenever new user data is obtained (or e.g., with amount that exceeds a selected threshold), in a timed fashion (e.g. regularly or otherwise scheduled, such as once a week, month, 6 months, or a year), or responsive to other trigger(s).
Fig. 5 discloses, at 500, a flow diagram of a method in accordance with an embodiment of the present invention. All or selected method items characterized below may, at least in terms of their functional part, be implemented by a computer program (product) and instructions included therein. The computer program (product) may be optionally embodied on a computer-readable, preferably tangible and non-transitory, carrier medium such as a memory chip, card, disc or stick. Yet, the computer program could be transferred as a wireless or wired medium -based signal.
At start-up 502, the necessary and otherwise preferred hardware, software and network elements in accordance with Fig. 4, for example, for carrying out or assisting method execution in terms of e.g., data provision or reception, may be obtained, configured and tested. The system-side of the solution may be provided with a number of at least functionally connected server computers running invention-enabling software, whereas the client-side of the solution may be provided with properly configured client devices (terminals) through which sufficient level of access to the system may be established by the device users such as students, teachers or system operators/admins. Intermediate communication links may be verified. The software may include proprietary software prepared in congruence with the guidance provided herein, thus covering the functionalities the suggested system should or could implement. The software may further include or at least functionally communicate with a number of (external) data repositories and/or more general use or general purpose software components such as potentially 3rd party software libraries or applications, including e.g. a browser application, web server, navigation application/service, and/or other Ul/top-up functionalities -providing software.
Item 504 is about obtaining: user data indicative of users’ performance in studies at at least one learning institution, study subjects the users are associated with, optionally including curriculum, and optionally also, personal interest of the users’ related to the study subjects; and external activity data indicative of a plurality of activities available in the environment external to the studies at the learning institution, the external activity data specifying activities, preferably also locations of the activities and further preferably one or more temporal aspects such as the time, frequency and/or duration of the activities; wherein the user data preferably further includes activity data indicative of the external activities of the users.
These aspects and their various embodiments have been already discussed hereinbefore in more detail.
At 506, at least one, preferably machine learning based, model linking the user data with external activity data is determined utilizing e.g. training data and a selected training, or learning, method as contemplated hereinbefore as well. The model may comprise related operating or decision logic. At 508, user data of the target user is obtained. Such user data may be obtained from various sources and entities, e.g. via a client device of the target user optionally guided by the target user themselves, or from a learning institution of the target user, still preferably allowed by the target user themselves to cope with the applicable data privacy laws, etc. Additionally or alternatively, the user data of the target user may already be readily available in the system; the target user may be one of the users whose data belongs to the overall user data set used for training the model(s), for example.
At 510, a recommendation of at least one external activity is provided to the target user through utilization of the determined model(s) and potential other processing steps as deliberated herein. The recommendation may be embodied as a selected digital data ensemble, message and/or signal, for instance.
As discussed basically throughout the present text, preferably at least one model applied by various embodiments of a method or a system executing the method, is a machine learning (ML) based model for identifying a recommendable activity for the target user in terms of the type or category of the activity, for example. Yet, it may comprise a joint or a separate, preferably still machine learning based, model or comparable logic for identifying recommendable location(s) and/or time(s) (e.g. specific instances) for the type or category of the identified activity. Accordingly, the provided recommendation may also be spatial (location component) and/or temporo- spatial with a further temporal component.
For example, execution flow of the method may be organized around at least one database, wherein e.g., user data is stored, and machine learning component(s), where or by which different ML pipelines will be organized. Different pre-processed data and/or trained model weights may also be stored. A selected ML based processing pipeline may comprise a number of algorithms responsible for a particular task. Depending on the task, some data may be queried from the database or other sources, other may be extracted from external sources. In terms of interactions, various communications may be implemented by suitable API(s). For example, if the task is to predict best hobby or other external, or essentially extracurricular, activity for a student, i.e. target user S at or otherwise associated with location L (e.g., the location of the target user themselves or their learning institution), internals of the method flow at this stage may include any of the following:
• given S user data (input), recommendation system utilizing one or more preferably ML based model(s) will predict (output) probabilities for the best hobbies or generally external activities (e.g., instances, types, and/or categories considered, as discussed hereinelsewhere);
• given L, (other) model/algorithm will filter or generally identify hobbies available to S in some radius (selected, optionally user-selectable, distance from the location L of S; please refer to the earlier contemplations disclosed hereinbefore of various options and techniques for defining such applicable maximum distance and e.g., distances generally between locations);
• a filter or weighting function will be applied to the list of predictions to lower or zero probabilities of hobbies which are unavailable in general, unavailable nearby or unavailable due to some other reason such as environmental factors;
• given probabilities data (e.g. a vector) and related activities list, (other) model may then rate remaining activities based on selected information such as available (downloaded/received from external sources, for instance) ratings such as public ratings of particular locations with activities and/or other factors. Such a model may be trained separately, or an external service may be used for the purpose, at least for rating data acquisition;
• The probabilities can be combined e.g. with rating data in a selected fashion (probabilities may be multiplied with the rating results of previous step, for example) and the final recommendations could be established from the top ranked records of a resulting data element or structure such as vector.
At 512, either implicit or explicit feedback, such as indications (embodied as e.g. data messages or signals) of user actions, regarding the given recommendation(s) is obtained and utilized for updating the model(s), wherein the update may involve applying a specific update algorithm, which involves, for example, adjusting of relevant weights so as to put more (in the case of posit feedback) /less (negat. feedback) emphasis on the concerned recommendation in the model(s). Alternatively or additionally, the training data for the ML based model(s) may be updated to reflect the given feedback and the model(s) be retrained accordingly. For example, provided that it is detected based on explicit user feedback, such as feedback received via a feedback feature implemented by the present system, which may in more detail refer to e.g., like and dislike type input features in the form of selectable icons (e.g. with thumb up and down symbols), tick boxes, drop-down menu items, or other features on the Ul of the system, or based on implicit user feedback that the target user likes a recommended activity, pursues a recommended activity and/or achieves better performance in studies than before, the system could be adapted e.g., in terms of at least one ML model included through (re)training or otherwise updating the model so as to take that feedback information into account therein inherently.
With reference to the above, a new training data pair could be created, including e.g., study subjects and associated performance data corresponding to the original situation of the target user prior to receiving the recommendation and external activity data corresponding to the activity/activities recommended to the target user. This approach could be optionally supplemented with some data modification, augmentation and duplication operations if e.g., multiple copies or modified versions of such training data pair are to be advantageously established and used for emphasizing a resulting training effect in the model e.g., in cases wherein the feedback obtained from the target user regarding the recommendation has been very positive according to a selected criterion (e.g. exceeding a selected threshold in the used feedback scale).
Indirect feedback to be obtained and e.g., subsequently adopted in the training data may comprise data such as user activity data (e.g., activity exercising or booking records or other indicia) received from a system of e.g., activity service provider, or sensor data received from wearable sensors of a target user, such as positioning sensor, accelerometer, gyroscope, and/or inertial measurement unit (IMU), optionally included in or connected with their client device configured to communicate with the present system. The sensor data could be then subjected to an activity recognition technique as discussed hereinbefore. Yet, the target users may be provided with an Ul feature such as a user-fillable text field for submitting free-form comments, whereupon the comments could be processed using a selected automated text analysis technique such as a natural language processing technique by the present system or a connected external system, to derive the actual nature of included feedback therefrom.
Occasionally, the feedback obtained could specify a user-preferred activity not suggested by the present system, whereupon the activity could be optionally added among the recommendable external activities for the future at least for users with study profile similar to the comment giver, optionally provided that the preferred new activity fits any study subjects or e.g. curriculum according to a used evaluation criteria, which may be automated or based on human review by a number of professionals, for instance.
At 514, method execution is ended.
As illustrated by the merely exemplary dotted loop-back arrow, execution of various method items may be selectively repeated e.g., in a sequence or in isolation, as being appreciated by a person skilled in the art.
In some embodiments of the method and executing system, more weight may be given to more recent user and/or external activity data e.g., in the model(s). This is to keep the recommendation component and associated models somewhat current and reflective of recent developments and trends. As the model(s) utilized may be trained e.g., on real-life data, and there is a relationship between a time period and how popular a certain action is, the model(s) will preferably be able (at least to a limited extent) to capture such temporally changing aspects itself. Implementing weight updates based on e.g. user actions/feedback is also relevant in this regard. Preferably, the model(s) will ultimately learn how to update itself. In some embodiments, newer data records or sets, may be given higher weights during e.g. model (re graining or other updates. The scope of the present invention is determined by the attached claims together with the equivalents thereof. A person skilled in the art will appreciate the fact that the disclosed embodiments were constructed for illustrative purposes only, and other arrangements applying many of the above principles could be readily prepared to best suit each potential use scenario.

Claims

1 . An electronic recommendation system (400) comprising a user tracking component (430), environment tracking component (460), machine learning component (470) and recommendation component (472), and a communication interface (430) for data transfer with external devices, systems or entities (99, 210, 220, 402a, 406a, 406b, 402b), wherein the electronic recommendation system is configured to: obtain by the user tracking component (450), user data (452a) indicative of users’ (402a) performance in studies at at least one learning institution and study subjects the users are associated with; by the environment tracking component (460), external activity data (462) indicative of a plurality of activities available in the environment external to studies at the learning institution, the external activity data (462) specifying activities and preferably also locations of the activities; wherein the user data (452a) preferably further includes activity data indicative of the external activities of the users (402a); determine, by the machine learning component (470), at least one model linking the user data with the external activity data; and provide, by the recommendation component (472), a recommendation (476) of at least one external activity of the plurality of activities for a target user through the utilization of the at least one model determined by the machine learning component and user data (452b) of the target user (402b); wherein responsive to user feedback (478) concerning the provided recommendation the machine learning component (470) is preferably configured to update (471 ) at least one of said at least one model.
2. The system of claim 1 , wherein the recommendation specifies the external activity, location for the activity and preferably also time of the activity.
3. The system of any preceding claim, configured to update a model of said at least one model through retraining the model and including, in the training data, indication of the study subjects of the target user as input and of a recommended external activity as a desired output, responsive to obtaining positive, optionally explicit or implicit, feedback regarding the provided recommendation from the target user.
4. The system of any preceding claim, configured to produce the recommendation based on location data included in the user data of the target user and locations of external activities specified in the external activity data so as to render the recommendation spatially relevant, preferably at least accessible, to the target user.
5. The system of claim 4, configured to obtain distances between a location associated with the target user based on the user data and the locations of a number of external activities output by the at least one model, compare the distances with a threshold distance, and give additional weight or only retain, in producing the recommendation, those activities that are closer to the target user than the threshold distance.
6. The system of claim 5, wherein the threshold distance is determined for the target user based on obtained movement data characteristic to the target user, wherein a detected larger distance traveled by the target user converts into a larger threshold distance, and vice versa.
7. The system of any of claims 4-6, configured to obtain the distances based on Euclidean, geodesic or great circle distance estimation.
8. The system of any preceding claim, configured to produce the recommendation based on temporal data included in the external activity and data indicative of at least one temporal criterion set for the recommendation so as to render the recommendation temporally relevant, preferably at least accessible, to the target user.
9. The system of any preceding claim, wherein the user data of the target user includes indication of a number of external activities pursued by the target user and the system is configured to omit the indicated activities from the recommendation.
10. The system of any preceding claim, configured to specify an external activity utilizing at least one element selected from the following: a specific instance of the activity, type of activity, and a category of activity, according to a selected taxonomy.
11 . The system of any preceding claim, wherein at least one model of the at least one model is trained using a training set comprising real-life and/or artificially created synthetic data including pairs of at least study-related user data and activity data indicative of external activities, comprising:.
• user data indicative of study subjects, performance in studies and optionally personal interests of a user related to the study subjects, used as input; and
• activity data included in the user data or external activity data, used as desired output.
12. The system of any preceding claim, configured to train or adapt at least one model of said at least one model utilizing at least one learning method selected from the group consisting of: supervised learning, semi-supervised learning, reinforcement learning, batch learning and online learning.
13. The recommendation system of any preceding claim, wherein the at least one model comprises a neural network model, optionally deep neural network model, and/or a decision tree -based model.
14. The system of any preceding claim, wherein the external activity data comprises indications of preferred or non-preferred environmental conditions of external activities, and the system is configured to obtain further data (464) including environmental data characterizing current or forecast forthcoming environmental conditions, preferably comprising weather conditions, and further configured to produce the recommendation based on said indications and said further data.
15. The system of any preceding claim, wherein the recommendation specifies a plurality of activities, optionally ranked in a selected order and provided to the user indicative of that order.
16. The system of any preceding claim, wherein activities specified in the external activity data include at least one activity type, activity instance or activity category selected from the group consisting of: hobby, event, music event, concert, theatre, theatre show, fair, course, movie watching, movie, movie show, cooking, art, visual art, music, music instrument, sports, sports discipline, athletics, gaming, game, club, job, job opening, and guidance counselling.
17. The system of any preceding claim, wherein the environment tracking component is configured to obtain at least portion of the external activity data utilizing at least one technique selected from the group consisting of: manual input, receipt via the communication interface, web crawling, data scraping, web scraping, and an API (application programming interface) interfacing the recommendation system with an external data source.
18. The system of any preceding claim, wherein the external activity data (462) comprises pointer data comprising a digital link, such as a hyperlink, relating to an activity indicated in the external activity data and by which an external digital system of an entity associated with both the activity and the pointer data, preferably an activity service provider, can be reached, the pointer data being provided to the target user in connection with the recommendation (576) of the activity and the system being configured to supplement the pointer data with user data of the target user so that upon utilization of the pointer data by the target user to access the external digital system, the user data of the target user is provided to the external digital system for enabling service personalization thereat for the target user.
19. The system of any preceding claim, wherein the user tracking component is configured to obtain at least portion of the user data utilizing at least one technique selected from the group consisting of: retrieval or receipt from at least one database, data pull, receipt via the communication interface, API data transfer, sensor data analysis optionally including activity recognition, and determination, retrieval or receipt of a score, grade and/or other information indicative of performance based on comparing a user’s responses to questions set out in an exam or otherwise, with reference information such as predefined model answers and/or answers given by a greater number of users.
20. The recommendation system of any preceding claim, wherein the user data (452a, 452b) includes at least one user-specific indication selected from the group consisting of: exam score, level grade, curriculum, and voluntary subjects or topics studied at the learning institution.
21 . The system of any preceding claim, wherein the user data (452a, 452b) includes social contact information, optionally including coursemate information, classmate information and/or social media contact information, and further wherein the system is configured to give additional weight to activities associated with the social contacts of the target user in producing the recommendation.
22. The system of any preceding claim, configured to give additional weight, in producing the recommendation, to external activities of other users similar with the target user based at least on the user data.
23. The system of any preceding claim, configured to give additional weight, in producing the recommendation, to external activities that correlate positively with at least a portion of the user data of the target user in accordance with the at least one model determined by the machine learning component.
24. The system of any preceding claim, configured to give additional weight, in producing the recommendation, to activities that correlate negatively with at least a portion of the user data of the target user in accordance with the at least one model determined by the machine learning component.
25. The recommendation system of any preceding claim, configured to give additional weight, in producing the recommendation, to more recent user and/or external activity data than similar older data.
26. A computer-implemented method (500) for issuing recommendations, comprising: obtaining (504) user data indicative of users' performance in studies at at least one learning institution and study subjects the users are associated with, optionally including curriculum; external activity data indicative of a plurality of activities available in the environment external to the studies at the learning institution, the external activity data specifying activities, preferably also locations of the activities and further preferably one or more temporal aspects such as the time, frequency and/or duration of the activities; wherein the user data preferably further includes activity data indicative of the external activities of the users; determining (506) at least one machine learning based model linking the user data with the external activity data; and providing a recommendation (510) of at least one external activity of the plurality of activities for a target user through the utilization of the at least one model determined by the machine learning component and user data (508) of the target user; wherein responsive to user feedback concerning the provided recommendation at least one of said at least one model is preferably updated (512).
27. A computer program product comprising instructions which, when executed by a computer, cause the computer to carry out the method of claim 26.
28. A computer-readable data carrier having stored thereon the computer program product of claim 27.
PCT/FI2022/050415 2021-06-14 2022-06-14 Activity recommendation system and related method WO2022263722A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20215695 2021-06-14
FI20215695 2021-06-14

Publications (1)

Publication Number Publication Date
WO2022263722A1 true WO2022263722A1 (en) 2022-12-22

Family

ID=82403603

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FI2022/050415 WO2022263722A1 (en) 2021-06-14 2022-06-14 Activity recommendation system and related method

Country Status (1)

Country Link
WO (1) WO2022263722A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130273516A1 (en) * 2011-08-12 2013-10-17 School Improvement Network, Llc Automatic Determination of User Alignments and Recommendations for Electronic Resources
US20180232567A1 (en) * 2017-02-14 2018-08-16 Find Solution Artificial Intelligence Limited Interactive and adaptive training and learning management system using face tracking and emotion detection with associated methods
US20200302564A1 (en) * 2019-03-20 2020-09-24 International Business Machines Corporation Customized career counseling and management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130273516A1 (en) * 2011-08-12 2013-10-17 School Improvement Network, Llc Automatic Determination of User Alignments and Recommendations for Electronic Resources
US20180232567A1 (en) * 2017-02-14 2018-08-16 Find Solution Artificial Intelligence Limited Interactive and adaptive training and learning management system using face tracking and emotion detection with associated methods
US20200302564A1 (en) * 2019-03-20 2020-09-24 International Business Machines Corporation Customized career counseling and management

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PARDOS ZACHARY A ET AL: "Connectionist recommendation in the wild: on the utility and scrutability of neural networks for personalized course guidance", USER MODELING AND USER-ADAPTED INTERACTION, DORDRECHT, NL, vol. 29, no. 2, 4 February 2019 (2019-02-04), pages 487 - 525, XP036779999, ISSN: 0924-1868, [retrieved on 20190204], DOI: 10.1007/S11257-019-09218-7 *
YADALAM TANYA V ET AL: "Career Recommendation Systems using Content based Filtering", 2020 5TH INTERNATIONAL CONFERENCE ON COMMUNICATION AND ELECTRONICS SYSTEMS (ICCES), IEEE, 10 June 2020 (2020-06-10), pages 660 - 665, XP033790894, DOI: 10.1109/ICCES48766.2020.9137992 *

Similar Documents

Publication Publication Date Title
US20220101059A1 (en) Learning system, learning device, learning method, learning program, teacher data creation device, teacher data creation method, teacher data creation program, terminal device, and threshold value changing device
CN110019392B (en) Method for recommending teachers in network teaching system
Liu et al. Towards smart educational recommendations with reinforcement learning in classroom
US20180276205A1 (en) Systems and methods for motivation-based course selection
KR101609417B1 (en) The read information system and thereof method for read increase
CN107710192A (en) Measurement for the automatic Evaluation of conversational response
JP2010537232A (en) Methods, media and systems for computer-based learning
US20200111043A1 (en) System and method for providing personalized planning
CN107423851A (en) Adaptive learning method based on learning style context aware
CN108109089A (en) A kind of education can computational methods
CN109033418A (en) A kind of the intelligent recommendation method and facility for study of learning Content
WO2011106357A1 (en) Interactive language training system
JP3883795B2 (en) Attendance class selection device, attendance class selection method, and storage medium
WO2018033066A1 (en) Robot control method and companion robot
US20190228675A1 (en) Method and system for providing physical activity instruction
JP2012078768A (en) Person matching device, method and program
KR20150139395A (en) Method and server for providing online video-education service
Li et al. Design of the online learning system for college physical education teaching based on the BP neural network
WO2022263722A1 (en) Activity recommendation system and related method
CN113609402B (en) Intelligent recommendation method for industry friend-making exchange information based on big data analysis
KR102488550B1 (en) System for Caring Self Mind
Griffin Information practices in amateur classical musicianship
Seprilia et al. User acceptance factors affecting the usage of mobile learning in enriching outside classroom learning at high school level
Hu Adaptive Recommendation Method of IoT Apps and Ideological and Political Teaching Resources
Sengottuvelan et al. A recommendation system for personal learning environments based on learner clicks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22737928

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE