KR102674954B1 - Method and apparatus for providing search service using large language model and deep learning - Google Patents

Method and apparatus for providing search service using large language model and deep learning Download PDF

Info

Publication number
KR102674954B1
KR102674954B1 KR1020230141043A KR20230141043A KR102674954B1 KR 102674954 B1 KR102674954 B1 KR 102674954B1 KR 1020230141043 A KR1020230141043 A KR 1020230141043A KR 20230141043 A KR20230141043 A KR 20230141043A KR 102674954 B1 KR102674954 B1 KR 102674954B1
Authority
KR
South Korea
Prior art keywords
data
entity
model
processor
llm
Prior art date
Application number
KR1020230141043A
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 KR1020230141043A priority Critical patent/KR102674954B1/en
Application granted granted Critical
Publication of KR102674954B1 publication Critical patent/KR102674954B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/934Information retrieval or Information management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

검색 서비스를 제공하는 방법에 있어서, 적어도 하나의 외부 전자 장치로부터 데이터를 획득하는 동작, LLM을 통해 상기 획득된 데이터에서 적어도 하나의 엔티티를 추출하는 동작, 상기 추출된 엔티티를 이용하여 NER 모델을 학습 및 추론하는 동작, 및 상기 NER 모델의 추론 결과를 이용하여 STS 모델 추론을 통해 검색 아이템을 식별하는 동작을 포함하는 방법이 개시된다. 이 외에도 본 문서를 통해 파악되는 다양한 실시예들이 가능하다.A method of providing a search service, comprising: acquiring data from at least one external electronic device, extracting at least one entity from the obtained data through LLM, and learning a NER model using the extracted entity. and an inference operation, and an operation of identifying a search item through STS model inference using the inference result of the NER model. In addition to this, various embodiments identified through this document are possible.

Description

거대 언어 모델과 딥러닝을 이용한 검색 서비스를 제공하는 방법 및 장치{Method and apparatus for providing search service using large language model and deep learning}{Method and apparatus for providing search service using large language model and deep learning}

본 발명의 다양한 실시예들은, 거대 언어 모델과 딥러닝을 이용한 검색 서비스를 제공하는 방법 및 장치에 관한 것이다.Various embodiments of the present invention relate to a method and device for providing a search service using a large language model and deep learning.

인터넷의 발달로 인해 웹 환경이나 모바일 환경에서, 특정 상품이나 재화를 검색하고 구매할 수 있도록 하는 검색 서비스가 발달하고 있다. 이러한 검색 서비스는 다수의 공급사들로부터 정보를 제공받을 수 있고, 제공받은 정보에서 사용자가 원하는 정보를 쉽게 찾을 수 있도록 지원할 수 있다. 일 예로, 숙박 정보에 대한 검색 서비스의 경우, 다수의 숙박 정보 제공사들로부터 숙박 업소의 숙박 정보를 제공받아 사용자가 원하는 숙박 정보를 찾을 수 있도록 지원할 수 있다.Due to the development of the Internet, search services that allow users to search for and purchase specific products or goods in a web or mobile environment are developing. This search service can receive information from multiple suppliers and help users easily find the information they want from the information provided. For example, in the case of a search service for accommodation information, accommodation information of accommodation establishments can be provided from a number of accommodation information providers to support users in finding desired accommodation information.

그러나, 다수의 공급사들로부터 정보를 제공받아 검색 서비스를 제공하는 경우, 동일한 아이템이지만 다른 정보를 가지고 있거나 동일한 아이템이 중복으로 노출되는 문제가 발생할 수 있다. 또한, 이러한 동일 아이템에 대한 중복 여부를 판단하기 위해서 기존에는 단순 수작업으로 판단하였기 때문에 인력의 투입과 시간이 많이 소모될 수 밖에 없었다.However, when providing a search service by receiving information from multiple suppliers, problems may occur where the same item has different information or the same item is exposed repeatedly. In addition, in order to determine whether or not duplicates of the same item exist, it was previously done simply manually, which inevitably required a lot of manpower and time.

본 발명의 다양한 실시예들은, 거대 언어 모델(Large Language Model, LLM)과 딥러닝(deep learning)을 이용한 검색 서비스를 제공하는 방법 및 장치를 제공할 수 있다.Various embodiments of the present invention can provide a method and device for providing a search service using a large language model (LLM) and deep learning.

본 발명의 다양한 실시예에 따른 검색 서비스를 제공하는 방법은, 적어도 하나의 외부 전자 장치로부터 데이터를 획득하는 동작, LLM을 통해 상기 획득된 데이터에서 적어도 하나의 엔티티를 추출하는 동작, 상기 추출된 엔티티를 이용하여 NER 모델을 학습 및 추론하는 동작, 및 상기 NER 모델의 추론 결과를 이용하여 STS 모델 추론을 통해 검색 아이템을 식별하는 동작을 포함할 수 있다.A method of providing a search service according to various embodiments of the present invention includes an operation of acquiring data from at least one external electronic device, an operation of extracting at least one entity from the obtained data through LLM, and the extracted entity It may include learning and inferring a NER model using , and identifying a search item through STS model inference using the inference result of the NER model.

본 발명의 다양한 실시예에 따른 상기 데이터는 적어도 하나의 숙소와 관련된 정보를 포함할 수 있다.The data according to various embodiments of the present invention may include information related to at least one accommodation.

본 발명의 다양한 실시예에 따른 상기 방법은, 정규 표현식을 이용하여 상기 획득된 데이터에서 불필요한 문자열을 제거하는 동작, 및 상기 획득된 데이터의 도메인 특성을 고려하여 상기 불필요한 문자열이 제거된 데이터에서 적어도 하나의 문자열을 분리하는 동작을 더 포함할 수 있다.The method according to various embodiments of the present invention includes the operation of removing unnecessary strings from the obtained data using regular expressions, and at least one unnecessary string from the data from which the unnecessary strings were removed in consideration of domain characteristics of the obtained data. An operation to separate the string may be further included.

상기 검색 아이템의 속성을 구분할 수 있는 엔터티를 추출하기 위한 프롬프트를 작성하여 LLM을 이용하여 엔터티를 추출한다.A prompt is created to extract entities that can distinguish the properties of the search item, and the entities are extracted using LLM.

본 발명의 다양한 실시예에 따른 상기 방법은, 상기 추출된 엔터티에 대한 검증을 수행하는 동작을 더 포함하고, 상기 NER 모델을 학습 및 추론하는 동작은, 상기 LLM이 추출한 엔터티 중 진양성(True Positive)만 검수하여 상기 NER 모델을 학습 및 추론하는 동작을 포함할 수 있다.The method according to various embodiments of the present invention further includes an operation of performing verification on the extracted entity, and the operation of learning and inferring the NER model includes determining a true positive among the entities extracted by the LLM. ) may include the operation of learning and inferring the NER model by inspecting only the NER model.

본 발명의 다양한 실시예에 따른 상기 추출된 엔티티에 대한 검증을 수행하는 동작은, 사용자 입력에 기반하여, 상기 추출된 엔티티의 진위 여부를 식별하는 동작을 포함할 수 있다.The operation of verifying the extracted entity according to various embodiments of the present invention may include the operation of identifying the authenticity of the extracted entity based on user input.

본 발명의 다양한 실시예에 따른 상기 NER 모델을 학습 및 추론하는 동작은, 상기 LLM을 통해 상기 획득된 데이터의 도메인 특성을 반영한 엔티티가 추가된 데이터를 상기 NER 모델에 파인 튜닝하는 동작, 및 상기 학습된 NER 모델을 통해 상기 획득된 데이터에 대해 엔티티를 추론하는 동작을 포함할 수 있다.The operation of learning and inferring the NER model according to various embodiments of the present invention includes the operation of fine tuning data to which an entity reflecting the domain characteristics of the data obtained through the LLM is added to the NER model, and the learning It may include an operation of inferring an entity for the acquired data through the NER model.

본 발명의 다양한 실시예에 따른 상기 STS 모델 추론을 통해 상기 검색 아이템을 식별하는 동작은, 상기 LLM을 통해 상기 획득된 데이터의 도메인 특성을 반영한 엔터티가 추가된 데이터를 학습한 NER모델의 출력을 상기 STS 모델의 입력으로 하여 추론하는 동작을 포함할 수 있다.The operation of identifying the search item through the STS model inference according to various embodiments of the present invention includes outputting the output of the NER model that learned data to which entities reflecting domain characteristics of the data obtained through the LLM were added. It may include an inference operation using the input of the STS model.

본 발명의 다양한 실시예에 따른 상기 STS 모델 추론을 통해 상기 검색 아이템을 식별하는 동작은, 상기 획득된 데이터에 대응하는 상기 검색 아이템의 중복 여부를 판단하는 동작을 포함할 수 있다.The operation of identifying the search item through the STS model inference according to various embodiments of the present invention may include the operation of determining whether the search item corresponding to the acquired data is a duplicate.

본 발명의 다양한 실시예에 따른 상기 방법은, 상기 검색 아이템이 중복되지 않는다고 판단되면, 상기 검색 아이템을 데이터베이스에 저장하는 동작을 더 포함할 수 있다.The method according to various embodiments of the present invention may further include storing the search item in a database when it is determined that the search item is not duplicated.

