[go: up one dir, main page]

KR20200062917A - Open Source Software Recommendation System and Method Using Personal Profiling - Google Patents

Open Source Software Recommendation System and Method Using Personal Profiling Download PDF

Info

Publication number
KR20200062917A
KR20200062917A KR1020180148896A KR20180148896A KR20200062917A KR 20200062917 A KR20200062917 A KR 20200062917A KR 1020180148896 A KR1020180148896 A KR 1020180148896A KR 20180148896 A KR20180148896 A KR 20180148896A KR 20200062917 A KR20200062917 A KR 20200062917A
Authority
KR
South Korea
Prior art keywords
open source
source software
user
software
information
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
KR1020180148896A
Other languages
Korean (ko)
Inventor
김민수
신동명
이예슬
백승찬
조용준
Original Assignee
엘에스웨어(주)
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 엘에스웨어(주) filed Critical 엘에스웨어(주)
Priority to KR1020180148896A priority Critical patent/KR20200062917A/en
Publication of KR20200062917A publication Critical patent/KR20200062917A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Recommending goods or services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Electronic shopping [e-shopping] by investigating goods or services
    • G06Q30/0625Electronic shopping [e-shopping] by investigating goods or services by formulating product or service queries, e.g. using keywords or predefined options
    • G06Q30/0629Electronic shopping [e-shopping] by investigating goods or services by formulating product or service queries, e.g. using keywords or predefined options by pre-processing results, e.g. ranking or ordering results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Marketing (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 오픈소스 소프트웨어를 사용하려는 사용자에게 사용자 프로파일링 및 키워드 검색을 결합하여 오픈소스 소프트웨어를 쉽고 효율적으로 검색하며 어려운 라이선스의 개념을 쉽게 제공하면서 라이선스 선택의 편의를 도모하며 그에 부합하는 신뢰성 있는 오픈소스 소프트웨어를 추천해주는 오픈소스 소프트웨어 추천 방법 및 시스템에 관한 것이다. 본 발명에 따른 오픈소스 소프트웨어 추천 방법은, 오픈소스 소프트웨어에 대한 오픈소스 정보, 라이선스 정보, 오픈소스 평가, 사용자 선호도에 대한 메타 데이터를 수집하여 오픈소스 소프트웨어 데이터베이스를 구축하고 수집된 데이터를 정제 및 가공하여 다시 저장하는 단계; 사용자로부터 오픈소스 소프트웨어에 대한 사용자 선택 조건을 입력받는 단계; 사용자에 대한 개인 프로파일링을 진행하고 사용자가 원하는 오픈소스를 추천하고 사용자로부터 입력받은 사용자 선택 조건을 결합시켜 오픈소스 소프트웨어를 검색하는 단계; 및 상기 검색된 오픈소스 소프트웨어 결과를 상기 사용자에게 표시하는 단계를 포함하는 것을 특징으로 한다.The present invention combines user profiling and keyword search for users who want to use open source software to easily and efficiently search for open source software, easily provides a concept of difficult licenses, and facilitates the convenience of license selection, and provides reliable openness corresponding thereto. An open source software recommendation method and system for recommending source software. The open source software recommendation method according to the present invention collects metadata about open source information, license information, open source evaluation, and user preferences for an open source software to build an open source software database and refines and processes the collected data. To save again; Receiving a user selection condition for open source software from a user; Performing personal profiling for the user, recommending the open source desired by the user, and searching for open source software by combining user selection conditions received from the user; And displaying the searched open source software results to the user.

Description

개인 프로파일링을 이용한 오픈소스 소프트웨어 추천 시스템 및 방법{Open Source Software Recommendation System and Method Using Personal Profiling}Open Source Software Recommendation System and Method Using Personal Profiling

본 발명은 머신 러닝 기술 중 협업 필터링 기법을 사용하여 사용자로부터 오픈소스 소프트웨어 검색을 위한 분류 정보 및 키워드들을 입력받고 이를 기반으로 사용자 프로파일링을 한 결과를 이용해서 사용자에게 맞는 오픈소스 소프트웨어를 추천해 주는 시스템 및 그 방법에 관한 것이다.The present invention uses a collaborative filtering technique among machine learning techniques to receive classification information and keywords for searching for open source software from a user, and recommends open source software suitable for a user by using user profiling results based on this. It relates to a system and a method.

오픈소스 소프트웨어 (open source software, OSS)는 저작권이 존재하지만 누구나 자유롭게 사용하고 수정하며 재배포 할 수 있는 소프트웨어이다. 이렇게 자유롭게 사용할 수 있으면서 오픈소스 소프트웨어를 사용하는 사용자들이 증가하고 있는 추세며 시장규모도 지속적으로 증가하고 있다. 오픈소스 소프트웨어는 빠르고 유연한 개발, 호환성, 안전성 등의 장점을 가진다. 하지만 오픈소스 소프트웨어는 지적재산권이 존재하는 소프트웨어로 라이선스별 의무사항의 세부사항이 달라지기 때문에 사용자들이 이를 식별하여 쓰기 어렵고, 다양한 오픈소스 소프트웨어가 존재하는데 반해 관련 문서가 부족하기 때문에 오픈소스 소프트웨어를 선택하는 것도 쉽지 않은 일이다.Although open source software (OSS) is copyrighted, it is software that anyone can freely use, modify, and redistribute. The number of users using open source software while being free to use is increasing, and the market size is also continuously increasing. Open source software has the advantages of fast and flexible development, compatibility, and safety. However, open source software is software that has intellectual property rights, and because the details of the obligations for each license are different, it is difficult for users to identify and use it. It is also not easy to do.

최근에는 오픈소스 소프트웨어를 저장하는 서비스를 제공해주는 분산 버전 관리 툴인 웹 호스팅 서비스들이 많이 등장하고 있다. 웹 호스팅 서비스들은 무료 호스팅 서비스를 제공하며 쉽게 참여할 수 있다는 장점을 가지면서 오픈소스 소프트웨어를 개발하는 개발자들에게 큰 인기를 끌고 있다. 대표적인 웹 호스팅 서비스로는 Github(www.github.com), SourceForge(www.sourceforge.net) 등이 있다. Recently, web hosting services, which are distributed version control tools that provide services for storing open source software, have appeared. Web hosting services offer free hosting services and have the advantage of being easy to participate, and have become very popular with developers developing open source software. Typical web hosting services include Github (www.github.com) and SourceForge (www.sourceforge.net).

머신 러닝이란 컴퓨터에게 사람이 직접 명시적으로 Logic을 지시하지 않아도 데이터를 통해 컴퓨터가 학습을 하고 그것을 사용해 컴퓨터가 자동으로 문제를 해결하도록 하는 것을 의미한다. 머신 러닝은 작동 방식에 따라 정답지로 학습을 하며 예측 모델 등에 사용되는 지도 학습(supervised learning)과 정답 없이 학습하고 군집화 등에 사용되는 비지도 학습(unsupervised learning), 시뮬레이션 반복 학습을 하며 성능 강화 등에 사용되는 강화 학습(reinforcement learning)으로 나눌 수 있다.Machine learning means that the computer learns from the data and uses it to automatically solve the problem without the need for a person to explicitly instruct the computer. Machine learning learns with the correct answer depending on how it works, supervised learning used for predictive models, etc., unsupervised learning used for clustering, unsupervised learning used for clustering, iterative simulation, and used to enhance performance. It can be divided into reinforcement learning.

협업 필터링이란 많은 사용자들로부터 얻은 기호 정보에 따라 사용자들의 관심사들을 예측하고 추천해주는 방법으로 비슷한 취향을 가진 고객들에게 서로 아직 구매하지 않은 상품들은 교차 추천하거나 분류된 고객의 취향이나 생활 형태에 따라 관련 상품을 추천하는 형태의 서비스를 제공하기 위해 사용되는 방법이다. 이 알고리즘은 결과가 직관적이며 항목의 구체적인 내용을 분석할 필요가 없다는 장점이 있다. 비슷한 패턴을 가진 사용자나 항목을 추출하는 기술이 핵심적이며 유클리디안 거리, 피어슨 상관계수, 자카드 계수 등의 방법이 많이 사용된다. 협업 필터링은 나와 취향이 비슷한 사용자가 어떤 걸 선호했는지를 기반으로 상품을 추천하는 기법인 사용자 기반 협업 필터링과 내가 이전에 구매했던 항목을 기반으로 그 상품과 연관성이 있는 다른 상품을 추천하는 기법인 아이템 기반 협업 필터링이 대표적이다.Collaborative filtering is a method of predicting and recommending users' interests based on preference information obtained from many users. Cross-recommending products that have not yet been purchased to customers with similar tastes or related products according to the tastes or lifestyles of classified customers Is a method used to provide a service in the form of recommendation. This algorithm has the advantage that the results are intuitive and there is no need to analyze the details of the item. The technique of extracting users or items with similar patterns is key, and methods such as Euclidean distance, Pearson correlation coefficient, and Jacquard coefficient are frequently used. Collaborative filtering is a user-based collaborative filtering technique that recommends products based on the preferences of users who have a similar taste to me, and items that are a technique that recommends other products related to the product based on items that I previously purchased. Based collaborative filtering is typical.

본 발명의 과제는 오픈소스 소프트웨어를 선정할 때 발생하는 선택의 어려움이나 라이선스 의무사항 선택의 복잡함을 줄이고 사용자에 대한 개인 프로파일링 결과에 기반하여 사용자가 원하는 오픈소스 소프트웨어를 추천해주는 것을 목적으로 한다.An object of the present invention is to reduce the difficulty of selection or the complexity of selecting a license obligation that occurs when selecting open source software and to recommend the open source software desired by the user based on personal profiling results for the user.

오픈소스 소프트웨어를 사용하려는 개발자, 기업 및 일반 사용자에게 원하는 오픈소스 소프트웨어를 효율적으로 검색할 수 있고, 어려운 라이선스의 개념을 쉽게 제공하며 다양화된 요구 사항에 부합하는 신뢰성 있는 오픈소스 소프트웨어를 추천해 주고 사용자 정보 및 사용자의 선호도를 프로파일링 하여 사용자 개개인에게 적합한 오픈소스 소프트웨어를 추천해 줄 수 있는 오픈소스 소프트웨어 추천 방법 및 시스템을 제공하는데 목적이 있다.Developers, businesses, and general users who want to use open source software can efficiently search for the desired open source software, easily provide the concept of difficult licensing, and recommend reliable open source software that meets diversified requirements. It is an object of the present invention to provide an open source software recommendation method and system capable of recommending suitable open source software to individual users by profiling user information and user preferences.

본 발명을 해결하기 위한 오픈소스 소프트웨어 추천 방법은, 오픈소스 소프트웨어의 정보, 라이선스 정보, 오픈소스 소프트웨어 평가 정보, 사용자 선호도 정보에 대한 메타정보를 수집하여 오픈소스 소프트웨어 데이터 수집 시스템을 구축하는 단계; 오픈소스와 사용자 정보를 매핑 시키며 데이터를 처리하기 쉽게 전처리하는 오픈소스 소프트웨어 데이터 저장/정제/가공 단계; 구축된 오픈소스 소프트웨어 데이터 수집 시스템으로부터 얻어진 데이터들을 협업 필터링 추천 알고리즘을 사용하여 사용자 별 추천 오픈소스 소프트웨어를 추천해주는 오픈소스 소프트웨어 추천 엔진; 사용자로부터 오픈소스 소프트웨어 검색을 위한 오픈소스 정보, 라이선스 정보, 오픈소스 평가 정보에 해당하는 사용자 선택 조건을 입력받는 단계; 오픈소스 소프트웨어 추천엔진을 통해 추천된 사용자 별 오픈소스 소프트웨어와 사용자 선택 조건을 필터링하여 오픈소스 소프트웨어를 검색하는 단계; 검색된 오픈소스 소프트웨어를 사용자에게 표시하는 단계를 포함하는 것을 특징으로 한다. An open source software recommendation method for solving the present invention comprises: constructing an open source software data collection system by collecting meta information about open source software information, license information, open source software evaluation information, and user preference information; Open source software data storage/refining/processing step of mapping open source and user information and preprocessing data easily; An open source software recommendation engine that recommends recommended open source software for each user using a collaborative filtering recommendation algorithm for data obtained from the constructed open source software data collection system; Receiving a user selection condition corresponding to open source information, license information, and open source evaluation information for searching for open source software from a user; Filtering open source software and user selection criteria recommended by the user through the open source software recommendation engine to search for open source software; And displaying the searched open source software to the user.

상기 구축하는 오픈소스 소프트웨어 수집부는, 웹 호스팅 서비스인 github의 API 및 webhook 방식을 이용하여 데이터를 수집하며 그 외 사용자에 관한 정보는 웹 서비스에 포함된 로그인 정보를 사용한다. The open source software collection unit to be constructed collects data by using the API and webhook method of github, a web hosting service, and other user information uses login information included in the web service.

상기 오픈소스 소프트웨어 데이터 저장/정제/가공부는, 수집된 오픈소스 소프트웨어 각각에 대하여 머신 러닝의 입력 데이터로 쓰이기 위한 정제 및 가공 과정을 거칠 수 있으며 정제 및 가공이 끝난 데이터들은 상기 오픈소스 데이터베이스에 저장할 수 있다. The open source software data storage/purification/processing unit may undergo a refinement and processing process to be used as input data of machine learning for each collected open source software, and the purified and processed data may be stored in the open source database. have.

상기 사용자 선택 조건 입력부는, 웹 서비스를 통하여 제안된 오픈소스 소프트웨어 분류 정보, 라이선스 선정 기준, 오픈소스 소프트웨어 평가 항목에 대한 사용자 선택을 입력으로 받을 수 있으며 오픈소스 소프트웨어를 추천해 주기 위한 입력 데이터로 사용될 수 있다. The user selection condition input unit may receive user selection for the proposed open source software classification information, license selection criteria, and open source software evaluation items through a web service, and may be used as input data for recommending open source software. Can be.

상기 오픈소스 소프트웨어 추천 엔진부는, 실질적으로 머신 러닝 기법 중 협업 필터링 기법을 사용하여 다른 사용자들과의 유사도를 계산하고 사용자가 선택한 평가 항목 요소에 대한 유사도를 계산하여 개인 프로파일링을 진행하며, 개인 프로파일링을 통해 얻어진 결과를 토대로 각 사용자에게 알맞은 오픈소스 소프트웨어를 추천해 줄 수 있다.The open source software recommendation engine unit performs personal profiling by calculating the similarity with other users using the collaborative filtering technique among the machine learning techniques and calculating the similarity with respect to the evaluation item element selected by the user. Based on the results obtained through the ring, we can recommend open source software suitable for each user.

상기 오픈소스 소프트웨어 검색부는, 입력부를 통해 입력받은 사용자 선택 조건과 추천 엔진부를 통해 추천된 오픈소스 소프트웨어 정보를 결합해 사용자가 원하는 범주 안에 해당하는 오픈소스 소프트웨어를 추천해 줄 수 있다.The open source software search unit may combine the user selection conditions received through the input unit with the recommended open source software information through the recommendation engine unit to recommend open source software in a category desired by the user.

상기 웹 서비스 표시부는, 상기 검색된 오픈소스 소프트웨어를 사용자가 입력했던 사용자 선택 조건 중 평가 항목의 평가 점수에 기반을 두어 결과를 상기 사용자에게 표시하는 것을 특징으로 한다. The web service display unit may display the result to the user based on an evaluation score of an evaluation item among user selection conditions in which the user input the searched open source software.

본 발명은 복잡한 라이선스 선정 기준을 사용자에게 쉽게 제공하여 선택하게 함으로써 사용자가 원하는 기준에 부합하는 라이선스에 해당하는 오픈소스를 추천하여 사용자의 편의를 높이며 라이선스 정책 위반을 줄일 수 있으며, 사용자가 기존에 사용했던 오픈소스 소프트웨어와 비슷한 오픈소스 소프트웨어 혹은 사용자와 비슷한 패턴의 사용자가 사용했던 오픈소스 소프트웨어를 추천해 줄 수 있는 효과를 발휘한다.The present invention recommends open source corresponding to a license that satisfies a user's desired criterion by easily providing a user with a complicated license selection criterion and selecting it, thereby increasing user convenience and reducing violation of the license policy, and the user can use the existing It has the effect of recommending open source software similar to the open source software that was used, or open source software used by users with a pattern similar to the user.

도 1은 본 발명의 개인 프로파일링을 이용한 오픈소스 소프트웨어 추천 방법 및 시스템을 나타낸 시스템 구성도이다.
도 2는 본 발명의 개인 프로파일링을 이용한 오픈소스 소프트웨어 추천 방법 및 시스템의 순서도이다.
도 3은 오픈소스 소프트웨어 데이터베이스를 구축하기 위해 필요한 데이터 구성도이다.
1 is a system configuration diagram illustrating an open source software recommendation method and system using personal profiling of the present invention.
2 is a flowchart of an open source software recommendation method and system using personal profiling of the present invention.
3 is a data configuration diagram required to construct an open source software database.

이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. In the following description and the accompanying drawings, elements that are substantially the same are denoted by the same reference numerals, and redundant description will be omitted. In addition, in the description of the present invention, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted.

도 1은 본 발명의 실시 예인 개인 프로파일링을 이용한 오픈소스 소프트웨어 추천 방법 및 시스템을 나타낸 시스템 구성도이고, 오픈소스 소프트웨어 수집부(110), 오픈소스 소프트웨어 데이터 저장/정제/가공부(120), 사용자 선택 조건 입력부(130), 오픈소스 소프트웨어 추천 엔진부(140), 오픈소스 소프트웨어 검색부(150), 웹 서비스 표시부(160), 오픈소스 소프트웨어 데이터 베이스(200), 웹 페이지(300)으로 이루어지며, 도 2는 본 발명의 개인 프로파일링을 이용한 오픈소스 소프트웨어 추천 방법 및 시스템을 사용해 사용자에게 적합한 오픈소스 소프트웨어를 추천해 주는 과정을 나타낸 순서도이다. 1 is a system configuration diagram showing an open source software recommendation method and system using personal profiling, which is an embodiment of the present invention, an open source software collection unit 110, an open source software data storage/purification/processing unit 120, It consists of a user selection condition input unit 130, an open source software recommendation engine unit 140, an open source software search unit 150, a web service display unit 160, an open source software database 200, and a web page 300. 2 is a flowchart illustrating a process of recommending an open source software suitable for a user using a method and system for recommending open source software using personal profiling of the present invention.

먼저, 오픈소스 소프트웨어 수집부(110)는 오픈소스 소프트웨어 정보, 라이선스 정보, 오픈소스 평가 정보, 사용자 선호도 정보에 대한 메타 데이터를 수집하여 오픈소스 소프트웨어 데이터베이스(200)을 구축한다. 오픈소스 소프트웨어 저장/정제/가공부(120)에서는 수집된 오픈소스 소프트웨어 평가 정보를 머신 러닝의 협업 필터링 기법에 적용시키기 위한 데이터를 정제 및 가공하여 다시 오픈소스 소프트웨어 데이터베이스(200)에 저장한다. 오픈소스 정보, 라이선스 선정 기준, 오픈소스 평가 항목에 해당되는 사용자 선택 조건 입력부(130)를 가지며, 협업 필터링을 사용하여 사용자 프로파일링을 적용시킨 오픈소스 소프트웨어를 추천해주는 오픈소스 소프트웨어 추천 엔진부(140)를 가진다. 추천된 오픈소스 소프트웨어와 입력부를 통해 입력받은 사용자 선택 조건을 이용하여 검색하는 오픈소스 소프트웨어 검색부(150), 검색부를 통해 추천된 오픈소스 소프트웨어를 정렬하여 웹 화면에 보여줄 수 있도록 하는 웹 서비스 표시부(160)를 통하여 사용자가 이용하는 웹 페이지(300)에 개인프로파일링을 이용해 추천된 오픈소스 소프트웨어를 표시한다.First, the open source software collection unit 110 builds an open source software database 200 by collecting metadata about open source software information, license information, open source evaluation information, and user preference information. The open source software storage/refinement/processing unit 120 refines and processes data for applying the collected open source software evaluation information to the collaborative filtering technique of machine learning, and stores it in the open source software database 200 again. An open source software recommendation engine unit 140 having an open source information, a license selection criteria, a user selection condition input unit 130 corresponding to an open source evaluation item, and recommending open source software to which user profiling is applied using collaborative filtering ). The open source software search unit 150 searches using the recommended open source software and the user selection conditions input through the input unit, and a web service display unit that allows the recommended open source software to be sorted and displayed on the web screen through the search unit ( The recommended open source software is displayed on the web page 300 used by the user through personal profiling through 160).

