제퍼넷 로고

Alexa, 내 데이터베이스를 스마트하게 만드세요!

시간

자동에 대해 자세히 알아보려면 클릭하세요.r 마르코 리바.

최근 몇 년 동안 Amazon Alexa, Google Home 및 Apple HomePod와 같은 스마트 스피커가 시장 점유율을 높이고 있으며 예측에 따르면, 그들의 인기는 계속 증가할 것입니다. 많은 사람들이 집에 이 스피커를 하나 이상 가지고 있으며 알람을 설정하는 것과 같은 가장 쉬운 것부터 음성만으로 게임을 하는 것과 같은 가장 어려운 것까지 다양한 용도로 사용됩니다. 이 스피커는 전문 및 상업 환경에서도 사용됩니다. 스마트 스피커의 멋진 점은 SDK를, 따라서 그들과 상호 작용하는 새로운 방법을 만듭니다.

그리고 이것이 바로 이 블로그 게시물의 주제인 오픈 소스 시계열 데이터베이스 만들기(NSDb) Amazon Alexa를 사용하여 스마트하게! 하지만 무엇을 스마트 한 평균? 글쎄, 우리는 자연 언어를 사용하여 데이터베이스를 쿼리하여 자연 언어로도 데이터베이스에서 신뢰할 수 있는 정보를 얻을 수 있습니다. 간단히 말해서 쿼리 언어를 사용하지 않고 결과를 표 형식으로 읽을 필요 없이 데이터베이스와 상호 작용하는 새로운 방법을 가능하게 합니다.

스마트 스피커가 결과를 자연스럽게 알려준다고 했는데 어떻게 하면 될까요? 우리는 자연어 생성(NLG), 특히 오픈 소스 라이브러리를 사용할 것입니다. 로새NLG 데이터베이스에서 가져온 데이터에서 시작하여 자연어(영어, 이탈리아어, 프랑스어 및 독일어와 같은 다양한 언어로)를 생성할 수 있습니다.

Alexa, 이 모든 일에서 당신의 역할은 무엇입니까?

이 아키텍처에서 Alexa(일반적으로 말해서 스마트 스피커)의 역할은 입력과 출력 모두입니다. 통신은 Alexa와 대화를 시작하고 스피커의 응답으로 끝납니다.

이 기회를 이용하려면 신중하게 제작해야 합니다. 기술, 개발자가 Alexa에 사용자 지정 기능을 추가할 수 있는 앱과 유사합니다. 이 기술은 Alexa가 요청을 처리하고 답변을 생성하는 방법을 가르치는 데 사용되는 코드를 작성하는 데 필요합니다.

모듈화가 키워드입니다

Alexa, NSDb 및 RosaeNLG에 대해 이야기하고 있지만 무언가를 변경하고 싶다면 어떻게 해야 할까요? 제안된 아키텍처는 "모듈화"라는 단어를 염두에 두고 구축되었습니다. 실제로 이 세 가지 도구로 실현되더라도 아키텍처는 일부 구성 요소를 (약간의 노력으로) 변경할 수 있도록 만들어졌기 때문에 다음을 수행할 수 있습니다.

1. 스마트 스피커 변경: Google Home 또는 기타 스피커를 위한 스킬을 만들 수 있습니다.
2. 데이터베이스 변경: MySQL 또는 PostgreSQL과 같은 다른 데이터베이스를 사용할 수 있습니다.
3. NLG 부분 변경: 예를 들어 Neural Networks 또는 다른 NLG 도구를 사용하려는 경우
4. 더 많은 언어 추가

모듈화의 또 다른 흥미로운 측면은 이 프로젝트가 완전히 분리된 두 부분으로 나뉩니다.

1. 자연어에서 쿼리로
2. 쿼리 결과에서 자연어로

이를 통해 Alexa를 사용하여 자연 언어로 요청을 수행할 수 있습니다. 구식 방법. 우리가 할 수 있는 또 다른 일은 표준으로 데이터베이스를 쿼리하는 것입니다. SQL 자연어 텍스트로 응답 받기, 일부 표현으로 구 시각화하기 BI 도구: 이 아키텍처를 사용하여 가능한 조합이 많이 있습니다.