본 발명의 다양한 실시예에 따른 검색 서비스를 제공하는 장치는, LLM을 포함하는 메모리, 외부 전자 장치와 통신하기 위한 통신 회로, 및 상기 메모리 및 상기 통신 회로와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 통신 회로를 통해 적어도 하나의 외부 전자 장치로부터 데이터를 획득하고, 상기 LLM을 통해 상기 획득된 데이터에서 적어도 하나의 엔티티를 추출하고, 상기 추출된 엔티티를 이용하여 NER 모델을 학습 및 추론하고, 상기 NER 모델의 추론 결과를 이용하여 STS 모델 추론을 통해 검색 아이템을 식별하도록 설정될 수 있다.An apparatus for providing a search service according to various embodiments of the present invention includes a memory including an LLM, a communication circuit for communicating with an external electronic device, and a processor operatively connected to the memory and the communication circuit, The processor acquires data from at least one external electronic device through the communication circuit, extracts at least one entity from the acquired data through the LLM, and learns and infers a NER model using the extracted entity. And, it can be set to identify the search item through STS model inference using the inference result of the NER model.

본 발명의 다양한 실시예에 따른 상기 데이터는 적어도 하나의 숙소와 관련된 정보를 포함할 수 있다.The data according to various embodiments of the present invention may include information related to at least one accommodation.

본 발명의 다양한 실시예에 따른 상기 프로세서는, 정규 표현식을 이용하여 상기 획득된 데이터에서 불필요한 문자열을 제거하고, 상기 획득된 데이터의 도메인 특성을 고려하여 상기 불필요한 문자열이 제거된 데이터에서 적어도 하나의 문자열을 분리하도록 설정될 수 있다.The processor according to various embodiments of the present invention removes unnecessary strings from the obtained data using regular expressions, and removes at least one string from the data from which the unnecessary strings have been removed in consideration of domain characteristics of the obtained data. can be set to separate.

본 발명의 다양한 실시예에 따른 상기 프로세서는, 상기 검색 아이템의 속성을 구분할 수 있는 엔터티를 추출하기 위한 프롬프트를 작성하여 LLM을 이용하여 엔터티를 추출한다The processor according to various embodiments of the present invention creates a prompt for extracting an entity that can distinguish the properties of the search item and extracts the entity using LLM.

본 발명의 다양한 실시예에 따른 상기 프로세서는, 상기 추출된 엔터티에 대한 검증을 수행하고, 상기 LLM이 추출한 엔터티 중 진양성(True Positive)만 검수한 엔터티를 이용하여 상기 NER 모델을 학습 및 추론하도록 설정될 수 있다.The processor according to various embodiments of the present invention performs verification on the extracted entities, and learns and infers the NER model using entities that have only verified true positives among the entities extracted by the LLM. can be set.

본 발명의 다양한 실시예에 따른 상기 프로세서는, 사용자 입력에 기반하여, 상기 추출된 엔티티의 진위 여부를 식별함으로써 상기 추출된 엔티티에 대한 검증을 수행하도록 설정될 수 있다.The processor according to various embodiments of the present invention may be configured to perform verification of the extracted entity by identifying the authenticity of the extracted entity based on user input.

본 발명의 다양한 실시예에 따른 상기 프로세서는, 상기 LLM을 통해 상기 획득된 데이터의 도메인 특성을 반영한 엔티티가 추가된 데이터를 상기 NER 모델에 파인 튜닝하고, 상기 학습된 NER 모델을 통해 상기 획득된 데이터에 대해 엔티티를 추론하도록 설정될 수 있다.The processor according to various embodiments of the present invention fine-tunes data to which entities that reflect domain characteristics of the data acquired through the LLM are added to the NER model, and fine-tunes the data obtained through the learned NER model. It can be set to infer an entity.

본 발명의 다양한 실시예에 따른 상기 프로세서는, 상기 LLM을 통해 상기 획득된 데이터의 도메인 특성을 반영한 엔티티가 추가된 데이터를 학습한 NER모델의 출력을 상기 STS 모델의 입력으로 하여 추론하도록 설정될 수 있다.The processor according to various embodiments of the present invention may be set to infer by using the output of the NER model that learned data to which entities that reflect the domain characteristics of the data obtained through the LLM were added as the input of the STS model. there is.

본 발명의 다양한 실시예에 따른 상기 프로세서는, 상기 획득된 데이터에 대응하는 상기 검색 아이템의 중복 여부를 판단함으로써 상기 검색 아이템을 식별하도록 설정될 수 있다.The processor according to various embodiments of the present invention may be set to identify the search item by determining whether the search item corresponding to the acquired data is a duplicate.

본 발명의 다양한 실시예에 따른 상기 프로세서는, 상기 검색 아이템이 중복되지 않는다고 판단되면, 상기 검색 아이템을 데이터베이스에 저장하도록 설정될 수 있다.The processor according to various embodiments of the present invention may be set to store the search item in a database when it is determined that the search item is not duplicated.

본 발명의 다양한 실시예들에 따르면, 거대 언어 모델(LLM)과 딥러닝을 이용한 실시간 검색 서비스를 제공함으로써, 검색 아이템에 대한 중복 여부를 손쉽게 판단할 수 있도록 지원할 수 있고, 이에 따라 실시간 검색에서의 아이템 검색 및 비교에 대한 사용자의 피로도 및 시간을 절감할 수 있는 효과를 제공할 수 있다.According to various embodiments of the present invention, by providing a real-time search service using a large language model (LLM) and deep learning, it is possible to easily determine whether or not a search item is duplicated, and thus, the real-time search It can provide the effect of reducing user fatigue and time for searching and comparing items.

이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.In addition, various effects that can be directly or indirectly identified through this document may be provided.

도 1은 본 발명의 일 실시예에 따른 검색 서비스를 제공하는 장치의 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 검색 서비스 제공하는 시스템을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 검색 서비스를 제공하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 검색 서비스를 제공하는 방법을 설명하기 위한 플로우 차트이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
1 is a diagram for explaining the configuration of a device that provides a search service according to an embodiment of the present invention.
Figure 2 is a diagram for explaining a system for providing a search service according to an embodiment of the present invention.
Figure 3 is a diagram for explaining a method of providing a search service according to an embodiment of the present invention.
Figure 4 is a flow chart to explain a method of providing a search service according to an embodiment of the present invention.
In relation to the description of the drawings, identical or similar reference numerals may be used for identical or similar components.

이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들이 설명된다. 설명의 편의를 위하여 도면에 도시된 구성요소들은 그 크기가 과장 또는 축소될 수 있으며, 본 발명이 반드시 도시된 바에 의해 한정되는 것은 아니다.Hereinafter, various embodiments of the present invention will be described with reference to the attached drawings. For convenience of explanation, the sizes of components shown in the drawings may be exaggerated or reduced, and the present invention is not necessarily limited to what is shown.

도 1은 본 발명의 일 실시예에 따른 검색 서비스를 제공하는 장치의 구성을 설명하기 위한 도면이고, 도 2는 본 발명의 일 실시예에 따른 검색 서비스 제공하는 시스템을 설명하기 위한 도면이다.FIG. 1 is a diagram for explaining the configuration of an apparatus for providing a search service according to an embodiment of the present invention, and FIG. 2 is a diagram for explaining a system for providing a search service according to an embodiment of the present invention.

도 1 및 도 2를 참조하면, 검색 서비스를 제공하는 전자 장치(100)는 통신 회로(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다. 그러나, 상기 전자 장치(100)의 구성이 이에 한정되는 것은 아니다. 다양한 실시예에 따르면, 상기 전자 장치(100)는 상술한 구성요소 외에 적어도 하나의 다른 구성요소를 더 포함할 수 있다. 일 예로, 상기 전자 장치(100)는 검색 결과를 표시하기 위한 디스플레이를 더 포함할 수 있다. 상기 디스플레이는 상기 전자 장치(100)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 상기 디스플레이는 예를 들면, 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.Referring to FIGS. 1 and 2 , an electronic device 100 that provides a search service may include a communication circuit 110, a memory 120, and a processor 130. However, the configuration of the electronic device 100 is not limited to this. According to various embodiments, the electronic device 100 may further include at least one other component in addition to the components described above. As an example, the electronic device 100 may further include a display for displaying search results. The display may visually provide information to the outside of the electronic device 100 (eg, a user). The display may include, for example, a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.

상기 통신 회로(110)는 상기 전자 장치(100)와 외부 전자 장치(210)(예: 제1 외부 전자 장치(211), 제2 외부 전자 장치(212) 및/또는 제n 외부 전자 장치(213)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 일 실시예에 따르면, 상기 전자 장치(100)는 상기 통신 회로(110)를 통해 상기 외부 전자 장치(210)로부터 검색 서비스의 제공과 관련된 데이터(또는 학습 데이터)를 획득할 수 있다. 일 실시예에 따르면, 상기 전자 장치(100)는 상기 통신 회로(110)를 통해 상기 외부 전자 장치(210)로부터 획득한 데이터를 데이터베이스(DB)(220)에 저장할 수 있다.The communication circuit 110 connects the electronic device 100 and the external electronic device 210 (e.g., the first external electronic device 211, the second external electronic device 212, and/or the n-th external electronic device 213). )) can support the establishment of a direct (e.g. wired) communication channel or wireless communication channel and the performance of communication through the established communication channel. According to one embodiment, the electronic device 100 may obtain data (or learning data) related to the provision of a search service from the external electronic device 210 through the communication circuit 110. According to one embodiment, the electronic device 100 may store data obtained from the external electronic device 210 through the communication circuit 110 in the database (DB) 220.