도 2는 개인 프로파일링을 이용한 오픈소스 소프트웨어 추천 방법 및 시스템에 대한 순서도를 나타낸다. 오픈소스, 라이선스, 오픈소스 평가, 사용자 선호도 데이터 수집(201) 단계에서는 오픈소스 소프트웨어 메타 데이터를 수집하며 이는 Github의 API와 Webhook 서비스를 통하여 도 3과 같은 정보를 가지며 수집된다. 오픈소스 소프트웨어 프로젝트명, 오픈소스 소프트웨어 주제, 라이선스 명을 포함하는 오픈소스 소프트웨어 정보(410), 라이선스 별 라이선스 선정 기준에 대한 라이선스 정보(420), 오픈소스 소프트웨어 소프트웨어를 정량적으로 평가한 값으로 오픈소스 커밋 수, 브랜치 수, 풀 리퀘스트 수, 이슈 수, 머지 수, 조직 정보 등을 포함하는 오픈소스 평가 정보(430), 사용자의 오픈소스 프로젝트 선호도, 검색 시 사용한 평가 항목을 포함하는 사용자 선호도 정보(440)에 대한 메타 데이터가 수집되며 수집된 데이터로 오픈소스 소프트웨어 데이터베이스를 구축(202) 하는 단계를 가진다.2 shows a flowchart for an open source software recommendation method and system using personal profiling. In the open source, license, open source evaluation, and user preference data collection step 201, open source software metadata is collected, which is collected with the information shown in FIG. 3 through Github's API and webhook service. Open source software information including open source software project name, open source software subject, license name, open source software information (410), license information for license selection criteria for each license (420), and open source software software with quantitative evaluation Open source evaluation information 430 including the number of commits, number of branches, number of full requests, number of issues, number of merges, organization information, etc., user preferences of open source projects, user preference information including evaluation items used in search (440 Meta data for) is collected, and there is a step of building an open source software database with the collected data (202).