이 모듈식 아키텍처의 데이터 흐름은 매우 간단합니다. Alexa와 이야기하기 시작하여 일부 데이터에 대해 묻고 이 요청은 기본 데이터베이스와 호환되는 SQL 쿼리로 변환됩니다.

이 시점에서 SQL 쿼리는 시스템의 분리된 두 부분 사이의 연결 지점인 자연어 람다를 통해 데이터베이스(이 경우 NSDb)로 전달됩니다. 그러면 이 쿼리가 데이터베이스에서 실행되고 검색된 데이터가 Natural Language Lambda로 다시 전송됩니다. 그런 다음 이러한 종류의 미들웨어는 결과를 RosaeNLG로 전달하고 데이터를 나타내는 자연어 구문을 기다립니다. 마지막으로, 흐름(그래프에서 볼 수 있듯이)은 모든 구성 요소를 통해 사용자에게 최종 문구를 알려주는 클라이언트(Alexa)로 되돌아갑니다.

NLG: 쉽고(그리고 신뢰할 수 있는) 방법

데이터의 언어 표현을 어떻게 생성할 수 있습니까? 오늘날 자연어 생성은 트랜드 화두이며, 언어 생성을 위한 많은 실험과 대안이 있습니다. 문제는 이들 중 상당수가 신뢰할 수 없다는 것입니다.

이 프로젝트에서 신뢰성은 필수 요소입니다. 우리는 데이터베이스를 다루고 있으며 신뢰할 수 있는 답변이 필요합니다. 예를 들어 데이터베이스 내부에 특정 시간(예: 마지막 날)에 들은 노래 수가 2,450개라고 보고하는 정보가 있는 경우 응답으로 "마지막 날에 들은 곡 수는 2,450곡입니다.” 따라서 결과가 틀릴 수 있고 결과가 데이터베이스 내부 정보와 일치하지 않을 수 있기 때문에 신경망(잘 훈련된 경우에도)에 의존할 수 없습니다.

또한 신경망을 제대로 훈련시키기 위해서는 많은 훈련 데이터(이 경우 자연어 문장)가 필요합니다. 문제는 이 프로젝트의 목적이 데이터베이스에서 오는 데이터를 기반으로 자연어 구문을 생성하는 것이기 때문에 우리가 그것을 가지고 있지 않다는 것입니다.

그래서 선택은 RosaeNLG라는 오픈 소스 라이브러리를 사용하는 것이었습니다. 템플릿 기반 데이터베이스에서 오는 데이터로 채울 수 있는 템플릿(우리가 원하는 만큼 복잡함)을 만들 수 있는 자연어 생성 시스템입니다. RosaeNLG는 선택한 특정 언어의 구문 및 문법 규칙, 동의어 및 반복 없는 적절한 참조 표현 처리를 사용하여 다양한 언어(영어, 이탈리아어, 프랑스어 및 독일어)로 문장을 생성하는 특정 기능을 포함하기 때문에 단순한 템플릿 시스템이 아닙니다. 동사의 동의 등

Alexa, 결과를 보여주세요!

어떻게 작동합니까? 다음은 Alexa 콘솔에서 가져온 몇 가지 스크린샷입니다(즉, 개발 단계에서 Alexa와 통신할 수 있는 방법 – 말하는 대신 쓰기). 보시다시피 결과는 실제 스피커를 사용할 때와 동일합니다.

다음 스크린샷은 Alexa를 통한 사용자와 데이터베이스(일부 데모 데이터로 채워짐) 간의 실제 통신을 나타냅니다.

그림과 같이 사용자는 Alexa와의 대화에 참여하여 필터를 사용하여 질문을 수행하고 자연어 방식으로 응답을 받을 수 있습니다.

코인 스마트. 유로파 최고의 비트 코인-보르 스
출처: https://www.dataversity.net/alexa-make-my-database-smart/

spot_img

최신 인텔리전스

spot_img