상기 메모리(120)는 상기 전자 장치(100)의 적어도 하나의 구성요소(예: 프로세서(130))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 상기 데이터는 예를 들어, 소프트웨어(예: 프로그램) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 상기 메모리(120)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 일 실시예에 따르면, 상기 메모리(120)는 거대 언어 모델(Large Language Model, LLM)(121, 230)을 포함할 수 있다. 상기 LLM(121, 230)은 인공지능의 한 형태로, 텍스트 기반의 정보를 이행하고 생성하는데 사용될 수 있다. 예를 들어, 상기 LLM(121, 230)은 대량의 텍스트 데이터를 학습하여 언어 이해 및 생성 능력을 개발하며, 자연어 처리 작업에서 사용될 수 있다.The memory 120 may store various data used by at least one component (eg, processor 130) of the electronic device 100. The data may include, for example, software (eg, program) and input data or output data for instructions related thereto. The memory 120 may include volatile memory or non-volatile memory. According to one embodiment, the memory 120 may include a large language model (LLM) 121 and 230. The LLM (121, 230) is a form of artificial intelligence and can be used to implement and generate text-based information. For example, the LLMs 121 and 230 develop language understanding and generation capabilities by learning large amounts of text data, and can be used in natural language processing tasks.

상기 프로세서(130)는 소프트웨어(예: 프로그램)를 실행하여 상기 프로세서(130)에 연결된 상기 전자 장치(100)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 상기 프로세서(130)는 다른 구성요소(예: 통신 회로(110))로부터 수신된 명령 또는 데이터를 휘발성 메모리에 저장하고, 휘발성 메모리에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.The processor 130 may execute software (e.g., a program) to control at least one other component (e.g., hardware or software component) of the electronic device 100 connected to the processor 130, A variety of data processing and calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 130 stores commands or data received from other components (e.g., communication circuit 110) in volatile memory, and stores the commands or data received from other components (e.g., communication circuit 110) in volatile memory. Commands or data can be processed and the resulting data can be stored in non-volatile memory.

한편, 상기 전자 장치(100)와 같이, 인공지능 장치(또는 시스템) 또는 인공지능에 기반한 예측 모델을 제공하는 장치(또는 시스템)는 인간 수준의 지능을 구현하는 컴퓨터 시스템으로서 기계가 스스로 학습하고 판단하며, 사용할수록 인식률이 향상되는 장치(또는 시스템)이다. 인공지능 기술은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘을 이용하는 기계학습(딥러닝) 기술 및 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 요소 기술들로 구성된다. 요소 기술들은, 예를 들어, 인간의 언어/문자를 인식하는 언어적 이해 기술, 사물을 인간의 시각처럼 인식하는 시각적 이해 기술, 정보를 판단하여 논리적으로 추론하고 예측하는 추론/예측 기술, 인간의 경험 정보를 지식데이터로 처리하는 지식 표현 기술 및 차량의 자율 주행, 로봇의 움직임을 제어하는 동작 제어 기술 중 적어도 하나를 포함할 수 있다.On the other hand, like the electronic device 100, an artificial intelligence device (or system) or a device (or system) that provides a prediction model based on artificial intelligence is a computer system that implements human-level intelligence and allows the machine to learn and make decisions on its own. It is a device (or system) whose recognition rate improves as it is used. Artificial intelligence technology consists of machine learning (deep learning) technology that uses an algorithm that classifies/learns the characteristics of input data on its own, and element technologies that mimic the functions of the human brain such as cognition and judgment using machine learning algorithms. Element technologies include, for example, linguistic understanding technology that recognizes human language/characters, visual understanding technology that recognizes objects as if they were human eyes, reasoning/prediction technology that judges information and makes logical inferences and predictions, and human understanding technology. It may include at least one of a knowledge expression technology that processes experience information into knowledge data, and a motion control technology that controls the autonomous driving of a vehicle and the movement of a robot.

인공지능에 기반하여 상기 LLM(121, 230)과 딥러닝을 이용한 검색 서비스를 제공하는 상기 전자 장치(100)에 포함된 상기 프로세서(130)는, 상기 메모리(120)에 저장된 프로그램(및 상기 데이터베이스(220)에 저장된 학습 데이터)을 이용하여 신경망을 학습할 수 있다. 상기 신경망은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 갖는 복수의 네트워크 노드들을 포함할 수 있다. 상기 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통해 신호를 주고 받는 뉴런의 시냅틱 활동을 모의하도록 각각 연결 관계에 따라 데이터를 주고 받을 수 있다. 상기 신경망은 신경망 모델에서 발전한 딥러닝 모델을 포함할 수 있다. 상기 딥러닝 모델에서 복수의 네트워크 노드들은 서로 다른 레이어(layer)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다. 상기 신경망 모델의 예는 심층 신경망(DNN, deep neural networks), 합성곱 신경망(CNN, convolutional deep neural networks), 순환 신경망(RNN, Recurrent Boltzmann Machine), 제한 볼츠만 머신(RBM, Restricted Boltzmann Machine), 심층 신뢰 신경망(DBN, deep belief networks), 심층 Q-네트워크(Deep Q-Network)와 같은 다양한 딥러닝 기법들을 포함하며, 컴퓨터 비전, 음성 인식, 자연어 처리, 음성/신호 처리 등의 분야에 적용될 수 있다.The processor 130 included in the electronic device 100, which provides a search service using the LLMs 121 and 230 and deep learning based on artificial intelligence, operates a program (and the database) stored in the memory 120. A neural network can be learned using the learning data stored in (220). The neural network may be designed to simulate human brain structure on a computer, and may include a plurality of network nodes with weights that simulate neurons of a human neural network. The plurality of network nodes may exchange data according to their respective connection relationships to simulate the synaptic activity of neurons sending and receiving signals through synapses. The neural network may include a deep learning model developed from a neural network model. In the deep learning model, a plurality of network nodes are located in different layers and can exchange data according to convolutional connection relationships. Examples of the neural network models include deep neural networks (DNN), convolutional deep neural networks (CNN), Recurrent Boltzmann Machine (RNN), Restricted Boltzmann Machine (RBM), and deep neural networks (DNN). It includes various deep learning techniques such as deep belief networks (DBN) and Deep Q-Network, and can be applied to fields such as computer vision, speech recognition, natural language processing, and voice/signal processing. .

상기 프로세서(130)는 상기 신경망 모델에 필요한 학습 데이터를 획득할 수 있다. 일 예로, 상기 프로세서(130)는 상기 데이터베이스(220)에서 학습 데이터를 획득할 수 있다. 또한, 상기 프로세서(130)는 상기 획득된 학습 데이터를 이용하여 상기 신경망 모델의 학습을 수행할 수 있다. 이 때, 상기 프로세서(130)는 상기 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 상기 신경망 모델을 학습시킬 수 있다. 또는, 상기 프로세서(130)는 지도 없이 상기 학습 데이터를 이용하여 스스로 학습함으로써, 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통해 상기 신경망 모델을 학습시킬 수 있다. 또한, 상기 프로세서(130)는 학습에 따른 상황 판단의 결과가 올바른지에 대한 피드백을 이용하여 강화 학습(reinforcement learning)을 통하여, 상기 신경망 모델을 학습시킬 수 있다. 또한, 상기 프로세서(130)는 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient decent)을 포함하는 학습 알고리즘을 이용하여 상기 신경망 모델을 학습시킬 수 있다.The processor 130 may acquire training data necessary for the neural network model. As an example, the processor 130 may obtain learning data from the database 220. Additionally, the processor 130 may perform training of the neural network model using the acquired training data. At this time, the processor 130 may learn the neural network model through supervised learning using at least some of the learning data as a decision standard. Alternatively, the processor 130 can learn the neural network model through unsupervised learning, which discovers a decision standard by learning on its own using the learning data without guidance. In addition, the processor 130 can learn the neural network model through reinforcement learning using feedback on whether the result of situational judgment based on learning is correct. Additionally, the processor 130 may train the neural network model using a learning algorithm including error back-propagation or gradient descent.

상기 신경망 모델이 학습되면, 상기 프로세서(130)는 학습된 신경망 모델(예: LLM(121, 230))을 상기 메모리(120)에 저장할 수 있다. 일 실시예에 따르면, 상기 프로세서(130)는 학습된 신경망 모델을 상기 통신 회로(110)를 통해 상기 전자 장치(100)와 유선 또는 무선 네트워크로 연결된 서버의 메모리에 저장할 수도 있다.When the neural network model is learned, the processor 130 may store the learned neural network model (eg, LLM (121, 230)) in the memory 120. According to one embodiment, the processor 130 may store the learned neural network model in the memory of a server connected to the electronic device 100 through a wired or wireless network through the communication circuit 110.

일 실시예에 따르면, 상기 프로세서(130)는 상기 통신 회로(110)를 통해 적어도 하나의 외부 전자 장치(210)(예: 제1 외부 전자 장치(211), 제2 외부 전자 장치(212) 및/또는 제n 외부 전자 장치(213))로부터 데이터를 획득할 수 있다. 상기 외부 전자 장치(210)는 예를 들어, 검색 아이템에 대한 정보를 제공하는 서버를 포함할 수 있다. 일 예로, 상기 프로세서(130)는 상기 통신 회로(110)를 통해 적어도 하나의 숙박 정보 제공사(예: 숙박 정보 제공사가 운영하는 서버)로부터 숙박 업소의 숙박 정보를 획득할 수 있다. 예를 들어, 상기 데이터는 적어도 하나의 숙소와 관련된 정보를 포함할 수 있다. 일 실시예에 따르면, 상기 프로세서(130)는 상기 획득된 데이터를 상기 데이터베이스(220)에 저장할 수 있다.According to one embodiment, the processor 130 is connected to at least one external electronic device 210 (e.g., a first external electronic device 211, a second external electronic device 212, and /Or data may be obtained from the nth external electronic device 213). For example, the external electronic device 210 may include a server that provides information about search items. As an example, the processor 130 may obtain accommodation information of an accommodation establishment from at least one accommodation information provider (eg, a server operated by the accommodation information provider) through the communication circuit 110. For example, the data may include information related to at least one accommodation. According to one embodiment, the processor 130 may store the obtained data in the database 220.