구축된 오픈소스 소프트웨어 데이터베이스에 저장된 오픈소스 소프트웨어 정보를 추천 시스템에 적용시키기 위해 값을 전처리하여 다시 데이터베이스에 저장하는 데이터 전처리 후 데이터베이스에 저장(203)하는 단계에서는 수치 값을 표준화하기 위하여 0과 1사이의 값으로 변환하는 과정을 가지고 그 외의 업데이트 날짜와 같은 날짜 항목들을 수치 데이터로 변환하는 전처리 과정을 가진 후 오픈소스 소프트웨어 정보와 사용자 선호도 정보를 오픈소스 소프트웨어 항목에 매핑하는 과정을 가진다. In the step of pre-processing and storing the data in the database after pre-processing the values to apply the open-source software information stored in the built-in open-source software database to the recommendation system (0), in order to standardize the numerical values It has a process of converting to the value of, and a pre-processing process of converting date items such as other update dates into numerical data, and then mapping the open source software information and user preference information to the open source software item.

사용자 선택 조건 입력(204) 단계에서는 사용자 선택 조건으로 오픈소스 소프트웨어 정보, 라이선스 선정 기준, 오픈소스 소프트웨어 평가 정보를 입력받는다. In the user selection condition input step 204, open source software information, license selection criteria, and open source software evaluation information are input as user selection conditions.

