GSP1287

개요
제공된 검색 단계가 실제로 저장된 텍스트에 포함되어 있지 않더라도 애플리케이션이 PostgreSQL용 Cloud SQL 데이터베이스를 검색하고 관련 데이터를 빠르게 식별한다고 상상해 보세요. 이제 Vertex AI 텍스트 임베딩의 기능을 활용하여 PostgreSQL용 Cloud SQL 내에서 벡터 검색을 수행할 수 있습니다.
PostgreSQL용 Cloud SQL은 PostgreSQL을 위한 경제적인 완전 관리형 관계형 데이터베이스 서비스로, 엔터프라이즈용이며 개발자 친화적입니다. 또한 PostgreSQL용 Cloud SQL에서 인공지능(AI) 기능을 활용하면 생성형 AI 애플리케이션을 빌드하거나 특정 검색어와의 관련성에 따라 PostgreSQL용 Cloud SQL 데이터베이스에 데이터를 표시하는 등의 작업을 수행할 수 있습니다.
벡터 검색은 정확한 키워드 일치가 아닌 시맨틱 의미를 기반으로 유사한 항목을 빠르게 찾는 데 사용할 수 있는 방법으로 오디오, 이미지, 동영상, 텍스트 등 다양한 유형의 데이터에 적용할 수 있습니다. 특히 텍스트의 경우 벡터 검색을 사용하면 콘텐츠가 검색에 사용된 정확한 텍스트 또는 구문과 일치하지 않아도 유사한 텍스트 항목을 찾을 수 있습니다.
이 실습에서는 먼저 텍스트 임베딩(텍스트의 시맨틱 의미를 숫자로 표현한 벡터)을 생성 및 저장한 다음 해당 텍스트 임베딩을 사용해 빠른 유사성 검색을 수행하여 PostgreSQL용 Cloud SQL에서 벡터 검색 구성의 기본사항을 알아봅니다. 이 실무형 실습에서는 핵심 아이디어를 빠르게 파악하기 어렵고 키워드 일치를 사용할 때 부정확한 결과를 초래할 수 있는 길고 기술적인 초록을 검색하기 위해 PostgreSQL용 Cloud SQL에서 벡터 검색을 활용하는 방법을 집중적으로 살펴보기 위해 특허 데이터를 사용합니다.
학습할 내용
이 실습에서는 다음을 수행하는 방법에 대해 알아봅니다.
- 벡터 검색을 지원하도록 PostgreSQL용 Cloud SQL 데이터베이스 구성
- PostgreSQL용 Cloud SQL에서 테이블 생성 및 데이터 로드
- PostgreSQL용 Cloud SQL에서 텍스트 임베딩 생성 및 저장
- 텍스트 임베딩을 사용하여 PostgreSQL용 Cloud SQL에서 벡터 검색 수행
설정 및 요건
실습 시작 버튼을 클릭하기 전에
다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표시합니다.
실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.
이 실습을 완료하려면 다음을 준비해야 합니다.
- 표준 인터넷 브라우저 액세스 권한(Chrome 브라우저 권장)
참고: 이 실습을 실행하려면 시크릿 모드(권장) 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학습자 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.
- 실습을 완료하기에 충분한 시간(실습을 시작하고 나면 일시중지할 수 없음)
참고: 이 실습에는 학습자 계정만 사용하세요. 다른 Google Cloud 계정을 사용하는 경우 해당 계정에 비용이 청구될 수 있습니다.
실습을 시작하고 Google Cloud 콘솔에 로그인하는 방법
-
실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 대화상자가 열립니다.
왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 창이 있습니다.
- Google Cloud 콘솔 열기 버튼
- 남은 시간
- 이 실습에 사용해야 하는 임시 사용자 인증 정보
- 필요한 경우 실습 진행을 위한 기타 정보
-
Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다).
실습에서 리소스가 가동되면 다른 탭이 열리고 로그인 페이지가 표시됩니다.
팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.
참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다.
-
필요한 경우 아래의 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다.
{{{user_0.username | "Username"}}}
실습 세부정보 창에서도 사용자 이름을 확인할 수 있습니다.
-
다음을 클릭합니다.
-
아래의 비밀번호를 복사하여 시작하기 대화상자에 붙여넣습니다.
{{{user_0.password | "Password"}}}
실습 세부정보 창에서도 비밀번호를 확인할 수 있습니다.
-
다음을 클릭합니다.
중요: 실습에서 제공하는 사용자 인증 정보를 사용해야 합니다. Google Cloud 계정 사용자 인증 정보를 사용하지 마세요.
참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다.
-
이후에 표시되는 페이지를 클릭하여 넘깁니다.
- 이용약관에 동의합니다.
- 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않습니다.
- 무료 체험판을 신청하지 않습니다.
잠시 후 Google Cloud 콘솔이 이 탭에서 열립니다.
참고: Google Cloud 제품 및 서비스에 액세스하려면 탐색 메뉴를 클릭하거나 검색창에 제품 또는 서비스 이름을 입력합니다.
Cloud Shell 활성화
Cloud Shell은 다양한 개발 도구가 탑재된 가상 머신으로, 5GB의 영구 홈 디렉터리를 제공하며 Google Cloud에서 실행됩니다. Cloud Shell을 사용하면 명령줄을 통해 Google Cloud 리소스에 액세스할 수 있습니다.
-
Google Cloud 콘솔 상단에서 Cloud Shell 활성화
를 클릭합니다.
-
다음 창을 클릭합니다.
- Cloud Shell 정보 창을 통해 계속 진행합니다.
- 사용자 인증 정보를 사용하여 Google Cloud API를 호출할 수 있도록 Cloud Shell을 승인합니다.
연결되면 사용자 인증이 이미 처리된 것이며 프로젝트가 학습자의 PROJECT_ID, (으)로 설정됩니다. 출력에 이 세션의 PROJECT_ID를 선언하는 줄이 포함됩니다.
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud는 Google Cloud의 명령줄 도구입니다. Cloud Shell에 사전 설치되어 있으며 명령줄 자동 완성을 지원합니다.
- (선택사항) 다음 명령어를 사용하여 활성 계정 이름 목록을 표시할 수 있습니다.
gcloud auth list
-
승인을 클릭합니다.
출력:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (선택사항) 다음 명령어를 사용하여 프로젝트 ID 목록을 표시할 수 있습니다.
gcloud config list project
출력:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
참고: gcloud 전체 문서는 Google Cloud에서 gcloud CLI 개요 가이드를 참고하세요.
작업 1. 벡터 검색을 지원하도록 PostgreSQL용 Cloud SQL 데이터베이스 구성
이 실습 환경에는 patent-instance라는 PostgreSQL용 Cloud SQL 인스턴스와 patent-db라는 데이터베이스가 프로비저닝되어 있습니다.
이 작업에서는 먼저 Identity and Access Management(IAM)를 사용하여 Vertex AI 리소스에 액세스하는 데 사용되는 Cloud SQL 서비스 계정에 적절한 Vertex AI 역할을 부여합니다. 그런 다음 patent-db라는 기본 PostgreSQL용 Cloud SQL 데이터베이스에서 키 확장을 사용 설정하고 벡터 검색에 대한 텍스트 임베딩의 생성, 저장, 쿼리 지원에 필요한 권한을 부여합니다.
Cloud SQL 서비스 계정에 Vertex AI 사용자 역할 부여
- Cloud Shell에서 다음 명령어를 실행하여 Cloud SQL 서비스 계정을 식별합니다.
gcloud sql instances describe patent-instance \
--format="value(serviceAccountEmailAddress)"
다음 단계에서 사용할 수 있도록 이 서비스 계정을 복사합니다.
다음과 유사한 서비스 계정이 출력됩니다.
p567201276916-f6skvu@gcp-sa-cloud-sql.iam.gserviceaccount.com
-
Google Cloud 콘솔의 탐색 메뉴(
)에서 IAM 및 관리자 > IAM을 선택합니다.
-
액세스 권한 부여를 클릭합니다.
-
새 주 구성원에 1단계의 Cloud SQL 서비스 계정 ID를 입력합니다(예: p567201276916-f6skvu@gcp-sa-cloud-sql.iam.gserviceaccount.com).
-
역할 선택에서 Vertex AI > Vertex AI 사용자를 선택합니다.
-
저장을 클릭합니다.
벡터 검색을 지원하도록 PostgreSQL용 Cloud SQL 데이터베이스 구성
다음으로, Cloud SQL Studio를 사용하여 patent-db라는 PostgreSQL용 Cloud SQL 데이터베이스에 연결하고 vector 및 google_ml_integration 확장 프로그램을 사용 설정하여 벡터를 지원하고 Vertex AI 엔드포인트에 대한 액세스를 허용하여 Vertex AI와 데이터베이스 통합을 완료합니다.
-
Google Cloud 콘솔에서 탐색 메뉴(
) > SQL을 클릭합니다.
-
patent-instance라는 인스턴스 ID를 클릭합니다.
-
기본 인스턴스 메뉴에서 Cloud SQL Studio를 클릭합니다.
-
다음 세부정보를 입력하여 로그인한 후 인증을 클릭합니다.
| 속성 |
값 |
| 데이터베이스 |
patent-db 선택 |
| 인증 방법 |
기본 제공 데이터베이스 인증 선택 |
| 사용자 |
postgres 선택 |
| 비밀번호 |
supersecret! |
-
Cloud SQL Studio 페이지에서 새 SQL 편집기 탭을 클릭하여 새 쿼리 창을 엽니다.
-
google_ml_integration 확장 프로그램을 사용 설정하려면 다음 쿼리를 복사하여 쿼리 창에 붙여넣고 실행을 클릭합니다.
CREATE EXTENSION google_ml_integration;
쿼리가 성공적으로 실행되면 문 실행됨이라는 메시지가 표시됩니다.
-
쿼리 편집기 창에서 실행과 같은 메뉴 바에 있는 지우기를 클릭하여 이전 쿼리를 삭제합니다.
-
vector 확장 프로그램을 사용 설정하려면 다음 쿼리를 복사하여 쿼리 창에 붙여넣고 실행을 클릭합니다.
CREATE EXTENSION vector;
쿼리가 성공적으로 실행되면 문 실행됨이라는 메시지가 표시됩니다.
-
쿼리 편집기 창에서 실행과 같은 메뉴 바에 있는 지우기를 클릭하여 이전 쿼리를 삭제합니다.
-
postgres라는 데이터베이스 사용자에게 임베딩 함수를 실행할 권한을 부여하려면 다음 쿼리를 복사하여 붙여넣습니다.
GRANT EXECUTE ON FUNCTION embedding TO postgres;
쿼리가 성공적으로 실행되면 문 실행됨이라는 메시지가 표시됩니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
벡터 검색을 지원하도록 PostgreSQL용 Cloud SQL 데이터베이스 구성
작업 2. 새 테이블 만들기 및 특허 데이터 로드
Google 특허 검색 공개 데이터는 특허 간행물의 대규모 데이터 세트로, 각 특허의 전체 초록을 제공하며 해당 초록에 길고 복잡한 텍스트가 포함되는 경우가 많아서 벡터 검색에 적합합니다.
이 작업에서는 특허 소스 데이터의 다양한 열과 초록 텍스트의 벡터 임베딩에 대한 추가 열(다음 작업에서 생성됨)이 포함된 새 테이블을 만듭니다. 마지막으로, 전체 특허 데이터의 샘플을 PostgreSQL용 Cloud SQL의 테이블에 로드합니다.
-
쿼리 편집기 창에서 실행과 같은 메뉴 바에 있는 지우기를 클릭하여 이전 쿼리를 삭제합니다.
-
특허 데이터에 대한 새 테이블을 만들려면 다음 쿼리를 복사하여 쿼리 창에 붙여넣고 실행을 클릭합니다.
CREATE TABLE patents_data (id VARCHAR(25), type VARCHAR(25), number VARCHAR(20), country VARCHAR(2), date VARCHAR(20), abstract VARCHAR(300000), title VARCHAR(100000), kind VARCHAR(5), num_claims BIGINT, filename VARCHAR(100), withdrawn BIGINT, abstract_embeddings vector(768));
abstract_embeddings라는 테이블의 마지막 열은 vector 유형으로, 다음 작업에서 만드는 벡터 값의 스토리지를 지원합니다.
쿼리가 성공적으로 실행되면 문 실행됨이라는 메시지가 표시됩니다.
-
Cloud SQL Studio 쿼리 편집기에서 실행과 같은 메뉴 바에 있는 지우기를 클릭하여 이전 쿼리를 삭제합니다.
-
데이터를 테이블에 로드하려면 다음 쿼리를 복사하여 쿼리 창에 붙여넣고 실행을 클릭합니다.
이는 전체 특허 데이터 세트의 샘플이지만 테이블에 로드된 50개 특허 각각에 대한 모든 정보가 포함되어 있습니다.
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10326103','utility','10326103','US','6/18/2019','A display device includes a first substrate having a display area and a non-display area around the display area, a seal pattern in the non-display area and offset from the display area, and one or more buffer patterns between the seal pattern and the display area and having a viscosity of 5000 cps to 50000 cps.','Display device having buffer patterns','B2',15,'ipg190618.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10326507','utility','10326507','US','6/18/2019','A network device receives, from a network management system (NMS), a first traffic distribution associated with the FD-MIMO antenna site, and receives a first service reliability requirement associated with the FD-MIMO antenna site. The network device determines, based on physical constraints, a maximum number of a plurality of antenna base blocks that can be placed at a full-dimension multiple input multiple output (FD-MIMO) antenna site, wherein each of the plurality of antenna base blocks includes a plurality of antennas. The network device further determines a first number of antennas to switch into the FD-MIMO antenna site based on the determined maximum number of the plurality of antenna base blocks, the first traffic distribution, and the first service reliability requirement; and causes the first number of antennas to be switched into the FD-MIMO antenna site.','System and method for a dynamically active FD-MIMO antenna array adjustment system','B2',20,'ipg190618.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10328303','utility','10328303','US','6/25/2019','An exercise treadmill is disclosed. The treadmill can be constructed with no obstructing front rails, with one or more side rails, and/or with a structural flat or ramped surface at the front allowing the user to exercise with unconstrained motion. The treadmill can further include one or more accommodations to help the user stay safe, remain longitudinally centered, and/or adjust speed with controls built into the treadmill, or automatically based on body position relative to sensors built into the side rails. The treadmill belt may be motor driven, or be user driven and dynamically moderated by resistance. The treadmill configuration can be utilized to provide a virtualized exercise experience for the user.','Exercise treadmill','B2',27,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10328431','utility','10328431','US','6/25/2019','A storage system for storing samples, such as frozen biological samples in RFID-tagged vials. The storage system has (i) a storage device having a device antenna and (ii) a plurality of storage components adapted to be stored within the storage device, each storage component having a component circuit. Each storage component is configured to store one or more samples. The storage device is configured to (i) transmit electrical power and downlink data signals wirelessly to each storage component via the device antenna and the corresponding component circuit and to (ii) receive uplink data signals from each storage component wirelessly via the corresponding component circuit and the device antenna such that a control system located outside of the dewar can identify any specified storage component stored within the storage device.','Storage devices for RFID-tracked biological and other samples','B2',19,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10328505','utility','10328505','US','6/25/2019','A circular saw includes a worktable, a sliding unit including a mounting base mounted on the worktable and providing an accommodation slot and two sliding shafts axially slidably inserted through the mounting base at two opposite sides of the accommodation slot in a parallel manner, and a cutting unit including a saw arm pivotally connected between the two sliding shafts and providing an accommodation portion and a saw blade pivotally mounted at the saw arm. Thus, when the saw arm is in an upper limit position, the accommodation of the saw arm is partially disposed outside the accommodation slot. When the saw arm is in a lower limit position, the accommodation portion is received in the accommodation slot. Subject to the design described above, the circular saw achieves the effects of reduced overall dimension, low vibration and high cutting accuracy.','Circular saw','B2',3,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10328822','utility','10328822','US','6/25/2019','An improved system to raise and lower a seat by a simplified substantially parallelogram or non-parallelogram motion. By replacing two of the links of a parallelogram seat lift system with an arc, or a straight link as a mechanically defined path for a pivot to follow, space and material can be saved to fit an adjustable seat on an ATV or any type of support system. The system can be useful on many varieties of vehicles and other adjustable supports.','Adjustable seat and support system','B2',9,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10329100','utility','10329100','US','6/25/2019','A tie plate straightener includes a plurality of rollers having varying cross-section and differing elevations. The tie plate straightener includes directional wheels between the rollers and disposed in alignment with the lower elevations of the rollers. The straightener receives tie plates at an input and rotates the tie plates when the tie plate engages the directional wheels. The tie plate is thereby oriented and/or positioned so that the tie plate is supported above the directional wheels.','Plate straightener','B1',19,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10329436','utility','10329436','US','6/25/2019','A self-healing polymer is described herein, including a first carbon nanotube filled with at least a first healing agent, wherein the first carbon nanotube has first and second ends, wherein a first end cap is closed on the first end of the first carbon nanotube and a second end cap is closed on the second end of the first carbon nanotube, and a second carbon nanotube filled with at least a second healing agent, wherein the second carbon nanotube has first and second ends, wherein a first end cap is closed on the first end of the second carbon nanotube and a second end cap is closed on the second end of the second carbon nanotube.','Self-healing polymer compositions','B2',18,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10330945','utility','10330945','US','6/25/2019','There is provided a medical image display apparatus including: a display control section that performs control such that a left-eye image and a right-eye image that form a medical image are displayed in a time division manner on a predetermined display section; and a communication section that transmits a synchronization signal in accordance with display timings of the left-eye image and the right-eye image on the display section to shutter glasses that include a left-eye shutter and a right-eye shutter, and receives a response to the synchronization signal from the shutter glasses. The display control section performs the control such that only any one of the left-eye image and the right-eye image is displayed on the display section in accordance with a reception status of the response.','Medical image display apparatus, medical information processing system, and medical image display control method','B2',10,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10331073','utility','10331073','US','6/25/2019','In an example implementation, a method of cleaning a silicon photoconductor includes contacting the silicon photoconductor with a base-peroxide solution, rinsing the silicon photoconductor with a liquid, and heating the silicon photoconductor to evaporate the liquid.','Cleaning a silicon photoconductor','B2',18,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10331564','utility','10331564','US','6/25/2019','Technologies for secure I/O with MIPI camera devices include a computing device having a camera controller coupled to a camera and a channel identifier filter. The channel identifier filter detects DMA transactions issued by the camera controller and related to the camera. The channel identifier filter determines whether a DMA transaction includes a secure channel identifier or a non-secure channel identifier. If the DMA transaction includes the non-secure channel identifier, the channel identifier filter allows the DMA transaction. If the DMA transaction includes the secure channel identifier, the channel identifier filter determines whether the DMA transaction is targeted to a memory address in a protected memory range associated with the secure channel identifier. If so, the channel identifier filter allows the DMA transaction. If not, the channel identifier filter blocks the DMA transaction. Other embodiments are described and claimed.','Technologies for secure I/O with MIPI camera device','B2',25,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10331881','utility','10331881','US','6/25/2019','Techniques are described herein for loading a user-mode component of a security agent based on an asynchronous procedure call (APC) built by a kernel-mode component of the security agent. The APC is executed while a process loads, causing the process to load the user-mode component. The user-mode component then identifies slack space of the process, stores instructions in the slack space, and hooks function(s) of the process, including modifying instruction(s) of the function(s) to call the instructions stored in the slack space. When those modified instruction(s) call the stored instructions, the stored instructions invoke the user-mode component, which receives data from the hooked function(s). Also, the security agent may bypass a control-flow protection mechanism of the operating system by setting a pointer of the control-flow protection mechanism to point to an alternate verification function.','User-mode component injection techniques','B2',20,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10332201','utility','10332201','US','6/25/2019','A computer-assisted method of presenting a plurality of financial accounts as a unitary financial account. The method includes displaying, on a graphical display, a graphical representation of a first financial account and displaying, on the graphical display, a graphical representation of a second financial account, wherein the graphical representation of the first financial account and the graphical representation of the second financial account are displayed as a unitary graphical representation that conveys to a user that the first financial account and the second financial account are a partitioned unitary financial account. The method also includes enabling the user to transfer monetary funds between the first financial account and the second financial account by manipulation of the unitary graphical representation.','Bundled financial accounts','B1',12,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10333086','utility','10333086','US','6/25/2019','A flexible display panel fabrication method and a flexible display panel where the method first subjects a photoresist layer to patterning to form a plurality of mutually spaced photoresist zones, a through hole being formed between every two adjacent ones of the photoresist zones; and then, subjecting the flexible backing plate to cavity formation with the photoresist zones as a mask so as to form a plurality of mutually parallel backing cavities respectively at locations corresponding to the through holes; and then, depositing a metal film and subsequently removing the photoresist zones and portions of the metal layer located thereon to form a plurality of metal patterns embedded in the plurality of mutually parallel backing cavities, each of the metal patterns including a scan line and a plurality of gate electrodes; and then, forming a plurality of TFTs arranged in an array and OLED light emissive elements.','Flexible display panel fabrication method and flexible display panel','B2',13,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10333126','utility','10333126','US','6/25/2019','The present invention relates to a composite separation membrane for a lithium secondary battery having excellent lifetime and safety improvement effects, and a preparation method therefor and, more specifically, to a composite separation membrane for a lithium secondary battery, including: a porous base layer; a heat resistant layer formed on one surface or both surfaces of the porous base layer; and a fusion layer formed on the outermost layer. Inorganic particles in the heat resistant layer are connected and fixed by a binder polymer, and the fusion layer is prepared by comprising amorphous polymer particles having a glass transition temperature of 30 to 90° C. and a difference between a fusion temperature and the glass transition temperature of 60° C. or lower.','Fusion type composite separation membrane for lithium secondary battery, and preparation method therefor','B2',11,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10333949','utility','10333949','US','6/25/2019','The present disclosure relates to systems and methods for blocking an infection vector. In some embodiments, a method may include detecting, at a first device, a synchronization event with a second device, the first device and the second device operating with a proprietary mobile operating system. In some examples, the method may include recognizing, by the first device, that the first device is attempting to send a data package to the second device, and identifying the data package as malware. The method may further include blocking the data package from being received at the second device based at least in part on the identifying.','Proactive protection of mobile operating system malware via blocking of infection vector','B1',16,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10334023','utility','10334023','US','6/25/2019','The present invention discloses a content distribution method, system and a server. In one embodiment, the method includes: receiving a content distribution request form a client; obtaining all receiving ends designated by the content distribution request, and marking at least a portion of the receiving ends with a first status code; judging whether all the at least a portion of the receiving ends complete the distribution task, if not, controlling an internal distribution process until all the at least a portion of the receiving ends complete the distribution task.','Content distribution method, system and server','B2',18,'ipg190625.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10334962','utility','10334962','US','7/2/2019','A portable, stable and rigid baby changing station which can be easily collapsed for storage or expanded for use and which can be safely and securely worn by a user, to form a firm bed for changing a baby when no other clean or useable surfaces are available.','Wearable portable baby changing table','B2',15,'ipg190702.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10335619','utility','10335619','US','7/2/2019','A multifunction NFPA escape and ladder belt having multiple functions for firefighter and rescue worker work. The belt includes a front buckle and right and left side buckles, straps coupling the left and right side buckles to the front buckle and to one another. At least one of said straps includes a stitched loop portion formed with a stitching pattern configured to fail, and for the loop portion to unfold, when the side straps are under a sufficient tension load exceeding the breaking strength of the stitching pattern; that failure will occur before a structural failure in any other element or component of the belt.','Firefighter multifunction ladder and escape belt','B2',14,'ipg190702.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10336444','utility','10336444','US','7/2/2019','A rotor includes a blade retention cuff configured to receive a rotor blade; a yoke coupled to the blade retention cuff; and a rigid propeller shaped hub configured to enclose at least a portion of the blade retention cuff and at least a portion of the yoke.','Composite stiffened rigid propeller shaped main rotor hub','B2',18,'ipg190702.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10337814','utility','10337814','US','7/2/2019','A dearmer positioning system has two assemblies, each of which circumscribes a dearmers barrel. Each of the two assemblies includes two half rings and a one-piece outer ring. The two half rings are joined to one another to define a full ring having a first central opening defining a first diameter. The full ring has a periphery defining a second diameter. The one-piece outer ring has a second central opening defining a third diameter, and a periphery defining a fourth diameter. The third diameter is greater than the second diameter such that the full ring slidingly fits in the central opening of the outer ring. Threaded fasteners engage the outer ring and extend radially through the outer ring and into its central opening to engage the periphery of the full ring.','Dearmer positioning system','B1',18,'ipg190702.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10338067','utility','10338067','US','7/2/2019','Method and compositions using transition metal salts and/or ammonium chloride to liberate toxins and other molecules from cyanobacteria, useful for assaying for total cyanobacterial toxins in lakes, reservoirs and other waters.','Rapid analysis for cyanobacterial toxins','B1',11,'ipg190702.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10338681','utility','10338681','US','7/2/2019','One illustrative system disclosed herein includes a processor configured to determine a haptic effect, wherein the haptic effect includes a static ESF effect or a confirmation ESF effect; and transmit a haptic signal associated with the haptic effect. The illustrative system also includes an ESF controller in communication with the processor, the ESF controller configured to receive the haptic signal, determine an ESF signal based at least in part on the haptic signal, and transmit the ESF signal. The illustrative system further includes an ESF device in communication with the ESF controller, the ESF device including an ESF cell and configured to receive the ESF signal and output the haptic effect.','Systems and methods for multi-output electrostatic haptic effects','B2',20,'ipg190702.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10338956','utility','10338956','US','7/2/2019','An application profiling system, initiating profiling a software application; including: apparatus to receive user input information of a software application profiling target and execution requirements, to store profiler specifications; to determine which profiler satisfies the execution requirements, based on the specifications, and to generate needed profiling tasks, each task specifying an application profiler; to select hardware resources the tasks; and to initiate execution of the tasks.','Application profiling job management system, program, and method','B2',15,'ipg190702.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10339572','utility','10339572','US','7/2/2019','A seemingly infinite and continuous stream of online content can be tracked by a movement tracker that can track an amount of movement of a stream of content. For example, such a movement tracker can track the amount of movement per session of a client-side application, such as per session of a web browser. In an example, the tracking of the movement can occur by tracking a measurable parameter of the stream that indicates the amount of movement, such as scroll distance. The movement tracker may also be configured to determine user interaction data according to the tracked amount of movement.','Tracking user interaction with a stream of content','B2',20,'ipg190702.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10339617','utility','10339617','US','7/2/2019','An order management system that employs profile locking is provided for managing clinical orders in patient profiles. The system allows users to initiate lockable order actions (e.g., order actions requiring a profile lock for conflict checking) in a profile locked by another user. When a user attempts to initiate a lockable order action, the system provides a notification to the user indicating that the patient profile is locked by another user. The user may elect to continue initiating the lockable order action. When the profile becomes available, the system provides a notification to the user, who may then obtain the profile lock and process the lockable order action, including having the system perform conflict checking. The system may also provide for the initiation of an instant messaging session between the user attempting to enter a lockable order action in a locked profile and another user who has the profile lock.','Order profile safeguarding mechanism','B2',20,'ipg190702.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10340545','utility','10340545','US','7/2/2019','A method and apparatus is provided for harvesting electricity from a biofilm retained in a zero chamber, no interphase container, the biofilm having a portion supporting aerobic microbial activity and a second portion supporting anaerobic microbial activity, wherein the first and the second portion are in direct physical contact. A power harvester is electrically connected, directly or indirectly, to the second portion of the biofilm.','Method and apparatus for converting chemical energy stored in wastewater into electrical energy','B2',29,'ipg190702.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10341086','utility','10341086','US','7/2/2019','A method is performed by a server for searching for information contained in encrypted data without revealing the information to the server. The server receives from a client: an encrypted matrix containing the information to be searched for in files and linking the information to the files; for each of the files, a merged secret key; and an encrypted vector having a length corresponding to a number of the information. The encrypted data is evaluated by performing a multiplication of the matrix with entries in the vector using a multikey homomorphic encryption scheme. For each of the files, a value of the multiplication of the matrix is decrypted using the corresponding merged secret key so as to determine which of the files contains the information. The files containing the information are sent to the client.','Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data','B2',12,'ipg190702.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10341990','utility','10341990','US','7/2/2019','An electronic apparatus and a controlling method thereof are provided. The electronic apparatus includes: a first communication module configured to communicate in a first communication method, and a second communication module configured to communicate in a second communication method. The first communication module is further configured to change a transmission output level of the first communication module from a first transmission output level to a second transmission output level in response to the second communication module receiving data, and change the transmission output level from the second transmission output level to the first transmission output level in response to the second communication module completing the reception of the data.','Electronic apparatus and controlling method thereof','B2',17,'ipg190702.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10342895','utility','10342895','US','7/9/2019','A pulverulent semisynthetic material, derived from a natural marine biomaterial, namely the aragonitic inner layer of the shell of bivalve molluscs selected from the group including Pinctadines, notably Pinctada maxima, margaritifera, and Tridacnes, notably Tridacnagigas, maxima, derasa, tevaroa, squamosa, crocea, Hippopushippopus, Hippopusporcelanus, in pulverulent form, with addition of insoluble and soluble biopolymers and calcium carbonate transformed by carbonation; it also relates to the method of preparation thereof and to the uses thereof.','Pulverulent semisynthetic material obtained by modifying the composition of a natural marine biomaterial, method of manufacture thereof, and applications thereof','B2',7,'ipg190709.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10343251','utility','10343251','US','7/9/2019','In a cam grinding method, a common surface of a first cam and a second cam is acquired in a common surface setting step. In a first common surface grinding step performed after a first cam grinding step, traverse movement of a grinding wheel is performed such that the grinding wheel is aligned with an area from the first cam to the second cam while the first cam and the second cam are rotated, and the common surface is ground. In a second common surface grinding step performed after a second cam grinding step, traverse movement of the grinding wheel is performed such that the grinding wheel is aligned with an area from the second cam to the first cam while the first cam and the second cam are rotated, and the common surface is ground.','Cam grinding machine and cam grinding method','B2',6,'ipg190709.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10343997','utility','10343997','US','7/9/2019','An ursolic acid derivative can have the following structural formula: The ursolic acid derivative exhibits potent selective calcium channel blocker activities and may be used to treat a disease or condition for which calcium channel regulation is useful.','Ursolic acid derivatives','B1',11,'ipg190709.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10344433','utility','10344433','US','7/9/2019','A ground stabilisation system is used for stabilising a subgrade region which includes a peat layer under a railway having rails supported across rail ties on a ballast layer over the subgrade region. The system uses a plurality of drain members submerged in an upright orientation within the peat layer of the subgrade region in which each drain member has a hollow interior and a plurality of openings therein which allow communication of fluid from the peat layer surrounding the drain member into the hollow interior of the drain member so as to be arranged to reduce fluid pressure in the peat layer when the peat layer undergoes dynamic loading from a passing train. Each drain member is a semi-rigid pipe having an axial stiffness greater than a dynamic stiffness of the peat layer to reduce loading on the peat layer under dynamic loading from a passing train.','Subgrade peat stabilisation system for railway','B2',16,'ipg190709.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10344992','utility','10344992','US','7/9/2019','Embodiments of the invention provide a lighting and ventilating system including a main housing. The main housing can include an inlet through which air can be received within the main housing and an outlet through which the air can exit the main housing. A fan wheel can be supported in the main housing and it can be operable to generate a flow of air. A grille can be coupled to the main housing and the grille can comprise at least one aperture. The system can include a plate coupled to the grille and the plate can include a recess. Also, a set of illumination devices can be at least partially disposed within the recess.','Lighting and ventilating system and method','B2',34,'ipg190709.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10345589','utility','10345589','US','7/9/2019','An apparatus includes a holographic film having one or more reflective holograms recorded therein. One or more light sources positioned to direct light toward a corresponding one of the one or more holograms, and a dynamic mask positioned between the one or more light sources and the holographic film to spatially modulate light traveling between the one or more light sources and the one or more reflective holograms but not spatially modulate ambient light traveling through the hologram.','Compact near-eye hologram display','B1',20,'ipg190709.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10346746','utility','10346746','US','7/9/2019','A method and apparatus for generating a training model based on feedback are provided. The method for generating a training model based on feedback, includes calculating an eigenvector of a sample among a plurality of samples; obtaining scores granted by a user for one or more of the plurality of samples in a round, obtaining scores granted by the user for a first number of samples; obtaining scores granted by the user for a second number of samples in response to detecting, based on the eigenvector, an inconsistency between the scores granted by the user for the first number of samples; and generating a training model based on the scores granted by the user for the first and second numbers of samples. A corresponding apparatus is also provided.','Generating a training model based on feedback','B2',8,'ipg190709.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10347147','utility','10347147','US','7/9/2019','A system, a method, and a computer program product for managing answer feasibility in a Question and Answering (QA) system. A set of candidate situations is established. The set of candidate situations corresponds to a first set of answers. A QA system establishes the set of candidate situations by analyzing a corpus. The first set of answers will answer a question. The QA system identifies a subset of the set of candidate situations. The subset of candidate situations corresponds to a portion of contextual data. The portion of contextual data is from a set of contextual data. The set of contextual data relates to the question. The question-answering system determines a set of answer feasibility factors. The set of answer feasibility factors is determined using the subset of candidate situations. The set of answer feasibility factors indicates the feasibility of the answers in the first set of answers.','Managing answer feasibility','B2',14,'ipg190709.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10347243','utility','10347243','US','7/9/2019','Disclosed herein is a method for analyzing an utterance meaning. The method includes collecting a voice signal of an utterer; converting the collected voice signal into information in a text form, extracting a keyword of the text information from the text information, and deriving at least one utterance topic on the basis of the extracted keywords of the text information.','Apparatus and method for analyzing utterance meaning','B2',26,'ipg190709.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10347623','utility','10347623','US','7/9/2019','A switch includes an input terminal and an output terminal. The switch also includes a first stack having transistors coupled in series, and a second stack having transistors coupled in series. The first stack and the second stack are connected in parallel with one another.','Switch having first and second switching elements connected in parallel with one another','B2',16,'ipg190709.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10347660','utility','10347660','US','7/9/2019','The present disclosure discloses an array substrate, the array substrate comprises a substrate as well as a thin film transistor and a pixel electrode formed on the substrate, wherein the top of the thin film transistor is formed a floating gate electrode, at least portion of the floating gate electrode and the pixel electrode are made of the same material. The present disclosure also discloses a manufacturing method of an array substrate. Through this way, the present disclosure simultaneously forms a floating gate electrode in the manufacturing process of the pixel electrode, the pixel electrode and the floating gate electrode is formed by a mask, there is no need to add a mask, thus achieving the manufacture of the dual gate thin film transistor and the array substrate, briefing the process, reducing the production costs.','Array substrate and manufacturing method thereof','B2',11,'ipg190709.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10348905','utility','10348905','US','7/9/2019','A computer-based system and method for responding to customer calls. The method includes automatically determining whether at least one incoming call meets existing customer criteria and further automatically determining a market segment of the at least one incoming call. The market segment may indicate whether a specific customer prefers: (i) no voice or face-to-face interaction with a representative; (ii) a face-to-face interaction with a representative; and/or (iii) a voice only interaction with a representative. The method further includes automatically routing the at least one incoming call based upon the determined market segment to one of: (1) an automated voice prompt; (2) a gaming system having two-way video capability; or (3) a person-to-person voice call system to facilitate answering incoming calls in a customer-friendly or customer preferred manner.','System and method for responding to customer calls','B1',16,'ipg190709.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10349594','utility','10349594','US','7/16/2019','The present invention relates to a Lactuca sativa seed designated 45-227 RZ. The present invention also relates to a Lactuca sativa plant produced by growing the 45-227 RZ seed. The invention further relates to methods for producing the lettuce cultivar, represented by lettuce variety 45-227 RZ.','Lettuce variety 45-227 RZ','B2',29,'ipg190716.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10350762','utility','10350762','US','7/16/2019','A cleaning robot which performs a predetermined task while autonomously moving includes: a driver which makes the cleaning robot move; an image capturer which detects a movement state indicating whether a different cleaning robot existing in front of the cleaning robot is moving along an obstacle, a direction in which the different cleaning robot exists relative to the cleaning robot, and a distance between the cleaning robot and the different cleaning robot; and a following run controller which controls the driver in order for the cleaning robot to move following the different cleaning robot while keeping a position diagonally behind the different cleaning robot at an opposite side of the different cleaning robot from the obstacle, if the movement state indicates that the different cleaning robot is moving along the obstacle.','Autonomously moving body, movement controlling method, and recording medium storing movement controlling program','B2',14,'ipg190716.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10351196','utility','10351196','US','7/16/2019','A foldable-chair carrier for a bicycle includes a frame that defines a plurality of generally planar, inclined chair-supporting surfaces over the rear wheel of the bicycle. The frame includes a pair of enlarged hooks at the forward, upper portion of the frame, with the hooks being arranged to receive opposite ends of one of the structural tubes of the chair in its folded configuration. The hooks may be sufficiently large to receive two or more of the folded chairs, in a stacked array. The hooks are configured so that even if the bicycle is running on uneven ground, the chairs will be unlikely to be thrown from the frame even in the absence of supplementary tie-downs.','Bicycle attachment for carrying a folding chair','B2',9,'ipg190716.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10351891','utility','10351891','US','7/16/2019','The present invention provides a hydroxyacyl-coenzyme A dehydrogenase gene, an acyl-coenzyme A thiolase gene, genetically engineered strains and a use thereof. The hydroxyacyl-coenzyme A dehydrogenase gene encodes a protein (i) or (ii) as follows: (i) having an amino acid sequence according to SEQ ID NO 2; (ii) derived by substituting, deleting or inserting one or more amino acids in the amino acid sequence defined by (i) and having the same function as that of the protein of (i). The present invention constructs genetically engineered Mycobacterium strains lacking of a hydroxyacyl-coenzyme A dehydrogenase gene or an acyl-coenzyme A thiolase gene, which are used in the preparation of steroidal compounds, such as 1,4-BNA, 4-BNA, 9-OH-BNA, etc. Further, the invention improves the production efficiency and product quality of steroidal drug, improves the utilization of drug precursors, reduces the production costs, and provides the advantages of mild reaction conditions, environmentally friendly, and high economic and social benefits.','Hydroxyacyl-coenzyme A dehydrogenase gene, an acyl-coenzyme A thiolase gene, genetically engineered strains and a use thereof','B2',1,'ipg190716.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10353986','utility','10353986','US','7/16/2019','Some embodiments provide a method for displaying text content on a device. The method receives a set of text content arranged in a single column. The method identifies a separable segment of the text content for display on a device. Based on properties of the text content and the device, the method determines whether the separable segment of the text content meets a set of characteristics for dividing the segment of text content into more than one column for display. When the separable segment of text content meets the set of characteristics, the method displays the segment of text content using more than one column.','Automatically dividing text into multiple columns','B2',25,'ipg190716.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10353994','utility','10353994','US','7/16/2019','Systems, methods, and computer-readable media are disclosed for enhancing an email application to automatically analyze an email thread and generate a compact content summary. The content summary is based on relative content contributions provided by the constituent email messages in the email thread. The content summary may be presented in a special window without disturbing or modifying the email thread or its constituent email messages. The distinctive content summary disclosed herein comprises certain sentences that are automatically gleaned from the email thread, analyzed relative to other sentences, and presented in a chronological sequence so that the user can quickly determine what the email thread is about and/or the current status of the conversation. The content summary is based on email weights, word weights, and intersecting sentence pairs.','Summarization of email on a client computing device based on content contribution to an email thread using classification and word frequency considerations','B2',20,'ipg190716.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10354362','utility','10354362','US','7/16/2019','Methods of detecting an object in an image using a convolutional neural network based architecture that processes multiple feature maps of differing scales from differing convolution layers within a convolutional network to create a regional-proposal bounding box. The bounding box is projected back to the feature maps of the individual convolution layers to obtain a set of regions of interest. These regions of interest are then processed to ultimately create a confidence score representing the confidence that the object detected in the bounding box is the desired object. These processes allow the method to utilize deep features encoded in both the global and the local representation for object regions, allowing the method to robustly deal with challenges in the problem of robust object detection. Software for executing the disclosed methods within an object-detection system is also disclosed.','Methods and software for detecting objects in images using a multiscale fast region-based convolutional neural network','B2',20,'ipg190716.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10355310','utility','10355310','US','7/16/2019','Multi-functional additives containing at least one solid electrolyte interface (SEI) forming group and at least one SEI modifying group are advantageously employed in electrolyte compositions for electrochemical devices. The SEI forming group may comprise an organic carbonate moiety and the SEI modifying group may comprise a heteroatom functional group such as a sulfur containing organic moiety. The electrochemical devices include lithium ion batteries.','Electrolyte compositions for electrochemical devices','B2',20,'ipg190716.xml',0);
insert into patents_data(id, type, number, country, date, abstract, title, kind, num_claims, filename, withdrawn) values('10355956','utility','10355956','US','7/16/2019','Methods, systems, and devices are described for wireless communications. A wireless station includes a transmitter to generate a wideband contiguous waveform in a band. The transmitter transmits the waveform that conforms to spectral masking attributes and spectral flatness attributes. The wireless station, or another device supporting spectrum analysis functions, detects a wideband contiguous waveform and performs spectrum analysis of the waveform. The wireless station includes a resolution bandwidth of 25 KHz and a video bandwidth of 7.5 KHz.','Spectral masking for wideband wireless local area network transmissions','B2',20,'ipg190716.xml',0);
쿼리가 성공적으로 실행되면 문 실행됨이라는 메시지가 표시됩니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
새 테이블 만들기 및 특허 데이터 로드
작업 3. 특허 데이터에 대한 텍스트 임베딩 생성 및 저장
이제 벡터 검색을 지원하도록 데이터베이스를 구성하고 검색할 데이터를 로드했으므로 특허 초록에 대한 텍스트 임베딩을 생성하여 patents_data 테이블에 추가할 수 있습니다.
이 작업에서는 먼저 테스트 쿼리를 실행하여 text-embedding-005라는 Vertex AI 텍스트 임베딩 모델을 사용해 임베딩을 생성합니다. 테스트가 성공적으로 완료된 후 전체 쿼리를 실행하여 개요 텍스트에 대해 생성된 임베딩으로 patents_data 테이블을 업데이트합니다.
텍스트 임베딩을 생성하는 쿼리 테스트
-
Cloud SQL Studio 쿼리 편집기에서 실행과 같은 메뉴 바에 있는 지우기를 클릭하여 이전 쿼리를 삭제합니다.
-
임베딩을 생성하는 쿼리를 테스트하려면 다음 쿼리를 복사하여 쿼리 창에 붙여넣고 실행을 클릭합니다.
SELECT embedding('text-embedding-005', 'Cloud SQL is a managed, cloud-hosted SQL database service.');
참고: postgresql error: Permission denied on the resource 오류 메시지가 표시되면 작업 1에서 할당한 권한이 완전히 전파될 때까지 몇 분 동안 기다렸다가 쿼리를 다시 실행하세요.
올바르게 실행되면 다음과 유사한 결과가 출력됩니다.
{-0.069205195,0.014191614,-0.05495163,0.07412431,-0.041930363,0.020848516,-0.038112275,-0.008370851,-0.04076421,-0.045720845,-0.03756072,-0.025186405,-0.042957906,-0.051989086,...
생성된 텍스트 임베딩을 저장하도록 abstract_embeddings 열 업데이트
-
Cloud SQL Studio 쿼리 편집기에서 실행과 같은 메뉴 바에 있는 지우기를 클릭하여 이전 쿼리를 삭제합니다.
-
텍스트 임베딩을 abstract_embeddings라는 열에 추가하려면 다음 쿼리를 복사하여 쿼리 창에 붙여넣고 실행을 클릭합니다.
UPDATE patents_data set abstract_embeddings = embedding('text-embedding-005', abstract);
쿼리가 성공적으로 실행되면 문 실행됨이라는 메시지가 표시됩니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
특허 데이터에 대한 텍스트 임베딩 생성 및 저장
작업 4. PostgreSQL용 Cloud SQL에서 텍스트 임베딩을 사용하여 벡터 검색 수행
특허 초록에 대한 텍스트 임베딩을 생성하고 저장했으므로 이제 데이터에서 처음으로 실시간 벡터 검색을 수행할 수 있습니다.
이 작업에서는 쿼리를 실행하여 new natural language processing related machine learning model이라는 구문을 기반으로 유사성 검색을 수행하고 특허 데이터에 이 텍스트와 일치검색 항목이 없더라도 가장 관련성 높은 상위 10개 특허를 빠르게 반환합니다.
-
Cloud SQL Studio 쿼리 편집기에서 실행과 같은 메뉴 바에 있는 지우기를 클릭하여 이전 쿼리를 삭제합니다.
-
텍스트 임베딩을 사용하여 벡터 검색을 수행하려면 다음 쿼리를 복사하여 쿼리 창에 붙여넣고 실행을 클릭합니다.
SELECT id, title, abstract FROM patents_data ORDER BY abstract_embeddings <=> embedding('text-embedding-005', 'A new Natural Language Processing related Machine Learning Model')::vector LIMIT 10;
이 쿼리는 abstract_embeddings 열의 값을 사용하여 new natural language processing related machine learning model이라는 검색구문과 의미상 가장 유사한 상위 10개 데이터베이스 행을 찾습니다.
검색 단계의 임베딩은 쿼리에서 동적으로 생성됩니다. 위 코드에서 new natural language processing related machine learning model을 원하는 새로운 검색어로 바꿔 이 쿼리를 자세히 알아보세요.
다음과 유사한 결과가 출력됩니다.
| ID |
제목 |
초록 |
| 10347243 |
발화 의미를 분석하는 장치 및 방법 |
본 초록에서는 발화 의미를 분석하는 방법을 공개합니다. 이는... |
| 10346746 |
피드백을 바탕으로 학습 모델 생성 |
피드백을 바탕으로 학습 모델을 생성하는 방법 및 장치는... |
| 10347147 |
답변의 실행 가능성 관리 |
답변의 실행 가능성을 관리하기 위한 시스템, 방법, 컴퓨터 프로그램 제품은... |
| 10353994 |
콘텐츠를 기반으로 클라이언트 컴퓨팅 기기에서 이메일 요약 |
시스템, 방법, 컴퓨터 판독 가능 미디어는... |
| 10354362 |
이미지에서 객체를 감지하기 위한 방법 및 소프트웨어 |
컨볼루셔널 신경망을 사용하여 이미지에서 객체를 감지하는 방법은... |
| 10353986 |
텍스트를 여러 열로 자동 분할 |
일부 예시에서는 기기에 텍스트 콘텐츠를 표시하는 방법을 제공하고... |
| 10348905 |
고객 통화에 응답하기 위한 시스템 및 방법 |
고객 통화에 응답하기 위한 컴퓨터 기반의 시스템 및 방법은... |
| 10350762 |
자율적으로 움직이는 몸체, 움직임 제어 방법, 녹화 |
자율적으로 움직이면서 미리 정해진 작업을 수행하는 청소 로봇은... |
| 10338681 |
다중 출력 정전기 햅틱 효과를 위한 시스템 및 방법 |
여기에 공개된 한 가지 예시 시스템은... |
| 10338956 |
애플리케이션 프로파일링 작업 관리 시스템, 프로그램, 방법 |
소프트웨어 애플리케이션 프로파일링을 시작하는 애플리케이션 프로파일링 시스템은... |
수고하셨습니다
이 실습에서는 벡터 검색을 지원하도록 PostgreSQL용 Cloud SQL 데이터베이스를 구성하고, PostgreSQL용 Cloud SQL 테이블에서 텍스트 임베딩을 생성 및 저장하고, 저장된 텍스트 임베딩을 사용하여 PostgreSQL용 Cloud SQL에서 벡터 검색을 수행하는 방법의 기본사항을 알아봤습니다.
다음 단계/더 학습하기
Google Cloud 교육 및 자격증
Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.
설명서 최종 업데이트: 2025년 2월 4일
실습 최종 테스트: 2025년 2월 4일
Copyright 2025 Google LLC. All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.