일 실시예에 따르면, 상기 프로세서(130)는 상기 획득된 데이터에 대한 전처리(pre-processing)를 수행할 수 있다. 예를 들어, 상기 프로세서(130)는 정규 표현식을 이용하여 상기 획득된 데이터에서 불필요한 문자열을 제거할 수 있다. 이후, 상기 프로세서(130)는 상기 획득된 데이터의 도메인(domain) 특성을 고려하여 상기 불필요한 문자열이 제거된 데이터에서 적어도 하나의 문자열을 분리할 수 있다.According to one embodiment, the processor 130 may perform pre-processing on the acquired data. For example, the processor 130 may remove unnecessary strings from the obtained data using regular expressions. Thereafter, the processor 130 may separate at least one string from the data from which the unnecessary strings have been removed by considering domain characteristics of the obtained data.

일 실시예에 따르면, 상기 프로세서(130)는 상기 LLM(121, 230)을 통해 상기 획득된 데이터에서 적어도 하나의 엔티티(entity)를 추출할 수 있다. 상기 엔티티는 예를 들어, 상기 획득된 데이터의 도메인 특성을 고려하여 검색 아이템의 속성을 구분할 수 있는 엔티티를 포함할 수 있다. 숙박 정보로 예를 들면, 상기 엔티티는 숙소 타입, 숙소 크기(또는 객실 크기), 흡연 가능 여부 또는 객실에서 보이는 뷰(view)의 형태(예: 마운틴뷰, 오션뷰 등) 중 적어도 하나를 포함할 수 있다.According to one embodiment, the processor 130 may extract at least one entity from the acquired data through the LLMs 121 and 230. For example, the entity may include an entity capable of distinguishing properties of a search item by considering domain characteristics of the acquired data. For example, accommodation information, the entity may include at least one of accommodation type, accommodation size (or room size), whether smoking is allowed, or type of view from the room (e.g., mountain view, ocean view, etc.). there is.

일 실시예에 따르면, 상기 프로세서(130)는 상기 LLM(121, 230)을 통한 엔티티 추출의 정확도를 높이기 위해 상기 LLM(121, 230)을 학습시킬 수 있다. 일 예로, 상기 프로세서(130)는 상기 데이터의 도메인 특성을 고려하여 검색 아이템의 속성을 구분할 수 있는 엔티티를 설정하고, 상기 LLM(121, 230)을 통해 임의의 데이터에서 상기 설정된 엔티티가 추출될 수 있도록 하는 프롬프트(prompt)를 상기 LLM(121, 230)에 입력하여 상기 LLM(121, 230)을 학습시킬 수 있다. 상기 프롬프트는 예를 들어, 임의의 데이터에서 도메인 특성에 따른 검색 아이템의 속성을 구분할 수 있는 엔티티를 추출할 수 있도록 생성된 예시적인 문자열 학습 데이터를 포함할 수 있다.According to one embodiment, the processor 130 may train the LLMs 121 and 230 to increase the accuracy of entity extraction through the LLMs 121 and 230. As an example, the processor 130 sets an entity that can distinguish the properties of the search item by considering the domain characteristics of the data, and the set entity can be extracted from arbitrary data through the LLM (121, 230). The LLM (121, 230) can be trained by inputting a prompt to the LLM (121, 230). For example, the prompt may include example string learning data generated to extract entities that can distinguish properties of search items according to domain characteristics from arbitrary data.

일 실시예에 따르면, 상기 프로세서(130)는 상기 추출된 엔티티를 아이템 중복 판단 모듈(240)로 전달할 수 있다. 상기 아이템 중복 판단 모듈(240)은 상기 획득된 데이터에 대응하는 검색 아이템이 기존의 검색 아이템(예: 데이터베이스(220)에 저장된 검색 아이템)과 중복되는 아이템인지를 판단하는 기능을 수행할 수 있다. 상기 아이템 중복 판단 모듈(240)은 NER(Named Entity Recognition) 모델(241) 및 STS(Semantic Textual Similarity) 모델(242)을 포함할 수 있다.According to one embodiment, the processor 130 may transmit the extracted entity to the item duplication determination module 240. The item duplication determination module 240 may perform a function of determining whether the search item corresponding to the acquired data is an item that overlaps with an existing search item (eg, a search item stored in the database 220). The item duplication determination module 240 may include a Named Entity Recognition (NER) model 241 and a Semantic Textual Similarity (STS) model 242.

일 실시예에 따르면, 상기 프로세서(130)는 상기 추출된 엔티티를 이용하여 상기 NER 모델(241)을 학습 및 추론할 수 있다. 상기 NER 모델(241)은 주어진 텍스트에서 명명된 개체(네임드 엔티티)를 인식하고 추출하는 작업을 수행할 수 있다. 여기서, 명명된 개체는 식별 가능한 엔티티로서, 예를 들어, 숙소 타입, 숙소 크기(또는 객실 크기), 흡연 가능 여부 또는 객실에서 보이는 뷰의 형태 중 적어도 하나를 포함할 수 있다. 상기 NER 모델(241)을 통해 상기 프로세서(130)는, 상기 데이터에서 엔티티를 식별하고, 상기 식별된 엔티티의 시작과 끝 위치를 표시하여 상기 데이터에서 상기 엔티티의 위치를 정확하게 파악할 수 있도록 하며, 상기 식별된 엔티티가 어떤 유형에 속하는지를 분류할 수 있다.According to one embodiment, the processor 130 may learn and infer the NER model 241 using the extracted entity. The NER model 241 can perform the task of recognizing and extracting named entities (named entities) from given text. Here, the named entity is an identifiable entity and may include, for example, at least one of the accommodation type, accommodation size (or room size), whether smoking is allowed, or the type of view seen from the room. Through the NER model 241, the processor 130 identifies an entity in the data and displays the start and end positions of the identified entity to accurately determine the location of the entity in the data. You can classify what type the identified entity belongs to.

일 실시예에 따르면, 상기 프로세서(130)는 상기 NER 모델(241)을 학습 및 추론하기 전 상기 추출된 엔티티에 대한 검증을 수행할 수 있다. 일 예로, 상기 프로세서(130)는 사용자 입력에 기반하여, 상기 추출된 엔티티의 진위 여부를 식별함으로써 상기 추출된 엔티티에 대한 검증을 수행할 수 있다. 상기 엔티티의 진위 여부는 예를 들어, 엔티티가 올바르게 추출된 것을 나타내는 "true" 값과 엔티티가 잘못 추출된 것을 나타내는 "false" 값으로 표현될 수 있다. 이후, 상기 추출된 엔티티에 대한 검증 결과, 상기 엔티티가 올바르게 추출된 것으로 판단되면, 상기 프로세서(130)는 상기 검증된 엔티티를 이용하여 상기 NER 모델(241)을 학습 및 추론할 수 있다.According to one embodiment, the processor 130 may perform verification on the extracted entity before learning and inferring the NER model 241. As an example, the processor 130 may perform verification of the extracted entity by identifying the authenticity of the extracted entity based on user input. The authenticity of the entity can be expressed, for example, as a “true” value indicating that the entity was extracted correctly and a “false” value indicating that the entity was extracted incorrectly. Thereafter, as a result of verification of the extracted entity, if it is determined that the entity was extracted correctly, the processor 130 can learn and infer the NER model 241 using the verified entity.

일 실시예에 따르면, 상기 프로세서(130)는 상기 LLM(121, 230)을 통해 상기 획득된 데이터의 도메인 특성을 반영한 엔티티가 추가된 데이터를 상기 NER 모델(241)에 파인 튜닝(fine tuning)할 수 있다. 이를 위해, 상기 프로세서(130)는 상기 데이터를 상기 NER 모델(241)의 학습을 위한 BIO(Beginning, Inside, Outside) 포맷으로 변경할 수 있다. 상기 BIO 포맷은 엔티티 인식 작업에서 사용되는 데이터 포맷으로서, 데이터에서 명명된 엔티티의 시작 부분(B - beginning), 내부 부분(I - inside) 및 엔티티가 아닌 부분(O - outside)을 나타내는 레이블(label)을 포함할 수 있다. 이후, 상기 프로세서(130)는 상기 BIO 포맷으로 변환된 상기 데이터를 수치화할 수 있다. 예를 들어, 상기 프로세서(130)는 엔티티 유형에 대한 레이블 인덱스를 정의하고, 이에 기반하여 BIO 레이블을 고유한 숫자로 매핑할 수 있다. 이후, 상기 프로세서(130)는 상술한 라벨링(labeling) 데이터를 사용하여 상기 NER 모델(241)을 파인 튜닝할 수 있다. 이 과정에서, 상기 NER 모델(241)은 주어진 데이터에서 엔티티를 식별하도록 학습될 수 있다. 예를 들어, 파인 튜닝된 NER 모델(241)은 원시 데이터(raw data)에서 엔티티를 추출하는 데 더 뛰어난 성능을 가질 수 있다. 이에 따라, 상기 프로세서(130)는 상기 학습된 NER 모델(241)을 통해 상기 획득된 데이터에 대해 엔티티를 추론할 수 있다.According to one embodiment, the processor 130 fine tunes data to which entities reflecting domain characteristics of the data obtained through the LLMs 121 and 230 are added to the NER model 241. You can. To this end, the processor 130 may change the data into BIO (Beginning, Inside, Outside) format for learning the NER model 241. The BIO format is a data format used in entity recognition tasks, and includes labels indicating the beginning (B - beginning), the interior (I - inside), and the non-entity (O - outside) of the named entity in the data. ) may include. Afterwards, the processor 130 can digitize the data converted to the BIO format. For example, the processor 130 may define a label index for an entity type and map the BIO label to a unique number based on this. Thereafter, the processor 130 may fine tune the NER model 241 using the above-described labeling data. In this process, the NER model 241 can be trained to identify entities in given data. For example, the fine-tuned NER model 241 may have better performance in extracting entities from raw data. Accordingly, the processor 130 can infer an entity for the acquired data through the learned NER model 241.