사용자 기반, 아이템 기반으로 사용자가 선호할만한 것을 찾아주는 협업 필터링 알고리즘을 사용하여 사용자 프로파일링 후 오픈소스 소프트웨어 추천(205) 단계에서는 사용자 로그인 정보를 사용해 사용자가 기존에 평가했던 오픈소스 소프트웨어 프로젝트에 대한 선호도 점수와 사용자가 중요하게 선택하며 선택했던 평가 항목 정보를 통해 머신 러닝 기법 중 추천에 이용되는 협업 필터링 기법을 사용하여 사용자 다른 사용자들과의 유사도를 계산하고 사용자가 선택한 평가 항목 요소에 대한 유사도를 계산하여 개인 프로파일링을 진행하고 프로파일링 결과에 알맞은 사용자가 선호할만한 오픈소스를 추천한다. 협업 필터링 알고리즘에 의해 추천된 오픈소스 소프트웨어 중 사용자로 입력받은 사용자 선택 조건을 적용시켜 조건에 부합하는 오픈소스 소프트웨어를 검색한다. 추천된 오픈소스 중 사용자 선택 조건에 부합하는 오픈소스 소프트웨어 검색(206) 단계를 거쳐 검색된 데이터는 사용자가 선택한 평가 기준에 대한 정량적 평가 점수에 따라 사용자의 사용하는 웹 서비스에 표시해주는 평가 점수에 따른 오픈소스 소프트웨어 표시(207) 단계를 가진다.After user profiling using a collaborative filtering algorithm that finds the user's preference based on the user-based or item-based, the open source software recommendation step (205) uses the user login information to evaluate the preference of the open source software project that the user has previously evaluated. Calculate the similarity with other users of the user using the collaborative filtering technique used for recommendation among the machine learning techniques based on the score and the evaluation item information that the user selected and selected importantly, and calculate the similarity to the user selected evaluation element Proceed with personal profiling, and recommend open source that the user prefers to the profiling result. Among the open source software recommended by the collaborative filtering algorithm, the user selection condition received as a user is applied to search for open source software that satisfies the condition. Among the recommended open sources, the data searched through the open source software search step 206 that meets the user selection criteria is opened according to the evaluation score displayed on the web service used by the user according to the quantitative evaluation score of the evaluation criteria selected by the user. Source software display 207.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.Meanwhile, the above-described embodiments of the present invention can be written in a program executable on a computer and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. The computer-readable recording medium includes a storage medium such as a magnetic storage medium (eg, ROM, floppy disk, hard disk, etc.), an optical reading medium (eg, CD-ROM, DVD, etc.).