일 실시예에 따르면, 상기 프로세서(130)는 학습한 NER 모델(241)의 출력을 STS 모델(242)의 입력으로 하여 추론을 통해 검색 아이템을 식별할 수 있다. 상기 STS 모델(242)은 두 개의 문장 또는 텍스트 사이의 의미적 유사성을 측정하고 비교하는 작업을 수행할 수 있다. 예를 들어, 상기 STS 모델(242)은 주어진 두 개의 텍스트 입력에 대해 유사성 점수를 출력하며, 상기 점수는 입력 텍스트가 얼마나 의미적으로 유사한지를 나타낼 수 있다. 상기 STS 모델(242)을 통해 상기 프로세서(130)는, 두 문장 또는 텍스트 사이의 의미적 유사성을 수량화할 수 있고, 입력된 두 텍스트의 유사성을 숫자로 표현하는 유사성 점수를 생성할 수 있다. 일 실시예에 따르면, 상기 프로세서(130)는 상기 LLM(121, 230)을 통해 상기 획득된 데이터의 도메인 특성을 반영한 엔티티가 추가된 데이터를 상기 STS 모델(242)의 입력으로 하여 추론할 수 있다.According to one embodiment, the processor 130 may use the output of the learned NER model 241 as an input to the STS model 242 to identify a search item through inference. The STS model 242 can perform the task of measuring and comparing semantic similarity between two sentences or texts. For example, the STS model 242 outputs a similarity score for two given text inputs, and the score may indicate how semantically similar the input texts are. Through the STS model 242, the processor 130 can quantify the semantic similarity between two sentences or texts and generate a similarity score that expresses the similarity between the two input texts in numbers. According to one embodiment, the processor 130 may infer data to which an entity reflecting the domain characteristics of the data obtained through the LLMs 121 and 230 has been added as input to the STS model 242. .

일 실시예에 따르면, 상기 프로세서(130)는 상기 획득된 데이터에 대응하는 검색 아이템의 중복 여부를 판단함으로써 상기 검색 아이템을 식별할 수 있다. 예를 들어, 상기 프로세서(130)는 상기 STS 모델(242)을 통해, 상기 획득된 데이터에 대응하는 검색 아이템이 기존의 검색 아이템(예: 데이터베이스(220)에 저장된 검색 아이템)과 중복되는 아이템인지를 식별할 수 있다. 일 실시예에 따르면, 상기 프로세서(130)는 상기 검색 아이템이 중복되지 않는다고 판단되면, 상기 검색 아이템을 상기 데이터베이스(220)에 저장할 수 있다. 상기 데이터베이스(220)는 상기 메모리(120)에 포함되거나 외부 서버에 포함될 수 있다.According to one embodiment, the processor 130 may identify the search item by determining whether the search item corresponding to the acquired data is a duplicate. For example, the processor 130 determines whether the search item corresponding to the acquired data is an item that overlaps with an existing search item (e.g., a search item stored in the database 220) through the STS model 242. can be identified. According to one embodiment, if the processor 130 determines that the search items are not duplicates, the processor 130 may store the search items in the database 220. The database 220 may be included in the memory 120 or may be included in an external server.

도 3은 본 발명의 일 실시예에 따른 검색 서비스를 제공하는 방법을 설명하기 위한 도면이다.Figure 3 is a diagram for explaining a method of providing a search service according to an embodiment of the present invention.

도 3을 참조하면, 검색 서비스를 제공하는 장치(예: 도 1의 전자 장치(100))는 동작 310에서, 데이터를 획득할 수 있다. 예를 들어, 상기 장치의 프로세서(예: 도 1의 프로세서(130))는 통신 회로(예: 도 1의 통신 회로(110))를 통해 적어도 하나의 외부 전자 장치(예: 도 2의 외부 전자 장치(210))로부터 데이터를 획득할 수 있다. 상기 외부 전자 장치는 예를 들어, 검색 아이템에 대한 정보를 제공하는 서버를 포함할 수 있다. 일 예로, 상기 프로세서는 상기 통신 회로를 통해 적어도 하나의 숙박 정보 제공사(예: 숙박 정보 제공사가 운영하는 서버)로부터 숙박 업소의 숙박 정보를 획득할 수 있다. 예를 들어, 상기 데이터는 적어도 하나의 숙소와 관련된 정보를 포함할 수 있다. 일 실시예에 따르면, 상기 프로세서는 상기 획득된 데이터를 데이터베이스(예: 도 2의 데이터베이스(220))에 저장할 수 있다.Referring to FIG. 3, a device that provides a search service (eg, the electronic device 100 of FIG. 1) may acquire data in operation 310. For example, the processor of the device (e.g., processor 130 in FIG. 1) communicates with at least one external electronic device (e.g., external electronic device in FIG. 2) through a communication circuit (e.g., communication circuit 110 in FIG. 1). Data can be obtained from the device 210). For example, the external electronic device may include a server that provides information about search items. As an example, the processor may obtain accommodation information of an accommodation establishment from at least one accommodation information provider (eg, a server operated by an accommodation information provider) through the communication circuit. For example, the data may include information related to at least one accommodation. According to one embodiment, the processor may store the acquired data in a database (eg, database 220 in FIG. 2).

동작 320에서, 상기 프로세서는 LLM(예: LLM(121, 230))을 통해 상기 획득된 데이터에서 적어도 하나의 엔티티를 추출할 수 있다. 상기 엔티티는 예를 들어, 상기 획득된 데이터의 도메인 특성을 고려하여 검색 아이템의 속성을 구분할 수 있는 엔티티를 포함할 수 있다. 숙박 정보로 예를 들면, 상기 엔티티는 숙소 타입, 숙소 크기(또는 객실 크기), 흡연 가능 여부 또는 객실에서 보이는 뷰의 형태(예: 마운틴뷰, 오션뷰 등) 중 적어도 하나를 포함할 수 있다.In operation 320, the processor may extract at least one entity from the acquired data through LLM (eg, LLM (121, 230)). For example, the entity may include an entity capable of distinguishing properties of a search item by considering domain characteristics of the acquired data. For example, as accommodation information, the entity may include at least one of accommodation type, accommodation size (or room size), whether smoking is allowed, or the type of view seen from the room (e.g., mountain view, ocean view, etc.).

일 실시예에 따르면, 상기 프로세서는 상기 LLM을 통한 엔티티 추출의 정확도를 높이기 위해 상기 LLM을 학습시킬 수 있다. 일 예로, 상기 프로세서는 상기 데이터의 도메인 특성을 고려하여 검색 아이템의 속성을 구분할 수 있는 엔티티를 설정하고, 상기 LLM을 통해 임의의 데이터에서 상기 설정된 엔티티가 추출될 수 있도록 하는 프롬프트를 상기 LLM에 입력하여 상기 LLM을 학습시킬 수 있다. 상기 프롬프트는 예를 들어, 임의의 데이터에서 도메인 특성에 따른 검색 아이템의 속성을 구분할 수 있는 엔티티를 추출할 수 있도록 생성된 예시적인 문자열 학습 데이터를 포함할 수 있다.According to one embodiment, the processor may learn the LLM to increase the accuracy of entity extraction through the LLM. As an example, the processor sets an entity that can distinguish the properties of a search item by considering the domain characteristics of the data, and inputs a prompt to the LLM to enable the set entity to be extracted from arbitrary data through the LLM. Thus, the LLM can be learned. For example, the prompt may include example string learning data generated to extract entities that can distinguish properties of search items according to domain characteristics from arbitrary data.

동작 330에서, 상기 프로세서는 상기 추출된 엔티티에 대한 검증을 수행할 수 있다. 일 예로, 상기 프로세서는 사용자 입력에 기반하여, 상기 추출된 엔티티의 진위 여부를 식별함으로써 상기 추출된 엔티티에 대한 검증을 수행할 수 있다. 상기 엔티티의 진위 여부는 예를 들어, 엔티티가 올바르게 추출된 것을 나타내는 "true" 값과 엔티티가 잘못 추출된 것을 나타내는 "false" 값으로 표현될 수 있다. 이후, 상기 추출된 엔티티에 대한 검증 결과, 상기 엔티티가 올바르게 추출된 것으로 판단되면, 상기 프로세서는 동작 340에서, 상기 검증된 엔티티를 이용하여 NER 모델(예: 도 2의 NER 모델(241))을 학습 및 추론할 수 있다. 일 실시예에 따르면, 상기 프로세서는 동작 330의 수행을 생략할 수 있다. 이 경우, 상기 프로세서는 동작 340에서, 추출된 엔티티를 이용하여 상기 NER 모델을 학습 및 추론할 수 있다.At operation 330, the processor may perform verification on the extracted entity. As an example, the processor may perform verification of the extracted entity by identifying the authenticity of the extracted entity based on user input. The authenticity of the entity can be expressed, for example, as a “true” value indicating that the entity was extracted correctly and a “false” value indicating that the entity was extracted incorrectly. Thereafter, as a result of verification of the extracted entity, if it is determined that the entity has been extracted correctly, the processor creates a NER model (e.g., NER model 241 in FIG. 2) using the verified entity in operation 340. Can learn and reason. According to one embodiment, the processor may omit performing operation 330. In this case, the processor may learn and infer the NER model using the extracted entity in operation 340.

상기 NER 모델은 주어진 텍스트에서 명명된 개체(네임드 엔티티)를 인식하고 추출하는 작업을 수행할 수 있다. 여기서, 명명된 개체는 식별 가능한 엔티티로서, 예를 들어, 숙소 타입, 숙소 크기(또는 객실 크기), 흡연 가능 여부 또는 객실에서 보이는 뷰의 형태 중 적어도 하나를 포함할 수 있다. 상기 NER 모델을 통해 상기 프로세서는, 상기 데이터에서 엔티티를 식별하고, 상기 식별된 엔티티의 시작과 끝 위치를 표시하여 상기 데이터에서 상기 엔티티의 위치를 정확하게 파악할 수 있도록 하며, 상기 식별된 엔티티가 어떤 유형에 속하는지를 분류할 수 있다.The NER model can perform the task of recognizing and extracting named entities (named entities) from given text. Here, the named entity is an identifiable entity and may include, for example, at least one of the accommodation type, accommodation size (or room size), whether smoking is allowed, or the type of view seen from the room. The NER model allows the processor to identify entities in the data, mark the start and end positions of the identified entities to accurately locate the entities in the data, and determine what type the identified entities are. It can be classified as belonging to.

일 실시예에 따르면, 상기 프로세서는 상기 LLM을 통해 상기 획득된 데이터의 도메인 특성을 반영한 엔티티가 추가된 데이터를 상기 NER 모델에 파인 튜닝할 수 있다. 이를 위해, 상기 프로세서는 상기 데이터를 상기 NER 모델의 학습을 위한 BIO 포맷으로 변경할 수 있다. 상기 BIO 포맷은 엔티티 인식 작업에서 사용되는 데이터 포맷으로서, 데이터에서 명명된 엔티티의 시작 부분, 내부 부분 및 엔티티가 아닌 부분을 나타내는 레이블을 포함할 수 있다. 이후, 상기 프로세서는 상기 BIO 포맷으로 변환된 상기 데이터를 수치화할 수 있다. 예를 들어, 상기 프로세서는 엔티티 유형에 대한 레이블 인덱스를 정의하고, 이에 기반하여 BIO 레이블을 고유한 숫자로 매핑할 수 있다. 이후, 상기 프로세서는 상술한 라벨링 데이터를 사용하여 상기 NER 모델을 파인 튜닝할 수 있다. 이 과정에서, 상기 NER 모델은 주어진 데이터에서 엔티티를 식별하도록 학습될 수 있다. 예를 들어, 파인 튜닝된 NER 모델은 원시 데이터에서 엔티티를 추출하는 데 더 뛰어난 성능을 가질 수 있다. 이에 따라, 상기 프로세서는 상기 학습된 NER 모델을 통해 상기 획득된 데이터에 대해 엔티티를 추론할 수 있다.According to one embodiment, the processor may fine-tune data to which an entity reflecting domain characteristics of the data obtained through the LLM is added to the NER model. To this end, the processor can change the data into BIO format for learning the NER model. The BIO format is a data format used in entity recognition tasks and may include labels indicating the beginning, interior, and non-entity parts of a named entity in the data. Afterwards, the processor can digitize the data converted to the BIO format. For example, the processor may define a label index for an entity type and map the BIO label to a unique number based on this. Thereafter, the processor can fine tune the NER model using the above-described labeling data. In this process, the NER model can be trained to identify entities in given data. For example, a fine-tuned NER model may have better performance at extracting entities from raw data. Accordingly, the processor can infer an entity for the acquired data through the learned NER model.

동작 350에서, 상기 프로세서는 STS 모델 추론을 통해 검색 아이템을 식별할 수 있다. 예를 들어, 상기 프로세서는 상기 프로세서(130)는 학습한 NER 모델(241)의 출력을 STS 모델(242)의 입력으로 하여 추론을 통해 검색 아이템을 식별할 수 있다. 상기 STS 모델은 두 개의 문장 또는 텍스트 사이의 의미적 유사성을 측정하고 비교하는 작업을 수행할 수 있다. 예를 들어, 상기 STS 모델은 주어진 두 개의 텍스트 입력에 대해 유사성 점수를 출력하며, 상기 점수는 입력 텍스트가 얼마나 의미적으로 유사한지를 나타낼 수 있다. 상기 STS 모델을 통해 상기 프로세서는, 두 문장 또는 텍스트 사이의 의미적 유사성을 수량화할 수 있고, 입력된 두 텍스트의 유사성을 숫자로 표현하는 유사성 점수를 생성할 수 있다. 일 실시예에 따르면, 상기 프로세서는 상기 LLM을 통해 상기 획득된 데이터의 도메인 특성을 반영한 엔티티가 추가된 데이터를 상기 STS 모델의 입력으로 하여 추론할 수 있다.At operation 350, the processor may identify a search item through STS model inference. For example, the processor 130 may use the output of the learned NER model 241 as an input to the STS model 242 to identify a search item through inference. The STS model can perform the task of measuring and comparing semantic similarity between two sentences or texts. For example, the STS model outputs a similarity score for two given text inputs, and the score may indicate how semantically similar the input texts are. Through the STS model, the processor can quantify the semantic similarity between two sentences or texts and generate a similarity score that expresses the similarity between the two input texts in numbers. According to one embodiment, the processor may infer data to which an entity reflecting the domain characteristics of the data obtained through the LLM has been added as input to the STS model.

일 실시예에 따르면, 상기 프로세서는 상기 획득된 데이터에 대응하는 검색 아이템의 중복 여부를 판단함으로써 상기 검색 아이템을 식별할 수 있다. 예를 들어, 상기 프로세서는 상기 STS 모델을 통해, 상기 획득된 데이터에 대응하는 검색 아이템이 기존의 검색 아이템(예: 데이터베이스(220)에 저장된 검색 아이템)과 중복되는 아이템인지를 식별할 수 있다. 일 실시예에 따르면, 상기 프로세서(130)는 상기 검색 아이템이 중복되지 않는다고 판단되면, 상기 검색 아이템을 상기 데이터베이스에 저장할 수 있다.According to one embodiment, the processor may identify the search item by determining whether the search item corresponding to the acquired data is a duplicate. For example, the processor may identify whether the search item corresponding to the acquired data is an item that overlaps with an existing search item (eg, a search item stored in the database 220) through the STS model. According to one embodiment, if the processor 130 determines that the search item is not duplicated, the processor 130 may store the search item in the database.

도 4는 본 발명의 일 실시예에 따른 검색 서비스를 제공하는 방법을 설명하기 위한 플로우 차트이다.Figure 4 is a flow chart to explain a method of providing a search service according to an embodiment of the present invention.

도 4를 참조하면, 검색 서비스를 제공하는 장치(예: 도 1의 전자 장치(100))는 데이터 획득 단계(410)에서, 적어도 하나의 제공 서버로부터 데이터를 획득할 수 있다. 상기 제공 서버는 검색 아이템에 대한 정보를 제공하는 서버를 포함할 수 있다. 일 실시예에 따르면, 상기 제공 서버는 숙박 정보 제공사가 운영하는 서버를 포함할 수 있다. 이 경우, 상기 데이터는 적어도 하나의 숙소와 관련된 정보를 포함할 수 있다.Referring to FIG. 4, a device that provides a search service (eg, the electronic device 100 of FIG. 1) may acquire data from at least one provision server in the data acquisition step 410. The provision server may include a server that provides information about search items. According to one embodiment, the provision server may include a server operated by an accommodation information provider. In this case, the data may include information related to at least one accommodation.

상기 장치는 전처리 단계(420)에서, 정규 표현식을 이용하여 상기 획득된 데이터에서 불필요한 문자열을 제거할 수 있다. 이후, 상기 장치는 상기 획득된 데이터의 도메인 특성을 고려하여 상기 불필요한 문자열이 제거된 데이터에서 적어도 하나의 문자열을 분리할 수 있다.In the preprocessing step 420, the device may remove unnecessary strings from the obtained data using regular expressions. Thereafter, the device may separate at least one string from the data from which the unnecessary strings have been removed by considering the domain characteristics of the acquired data.

또한, 상기 장치는 LLM(예: LLM(121, 230))을 이용하여 엔티티를 추출할 수 있다. 예를 들어, 상기 장치는 상기 LLM을 통해 상기 획득된 데이터에서 적어도 하나의 엔티티를 추출할 수 있다. 상기 엔티티는 예를 들어, 상기 획득된 데이터의 도메인 특성을 고려하여 검색 아이템의 속성을 구분할 수 있는 엔티티를 포함할 수 있다. 숙박 정보로 예를 들면, 상기 엔티티는 숙소 타입, 숙소 크기(또는 객실 크기), 흡연 가능 여부 또는 객실에서 보이는 뷰의 형태(예: 마운틴뷰, 오션뷰 등) 중 적어도 하나를 포함할 수 있다.Additionally, the device can extract entities using LLM (eg, LLM (121, 230)). For example, the device may extract at least one entity from the acquired data through the LLM. For example, the entity may include an entity capable of distinguishing properties of a search item by considering domain characteristics of the acquired data. For example, as accommodation information, the entity may include at least one of accommodation type, accommodation size (or room size), whether smoking is allowed, or the type of view seen from the room (e.g., mountain view, ocean view, etc.).