본 발명의 실시예들은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 집적 회로 구성들을 채용할 수 있다. 본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 실시예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.Embodiments of the present invention may be represented by functional block configurations and various processing steps. These functional blocks can be implemented with various numbers of hardware or/and software configurations that perform specific functions. For example, an embodiment may be implemented in an integrated circuit configuration such as memory, processing, logic, look-up table, etc., capable of executing various functions by control of one or more microprocessors or other control devices. You can hire them. Similar to how the components of the present invention can be implemented in software programming or software components, an embodiment includes C, C++, including various algorithms implemented in a combination of data structures, processes, routines or other programming components. , Can be implemented in programming or scripting languages such as Java, assembler, etc. Functional aspects can be implemented with algorithms running on one or more processors. In addition, embodiments may employ conventional techniques for electronic environment setting, signal processing, and/or data processing. Terms such as "mechanism", "element", "means", and "configuration" can be used broadly and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in connection with a processor or the like.

실시예에서 설명하는 특정 실행들은 일 실시예들로서, 어떠한 방법으로도 실시 예의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific implementations described in the embodiment are one embodiment, and do not limit the scope of the embodiment in any way. For brevity of the specification, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connection or connection members of the lines between the components shown in the drawings are illustrative examples of functional connections and/or physical or circuit connections. It can be represented as a connection, or circuit connections. In addition, unless specifically mentioned, such as "essential", "important", etc., it may not be a necessary component for the application of the present invention.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been focused on the preferred embodiments. Those skilled in the art to which the present invention pertains will understand that the present invention may be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered in terms of explanation, not limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the equivalent range should be interpreted as being included in the present invention.