이후, 상기 장치는 상기 데이터를 NER 모델(예: 도 2의 NER 모델(241))의 학습을 위한 BIO 포맷으로 변경할 수 있다. 상기 BIO 포맷은 엔티티 인식 작업에서 사용되는 데이터 포맷으로서, 데이터에서 명명된 엔티티의 시작 부분, 내부 부분 및 엔티티가 아닌 부분을 나타내는 레이블을 포함할 수 있다. 이후, 상기 장치는 상기 BIO 포맷으로 변환된 상기 데이터를 수치화할 수 있다. 예를 들어, 상기 장치는 엔티티 유형에 대한 레이블 인덱스를 정의하고, 이에 기반하여 BIO 레이블을 고유한 숫자로 매핑할 수 있다.Afterwards, the device can change the data into BIO format for learning a NER model (e.g., NER model 241 in FIG. 2). The BIO format is a data format used in entity recognition tasks and may include labels indicating the beginning, interior, and non-entity parts of a named entity in the data. Afterwards, the device can digitize the data converted to the BIO format. For example, the device may define a label index for an entity type and map the BIO label to a unique number based on this.

상기 장치는 NER 모델 학습 및 추론 단계(430)에서, 상기 LLM을 통해 상기 획득된 데이터의 도메인 특성을 반영한 엔티티가 추가된 데이터를 상기 NER 모델에 파인 튜닝할 수 있다. 예를 들어, 상기 장치는 상술한 라벨링 데이터를 사용하여 상기 NER 모델을 파인 튜닝할 수 있다. 이 과정에서, 상기 NER 모델은 주어진 데이터에서 엔티티를 식별하도록 학습될 수 있다. 예를 들어, 파인 튜닝된 NER 모델은 원시 데이터에서 엔티티를 추출하는 데 더 뛰어난 성능을 가질 수 있다. 이에 따라, 상기 장치는 상기 학습된 NER 모델을 통해 상기 획득된 데이터에 대해 엔티티를 추론할 수 있다. 예를 들어, 상기 장치는 상기 학습된 NER 모델을 통해 상기 획득된 데이터에서 엔티티를 추출할 수 있다.In the NER model learning and inference step 430, the device may fine-tune data to which entities reflecting domain characteristics of the data obtained through the LLM are added to the NER model. For example, the device can fine tune the NER model using the above-described labeling data. In this process, the NER model can be trained to identify entities in given data. For example, a fine-tuned NER model may have better performance at extracting entities from raw data. Accordingly, the device can infer an entity for the acquired data through the learned NER model. For example, the device may extract entities from the acquired data through the learned NER model.

일 실시예에 따르면, 상기 장치는 상기 NER 모델을 학습 및 추론하기 전 상기 추출된 엔티티에 대한 검증을 수행할 수 있다. 일 예로, 상기 장치는 사용자 입력에 기반하여, 상기 추출된 엔티티의 진위 여부를 식별함으로써 상기 추출된 엔티티에 대한 검증을 수행할 수 있다. 상기 엔티티의 진위 여부는 예를 들어, 엔티티가 올바르게 추출된 것을 나타내는 "true" 값과 엔티티가 잘못 추출된 것을 나타내는 "false" 값으로 표현될 수 있다. 이후, 상기 추출된 엔티티에 대한 검증 결과, 상기 엔티티가 올바르게 추출된 것으로 판단되면, 상기 장치는 상기 검증된 엔티티를 이용하여 상기 NER 모델을 학습 및 추론할 수 있다.According to one embodiment, the device may perform verification on the extracted entity before learning and inferring the NER model. As an example, the device may perform verification of the extracted entity by identifying the authenticity of the extracted entity based on user input. The authenticity of the entity can be expressed, for example, as a “true” value indicating that the entity was extracted correctly and a “false” value indicating that the entity was extracted incorrectly. Thereafter, as a result of verification of the extracted entity, if it is determined that the entity was extracted correctly, the device can learn and infer the NER model using the verified entity.

상기 장치는 STS 모델 추론 단계(440)에서, 검색 아이템의 중복 여부를 판단할 수 있다. 예를 들어, 상기 장치는 상기 획득된 데이터에 대응하는 검색 아이템의 중복 여부를 판단할 수 있다. 상기 장치는 상기 STS 모델을 통해, 상기 획득된 데이터에 대응하는 검색 아이템이 기존의 검색 아이템(예: 데이터베이스(220)에 저장된 검색 아이템)과 중복되는 아이템인지를 식별할 수 있다. 일 실시예에 따르면, 상기 장치는 상기 검색 아이템이 중복되지 않는다고 판단되면, 상기 검색 아이템을 상기 데이터베이스에 저장할 수 있다.In the STS model inference step 440, the device may determine whether search items are duplicates. For example, the device may determine whether search items corresponding to the acquired data are duplicates. Through the STS model, the device can identify whether the search item corresponding to the acquired data is an item that overlaps with an existing search item (eg, a search item stored in the database 220). According to one embodiment, if the device determines that the search item is not duplicated, the device may store the search item in the database.

본 문서에 개시된 다양한 실시예들에 따른 검색 서비스를 제공하는 장치(예: 도 1의 전자 장치(100))는 다양한 형태의 장치가 될 수 있다. 상기 장치는 예를 들어, 휴대용 통신 장치(예: 스마트폰, PDA 또는 태블릿), 컴퓨터 장치, 휴대용 멀티미디어 장치, 또는 웨어러블 장치를 포함할 수 있다. 본 문서의 실시예에 따른 장치는 전술한 기기들에 한정되지 않는다.A device that provides a search service according to various embodiments disclosed in this document (eg, the electronic device 100 of FIG. 1) may be of various types. The device may include, for example, a portable communication device (eg, a smartphone, PDA, or tablet), a computer device, a portable multimedia device, or a wearable device. Devices according to embodiments of this document are not limited to the above-described devices.

본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.The various embodiments of this document and the terms used herein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various changes, equivalents, or replacements of the embodiments. In connection with the description of the drawings, similar reference numbers may be used for similar or related components.

다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 상술한 설명에서의 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each of the above-described components may include a single or a plurality of entities, and some of the plurality of entities may be separately arranged in other components. According to various embodiments, one or more of the components or operations described above may be omitted, or one or more other components or operations may be added. Alternatively or additionally, multiple components may be integrated into one component. In this case, the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component of the plurality of components prior to the integration. . The operations in the above description may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

Claims (20)