Claims (8)

오픈소스 소프트웨어에 대한 오픈소스 정보, 라이선스 정보, 오픈소스 평가, 사용자 선호도에 대한 메타 데이터를 수집하여 오픈소스 소프트웨어 데이터베이스를 구축하고 수집된 데이터를 정제 및 가공하여 다시 저장하는 단계;
사용자로부터 오픈소스 소프트웨어에 대한 사용자 선택 조건을 입력받는 단계;
사용자에 대한 개인 프로파일링을 진행하고 사용자가 원하는 오픈소스를 추천하고 사용자로부터 입력받은 사용자 선택 조건을 결합시켜 오픈소스 소프트웨어를 검색하는 단계; 및
상기 검색된 오픈소스 소프트웨어 결과를 상기 사용자에게 표시하는 단계를 포함하는 것을 특징으로 하는 오픈소스 소프트웨어 추천 방법.
Collecting open source information, license information, open source evaluation, and user preferences for open source software to build an open source software database, refining and processing the collected data, and storing it again;
Receiving a user selection condition for open source software from a user;
Performing personal profiling for the user, recommending the open source desired by the user, and searching for open source software by combining user selection conditions received from the user; And
And displaying the searched open source software results to the user.
오픈소스 소프트웨어에 대한 오픈소스 정보, 라이선스 정보, 오픈소스 평가, 사용자 선호도에 대한 메타 데이터를 수집하는 수집부;
상기 수집된 오픈소스 소프트웨어 메타 데이터로 오픈소스 소프트웨어 데이터베이스를 구축하고 데이터를 정제 및 가공하는 저장/정제/가공부;
사용자로부터 오픈소스 소프트웨어 검색을 위해 사용자 선택 조건을 입력받는 입력부;
사용자에 대한 개인 프로파일링을 진행하고 사용자에게 오픈소스 소프트웨어를 추천해주는 오픈소스 소프트웨어 추천 엔진부; 및
상기 추천된 오픈소스 소프트웨어와 입력부로부터 입력받은 조건을 결합시켜 오픈소스 소프트웨어를 검색하는 검색부를 포함하고,
상기 검색부를 통해 검색된 오픈소스 소프트웨어의 결과를 상기 사용자에게 표시하는 것을 특징으로 하는 오픈소스 소프트웨어 추천 시스템.
A collection unit for collecting metadata about open source information, license information, open source evaluation, and user preferences for open source software;
A storage/purification/processing unit that builds an open source software database with the collected open source software metadata and purifies and processes the data;
An input unit that receives a user selection condition for searching for open source software from the user;
An open source software recommendation engine unit that performs personal profiling for users and recommends open source software to users; And
And a search unit for searching the open source software by combining the recommended open source software and the conditions received from the input unit,
Open source software recommendation system, characterized in that for displaying the results of the open source software searched through the search unit to the user.
제2항에 있어서,
상기 오픈소스 소프트웨어 수집부는, 호스팅 서비스인 github의 API 및 webhook 방식을 이용하여 데이터를 수집하며 그 외 사용자에 관한 정보는 웹 서비스에 포함된 로그인 정보를 사용하는 것을 특징으로 하는 오픈소스 소프트웨어 추천 시스템.
According to claim 2,
The open source software collection unit, an open source software recommendation system characterized in that it collects data using the API and webhook method of the hosting service, github, and uses other user information for login information included in the web service.
제2항에 있어서,
상기 오픈소스 소프트웨어 데이터 저장/정제/가공부는, 수집된 오픈소스 소프트웨어 각각에 대하여 머신 러닝의 입력 데이터로 쓰이기 위한 정제 및 가공 과정을 거치며 정제 및 가공이 끝난 데이터들은 상기 오픈소스 데이터베이스에 저장하는 것을 특징으로 하는 오픈소스 소프트웨어 추천 시스템.
According to claim 2,
The open source software data storage/purification/processing unit undergoes a refinement and processing process to be used as input data of machine learning for each collected open source software, and the refined and processed data is stored in the open source database. Open source software recommendation system.
제2항에 있어서,
상기 사용자 선택 조건 입력부는, 웹 서비스를 통하여 제안된 오픈소스 소프트웨어 분류 정보, 라이선스 선정 기준, 오픈소스 소프트웨어 평가 항목에 대한 사용자 선택을 입력으로 받으며 오픈소스 소프트웨어를 추천해 주기 위한 입력 데이터로 사용되는 것을 특징으로 하는 오픈소스 소프트웨어 추천 시스템.
According to claim 2,
The user selection condition input unit receives input of user selection for the proposed open source software classification information, license selection criteria, and open source software evaluation items through a web service, and is used as input data for recommending open source software. Features open source software recommendation system.
제2항에 있어서,
상기 오픈소스 소프트웨어 추천 엔진부는, 실질적으로 머신 러닝 기법 중 협업 필터링 기법을 사용하여 다른 사용자들과의 유사도를 계산하고 사용자가 선택한 평가 항목 요소에 대한 유사도를 계산하여 개인 프로파일링을 진행하며, 개인 프로파일링을 통해 얻어진 결과를 토대로 각 사용자에게 알맞은 오픈소스 소프트웨어를 추천해 주는 것을 특징으로 하는 오픈소스 소프트웨어 추천 시스템.
According to claim 2,
The open source software recommendation engine unit performs personal profiling by calculating the similarity with other users using a collaborative filtering technique among the machine learning techniques, and calculating the similarity with respect to the evaluation item element selected by the user. Based on the results obtained through the ring, an open source software recommendation system characterized by recommending open source software suitable for each user.
제2항에 있어서,
상기 오픈소스 소프트웨어 검색부는, 입력부를 통해 입력받은 사용자 선택 조건과 추천 엔진부를 통해 추천된 오픈소스 소프트웨어 정보를 결합해 사용자가 원하는 범주 안에 해당하는 오픈소스 소프트웨어를 추천해 주는 것을 특징으로 하는 오픈소스 소프트웨어 추천 시스템.
According to claim 2,
The open source software search unit combines user selection conditions received through the input unit and recommended open source software information through the recommendation engine unit, thereby recommending open source software corresponding to a user's desired category. Recommendation system.
제2항에 있어서,
상기 웹 서비스 표시부는, 상기 검색된 오픈소스 소프트웨어를 사용자가 입력했던 사용자 선택 조건 중 평가 항목의 평가 점수에 기반을 두어 결과를 상기 사용자에게 표시하는 것을 특징으로 하는 오픈소스 소프트웨어 추천 시스템.
According to claim 2,
The web service display unit, the open source software recommendation system, characterized in that for displaying the results to the user based on the evaluation score of the evaluation item among the user selection conditions that the user input the searched open source software.
KR1020180148896A 2018-11-27 2018-11-27 Open Source Software Recommendation System and Method Using Personal Profiling Withdrawn KR20200062917A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180148896A KR20200062917A (en) 2018-11-27 2018-11-27 Open Source Software Recommendation System and Method Using Personal Profiling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180148896A KR20200062917A (en) 2018-11-27 2018-11-27 Open Source Software Recommendation System and Method Using Personal Profiling