검색 서비스를 제공하는 방법에 있어서,
적어도 하나의 외부 전자 장치로부터 데이터를 획득하는 동작;
LLM(Large Language Model)을 통해 상기 획득된 데이터에서 적어도 하나의 엔티티(entity)를 추출하는 동작;
상기 추출된 엔티티를 이용하여 NER(Named Entity Recognition) 모델을 학습 및 추론하는 동작;
상기 NER 모델의 추론 결과를 이용하여 STS(Semantic Textual Similarity) 모델 추론을 통해 검색 아이템을 식별하는 동작; 및
상기 획득된 데이터의 도메인 특성을 고려하여 상기 검색 아이템의 속성을 구분할 수 있는 엔터티를 추출하기 위한 프롬프트를 작성하여 LLM을 이용하여 엔터티를 추출하는 동작을 포함하는 방법.
In a method of providing a search service,
Obtaining data from at least one external electronic device;
Extracting at least one entity from the acquired data through a Large Language Model (LLM);
Learning and inferring a Named Entity Recognition (NER) model using the extracted entity;
Identifying a search item through STS (Semantic Textual Similarity) model inference using the inference result of the NER model; and
A method comprising extracting an entity using LLM by creating a prompt for extracting an entity capable of distinguishing properties of the search item in consideration of domain characteristics of the acquired data.
청구항 1에 있어서,
상기 데이터는 적어도 하나의 숙소와 관련된 정보를 포함하는 방법.
In claim 1,
A method wherein the data includes information related to at least one accommodation.
청구항 1에 있어서,
정규 표현식을 이용하여 상기 획득된 데이터에서 불필요한 문자열을 제거하는 동작; 및
상기 획득된 데이터의 도메인(domain) 특성을 고려하여 상기 불필요한 문자열이 제거된 데이터에서 적어도 하나의 문자열을 분리하는 동작을 더 포함하는 방법.
In claim 1,
removing unnecessary character strings from the obtained data using regular expressions; and
The method further includes an operation of separating at least one string from the data from which the unnecessary string has been removed in consideration of domain characteristics of the obtained data.
삭제delete 청구항 1에 있어서,
상기 추출된 엔터티에 대한 검증을 수행하는 동작을 더 포함하고,
상기 NER 모델을 학습 및 추론하는 동작은,
상기 LLM이 추출한 엔터티를 진양성(True Positive) 검수하여 상기 NER 모델을 학습 및 추론하는 동작을 포함하는 방법.
In claim 1,
Further comprising the operation of performing verification on the extracted entity,
The operation of learning and inferring the NER model is,
A method including the operation of learning and inferring the NER model by checking the entities extracted by the LLM for true positives.
청구항 5에 있어서,
상기 추출된 엔티티에 대한 검증을 수행하는 동작은,
사용자 입력에 기반하여, 상기 추출된 엔티티의 진위 여부를 식별하는 동작을 포함하는 방법.
In claim 5,
The operation of performing verification on the extracted entity is:
A method comprising identifying whether the extracted entity is authentic based on user input.
청구항 1에 있어서,
상기 NER 모델을 학습 및 추론하는 동작은,
상기 LLM을 통해 상기 획득된 데이터의 도메인 특성을 반영한 엔티티가 추가된 데이터를 상기 NER 모델에 파인 튜닝(fine tuning)하는 동작; 및
상기 학습된 NER 모델을 통해 상기 획득된 데이터에 대해 엔티티를 추론하는 동작을 포함하는 방법.
In claim 1,
The operation of learning and inferring the NER model is,
An operation of fine tuning data to which an entity reflecting domain characteristics of the data obtained through the LLM is added to the NER model; and
A method comprising inferring an entity for the acquired data through the learned NER model.
청구항 1에 있어서,
상기 STS 모델 추론을 통해 상기 검색 아이템을 식별하는 동작은,
상기 LLM을 통해 상기 획득된 데이터의 도메인 특성을 반영한 엔터티가 추가된 데이터를 학습한 상기 NER 모델의 출력을 상기 STS 모델의 입력으로 하여 추론하는 동작을 포함하는 방법.
In claim 1,
The operation of identifying the search item through the STS model inference is:
A method including an operation of inferring the output of the NER model, which has learned data to which an entity reflecting domain characteristics of the data obtained through the LLM, has been added, as an input to the STS model.
청구항 1에 있어서,
상기 STS 모델 추론을 통해 상기 검색 아이템을 식별하는 동작은,
상기 획득된 데이터에 대응하는 상기 검색 아이템의 중복 여부를 판단하는 동작을 포함하는 방법.
In claim 1,
The operation of identifying the search item through the STS model inference is:
A method comprising determining whether the search item corresponding to the acquired data is a duplicate.
청구항 9에 있어서,
상기 검색 아이템이 중복되지 않는다고 판단되면, 상기 검색 아이템을 데이터베이스에 저장하는 동작을 더 포함하는 방법.
In claim 9,
If it is determined that the search items are not duplicates, the method further includes storing the search items in a database.
검색 서비스를 제공하는 장치에 있어서,
LLM(Large Language Model)을 포함하는 메모리;
외부 전자 장치와 통신하기 위한 통신 회로; 및
상기 메모리 및 상기 통신 회로와 작동적으로 연결된 프로세서를 포함하고,
상기 프로세서는,
상기 통신 회로를 통해 적어도 하나의 외부 전자 장치로부터 데이터를 획득하고,
상기 LLM을 통해 상기 획득된 데이터에서 적어도 하나의 엔티티(entity)를 추출하고,
상기 추출된 엔티티를 이용하여 NER(Named Entity Recognition) 모델을 학습 및 추론하고,
상기 NER 모델의 추론 결과를 이용하여 STS(Semantic Textual Similarity) 모델 추론을 통해 검색 아이템을 식별하도록 설정되고,
상기 프로세서는,
상기 획득된 데이터의 도메인 특성을 고려하여 상기 검색 아이템의 속성을 구분할 수 있는 엔티티를 설정하고,
상기 검색 아이템의 속성을 구분할 수 있는 엔터티를 추출하기 위한 프롬프트를 작성하여 LLM을 이용하여 엔터티를 추출하도록 설정된 장치.
In a device that provides a search service,
Memory with Large Language Model (LLM);
Communication circuitry for communicating with external electronic devices; and
a processor operatively coupled to the memory and the communication circuit;
The processor,
Obtaining data from at least one external electronic device through the communication circuit,
Extracting at least one entity from the acquired data through the LLM,
Learn and infer a Named Entity Recognition (NER) model using the extracted entities,
It is set to identify search items through STS (Semantic Textual Similarity) model inference using the inference results of the NER model,
The processor,
Setting an entity that can distinguish the properties of the search item by considering the domain characteristics of the obtained data,
A device configured to extract entities using LLM by creating a prompt for extracting entities that can distinguish the properties of the search item.
청구항 11에 있어서,
상기 데이터는 적어도 하나의 숙소와 관련된 정보를 포함하는 장치.
In claim 11,
A device wherein the data includes information related to at least one accommodation.
청구항 11에 있어서,
상기 프로세서는,
정규 표현식을 이용하여 상기 획득된 데이터에서 불필요한 문자열을 제거하고,
상기 획득된 데이터의 도메인(domain) 특성을 고려하여 상기 불필요한 문자열이 제거된 데이터에서 적어도 하나의 문자열을 분리하도록 설정된 장치.
In claim 11,
The processor,
Remove unnecessary strings from the obtained data using regular expressions,
A device configured to separate at least one string from the data from which the unnecessary strings have been removed in consideration of domain characteristics of the acquired data.
삭제delete 청구항 11에 있어서,
상기 프로세서는,
상기 추출된 엔티티에 대한 검증을 수행하고,
상기 LLM이 추출한 엔터티를 진양성(True Positive) 만 검수한 엔터티를 이용하여 검증된 엔터티를 이용하여 상기 NER 모델을 학습 및 추론하도록 설정된 장치.
In claim 11,
The processor,
Perform verification on the extracted entity,
A device configured to learn and infer the NER model using entities extracted by the LLM and verified using only true positive entities.
청구항 15에 있어서,
상기 프로세서는,
사용자 입력에 기반하여, 상기 추출된 엔티티의 진위 여부를 식별함으로써 상기 추출된 엔티티에 대한 검증을 수행하도록 설정된 장치.
In claim 15,
The processor,
A device configured to perform verification of the extracted entity by identifying the authenticity of the extracted entity based on user input.
청구항 11에 있어서,
상기 프로세서는,
상기 LLM을 통해 상기 획득된 데이터의 도메인 특성을 반영한 엔티티가 추가된 데이터를 상기 NER 모델에 파인 튜닝(fine tuning)하고,
상기 학습된 NER 모델을 통해 상기 획득된 데이터에 대해 엔티티를 추론하도록 설정된 장치.
In claim 11,
The processor,
Fine tuning the data to which entities that reflect the domain characteristics of the data obtained through the LLM were added to the NER model,
A device configured to infer an entity for the acquired data through the learned NER model.
청구항 11에 있어서,
상기 프로세서는,
상기 LLM을 통해 상기 획득된 데이터의 도메인 특성을 반영한 엔티티가 추가된 데이터를 학습한 상기 NER 모델의 출력을 상기 STS 모델의 입력으로 하여 추론하도록 설정된 장치.
In claim 11,
The processor,
A device configured to infer by using the output of the NER model, which learned data to which an entity reflecting the domain characteristics of the data obtained through the LLM, was added, as an input to the STS model.
청구항 11에 있어서,
상기 프로세서는,
상기 획득된 데이터에 대응하는 상기 검색 아이템의 중복 여부를 판단함으로써 상기 검색 아이템을 식별하도록 설정된 장치.
In claim 11,
The processor,
A device configured to identify the search item by determining whether the search item corresponding to the acquired data is a duplicate.
청구항 19에 있어서,
상기 프로세서는,
상기 검색 아이템이 중복되지 않는다고 판단되면, 상기 검색 아이템을 데이터베이스에 저장하도록 설정된 장치.
In claim 19,
The processor,
A device configured to store the search item in a database when it is determined that the search item is not duplicated.
KR1020230141043A 2023-10-20 2023-10-20 Method and apparatus for providing search service using large language model and deep learning KR102674954B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230141043A KR102674954B1 (en) 2023-10-20 2023-10-20 Method and apparatus for providing search service using large language model and deep learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230141043A KR102674954B1 (en) 2023-10-20 2023-10-20 Method and apparatus for providing search service using large language model and deep learning

Publications (1)

Publication Number Publication Date
KR102674954B1 true KR102674954B1 (en) 2024-06-14

Family

ID=91482190

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230141043A KR102674954B1 (en) 2023-10-20 2023-10-20 Method and apparatus for providing search service using large language model and deep learning

Country Status (1)

Country Link
KR (1) KR102674954B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220188521A1 (en) * 2020-02-28 2022-06-16 Tencent Technology (Shenzhen) Company Limited Artificial intelligence-based named entity recognition method and apparatus, and electronic device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220188521A1 (en) * 2020-02-28 2022-06-16 Tencent Technology (Shenzhen) Company Limited Artificial intelligence-based named entity recognition method and apparatus, and electronic device

Similar Documents

Publication Publication Date Title
KR102071582B1 (en) Method and apparatus for classifying a class to which a sentence belongs by using deep neural network
US11281976B2 (en) Generative adversarial network based modeling of text for natural language processing
US11481416B2 (en) Question Answering using trained generative adversarial network based modeling of text
CN111291185B (en) Information extraction method, device, electronic equipment and storage medium
US11361225B2 (en) Neural network architecture for attention based efficient model adaptation
US20220129621A1 (en) Bert-based machine-learning tool for predicting emotional response to text
CN109344404B (en) Context-aware dual-attention natural language reasoning method
KR102040400B1 (en) System and method for providing user-customized questions using machine learning
CN109214006B (en) Natural language reasoning method for image enhanced hierarchical semantic representation
CN113656570A (en) Visual question answering method and device based on deep learning model, medium and equipment
KR102086604B1 (en) Deep learning based conversation-style sentence spacing method and system using context information
CN113705238B (en) Method and system for analyzing aspect level emotion based on BERT and aspect feature positioning model
Cabada et al. Mining of educational opinions with deep learning
CN111434118A (en) Apparatus and method for generating user interest information
Chandiok et al. CIT: Integrated cognitive computing and cognitive agent technologies based cognitive architecture for human-like functionality in artificial systems
KR20230117716A (en) User equipment, method, and recording medium for creating recommendation keyword
CN114841151A (en) Medical text entity relation joint extraction method based on decomposition-recombination strategy
CN114239599A (en) Method, system, equipment and medium for realizing machine reading understanding
CN106503066B (en) Processing search result method and apparatus based on artificial intelligence
CN117437916A (en) Navigation system and method for inspection robot
CN116303947B (en) Emotion recognition method and device for question-answering text and electronic equipment
KR102674954B1 (en) Method and apparatus for providing search service using large language model and deep learning
KR20210094324A (en) Aspect based sentiment analysis method using aspect map and electronic device
CN116662924A (en) Aspect-level multi-mode emotion analysis method based on dual-channel and attention mechanism
CN115759262A (en) Visual common sense reasoning method and system based on knowledge perception attention network