Publications (1)

Publication Number Publication Date
KR20200062917A true KR20200062917A (en) 2020-06-04

Family

ID=71081111

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180148896A Withdrawn KR20200062917A (en) 2018-11-27 2018-11-27 Open Source Software Recommendation System and Method Using Personal Profiling

Country Status (1)

Country Link
KR (1) KR20200062917A (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084309A (en) * 2020-09-17 2020-12-15 北京中科微澜科技有限公司 License selection method and system based on open source software map
KR20230031719A (en) 2021-08-27 2023-03-07 위즈코어 주식회사 Open-source algorithmic recommendation system for auto parts manufacturing company
KR20230090112A (en) * 2021-12-14 2023-06-21 성균관대학교산학협력단 Method and device for evaluating open source project code
US11836069B2 (en) 2021-02-24 2023-12-05 Open Weaver Inc. Methods and systems for assessing functional validation of software components comparing source code and feature documentation
US11836202B2 (en) 2021-02-24 2023-12-05 Open Weaver Inc. Methods and systems for dynamic search listing ranking of software components
US11853745B2 (en) 2021-02-26 2023-12-26 Open Weaver Inc. Methods and systems for automated open source software reuse scoring
US11893385B2 (en) 2021-02-17 2024-02-06 Open Weaver Inc. Methods and systems for automated software natural language documentation
US11921763B2 (en) 2021-02-24 2024-03-05 Open Weaver Inc. Methods and systems to parse a software component search query to enable multi entity search
US11947530B2 (en) 2021-02-24 2024-04-02 Open Weaver Inc. Methods and systems to automatically generate search queries from software documents to validate software component search engines
US11960492B2 (en) 2021-02-24 2024-04-16 Open Weaver Inc. Methods and systems for display of search item scores and related information for easier search result selection
US12106094B2 (en) 2021-02-24 2024-10-01 Open Weaver Inc. Methods and systems for auto creation of software component reference guide from multiple information sources
US12164915B2 (en) 2021-02-26 2024-12-10 Open Weaver Inc. Methods and systems to classify software components based on multiple information sources
US12197912B2 (en) 2021-02-26 2025-01-14 Open Weaver Inc. Methods and systems for scoring quality of open source software documentation
KR102762024B1 (en) * 2024-10-25 2025-02-05 주식회사 포너즈 Program developer evaluation system using artificial intelligence
CN119621879A (en) * 2024-11-26 2025-03-14 重庆大学 A visual retrieval method for open source projects
KR102789052B1 (en) * 2023-12-28 2025-03-31 한국해양과학기술원 Method for generating synthetic dataset for maritime traffic situation awareness
US12271866B2 (en) 2021-02-26 2025-04-08 Open Weaver Inc. Methods and systems for creating software ecosystem activity score from multiple sources
US12277126B2 (en) 2023-06-30 2025-04-15 Open Weaver Inc. Methods and systems for search and ranking of code snippets using machine learning models

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084309B (en) * 2020-09-17 2024-06-04 北京中科微澜科技有限公司 License selection method and system based on open source software map
CN112084309A (en) * 2020-09-17 2020-12-15 北京中科微澜科技有限公司 License selection method and system based on open source software map
US11893385B2 (en) 2021-02-17 2024-02-06 Open Weaver Inc. Methods and systems for automated software natural language documentation
US11947530B2 (en) 2021-02-24 2024-04-02 Open Weaver Inc. Methods and systems to automatically generate search queries from software documents to validate software component search engines
US11960492B2 (en) 2021-02-24 2024-04-16 Open Weaver Inc. Methods and systems for display of search item scores and related information for easier search result selection
US11836202B2 (en) 2021-02-24 2023-12-05 Open Weaver Inc. Methods and systems for dynamic search listing ranking of software components
US11836069B2 (en) 2021-02-24 2023-12-05 Open Weaver Inc. Methods and systems for assessing functional validation of software components comparing source code and feature documentation
US11921763B2 (en) 2021-02-24 2024-03-05 Open Weaver Inc. Methods and systems to parse a software component search query to enable multi entity search
US12106094B2 (en) 2021-02-24 2024-10-01 Open Weaver Inc. Methods and systems for auto creation of software component reference guide from multiple information sources
US12197912B2 (en) 2021-02-26 2025-01-14 Open Weaver Inc. Methods and systems for scoring quality of open source software documentation
US12164915B2 (en) 2021-02-26 2024-12-10 Open Weaver Inc. Methods and systems to classify software components based on multiple information sources
US11853745B2 (en) 2021-02-26 2023-12-26 Open Weaver Inc. Methods and systems for automated open source software reuse scoring
US12271866B2 (en) 2021-02-26 2025-04-08 Open Weaver Inc. Methods and systems for creating software ecosystem activity score from multiple sources
KR20230031719A (en) 2021-08-27 2023-03-07 위즈코어 주식회사 Open-source algorithmic recommendation system for auto parts manufacturing company
KR20230090112A (en) * 2021-12-14 2023-06-21 성균관대학교산학협력단 Method and device for evaluating open source project code
US12277126B2 (en) 2023-06-30 2025-04-15 Open Weaver Inc. Methods and systems for search and ranking of code snippets using machine learning models
KR102789052B1 (en) * 2023-12-28 2025-03-31 한국해양과학기술원 Method for generating synthetic dataset for maritime traffic situation awareness
KR102762024B1 (en) * 2024-10-25 2025-02-05 주식회사 포너즈 Program developer evaluation system using artificial intelligence
CN119621879A (en) * 2024-11-26 2025-03-14 重庆大学 A visual retrieval method for open source projects

Similar Documents

Publication Publication Date Title
KR20200062917A (en) Open Source Software Recommendation System and Method Using Personal Profiling
US12072943B2 (en) Marking falsities in online news
Requena et al. Shopper intent prediction from clickstream e-commerce data with minimal browsing information
Orphanou et al. Mitigating bias in algorithmic systems—A fish-eye view
Najafabadi et al. A systematic literature review on the state of research and practice of collaborative filtering technique and implicit feedback
US7941383B2 (en) Maintaining state transition data for a plurality of users, modeling, detecting, and predicting user states and behavior
Urbano et al. Evaluation in music information retrieval
Zhou et al. Predicting high-risk students using Internet access logs
US20130036121A1 (en) System and method for recommending blog
CN113468422B (en) Search method, device, electronic device and storage medium
CN111061979B (en) User tag pushing method and device, electronic equipment and medium
Jannach et al. Session-based recommender systems
Yang et al. Interpretable video tag recommendation with multimedia deep learning framework
US10678831B2 (en) Page journey determination from fingerprint information in web event journals
Javari et al. Accurate and novel recommendations: an algorithm based on popularity forecasting
Wilka et al. How machines learn: where do companies get data for machine learning and what licenses do they need
Lytvyn et al. An Intelligent System of the Content Relevance at the Ex-ample of Films According to User Needs
Clewley et al. Cognitive styles and search engine preferences: Field dependence/independence vs holism/serialism
Xie et al. Disease gene prioritization using network and feature
CN110555163A (en) Techniques for personalizing application store recommendations
Bashir et al. Opinion-Based Entity Ranking using learning to rank
Wang et al. Digital library book recommendation system based on tag mining
Javari et al. Recommender systems for social networks analysis and mining: precision versus diversity
CN106919589A (en) Customer problem analysis method and device
KR102876273B1 (en) System for data extraction of users and vehicle recommendation based on machine learning trained model and the operation method thereof

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20181127

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination