Analyze Speech and Language with Google APIs

๋ชฉ๋ก
- Cloud Natural Language API: Qwik Start โฌ ๏ธ ์ค๋์ Lab!
- Speech-to-Text API: Qwik Start
- Entity and Sentiment Analysis with the Natural Language API
- Analyze Speech and Language with Google APIs: Challenge Lab
์์ฐ์ด(Natural Language)๋ ์ธ๊ฐ์ด ์๋ก ์ํตํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ธ์ด์ด๋ค.
Cloud Natural Language API์ด ์ ๊ณตํ๋ ์์ฐ์ด ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ ํ
์คํธ๋ฅผ ๋ถ์ํ๊ณ , ํญ๋ชฉ์ ์๋ณํ๊ณ , ์ ๋ณด๋ฅผ ์ถ์ถํ๊ณ , ์ง๋ฌธ์ ๋ตํด๋ณด์!

PROJECT_ID๋ฅผ ํ๊ฒฝ ๋ณ์๋ก ์ค์ ํ๊ธฐ
export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value core/project)
Natural Language API์ ์ก์ธ์คํ ์ ์๋ ์ ์๋น์ค ๊ณ์ ์์ฑ
gcloud iam service-accounts create my-natlang-sa --display-name "my natural language service account"
โก๏ธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ๋ง๋ค๊ณ , ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ '~/key.json'์ผ๋ก ์ ์ฅ

gcloud iam service-accounts keys create ~/key.json --iam-account my-natlang-sa@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com
GOOGLE_APPLICATION_CREDENTIALS ํ๊ฒฝ ๋ณ์ ์ ์ฅโก๏ธ ์์์ ๋ง๋ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด JSON ํ์ผ์ ์ ์ฒด ๊ฒฝ๋ก๋ก ์ค์ ํด์ผ ํ๋ค.

export GOOGLE_APPLICATION_CREDENTIALS="/home/USER/key.json"
Compute Engine ์ ํโก๏ธ ssh๋ฅผ ํตํด ํ๋ก๋น์ ๋๋ ์ธ์คํด์ค์ ์ฐ๊ฒฐํด์ผ ํ๋ค.

instance ํ์ธโก๏ธ Compute Engine > VM instances > ์์ฑ๋ linux-instance ํ์ธ

โก๏ธ SSH ๋ฒํผ ํด๋ฆญ ์์, ๋ํํ Shell์ด ์ด๋ฆฐ๋ค.

Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'
gcloud ๋ช
๋ น์ด ์คํgcloud ml language analyze-entities --content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'." > result.json
๋ถ์๐
Google Cloud Natural Language API๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ํ ์คํธ ๋ด์ ๊ฐ์ฒด(Entities)๋ฅผ ๋ถ์ํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ JSON ํ์ผ๋ก ์ ์ฅํ๋ ๋ช ๋ น์ด
gcloud ml language: Google Cloud์ ์์ฐ์ด ์ฒ๋ฆฌ(Natural Language) ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๊ฒ ๋ค๋ ์ ์ธanalyze-entities: ํ ์คํธ์์ ์ธ๋ฌผ, ๋จ์ฒด, ์ฅ์ ๋ฑ์ ์๋ณํ๋ ๊ฐ์ฒด ๋ถ์ ๊ธฐ๋ฅ์ ์คํ--content="...": ๋ถ์ํ ์ค์ ๋ฌธ์ฅ> result.json: ๋ถ์ ๊ฒฐ๊ณผ๋ฅผresult.jsonํ์ผ์ ์ ์ฅ
{
"entities": [
{
"mentions": [
{
"text": {
"beginOffset": 0,
"content": "Michelangelo Caravaggio"
},
"type": "PROPER"
},
{
"text": {
"beginOffset": 33,
"content": "painter"
},
"type": "COMMON"
}
],
"metadata": {
"mid": "/m/020bg",
"wikipedia_url": "https://en.wikipedia.org/wiki/Caravaggio"
},
"name": "Michelangelo Caravaggio",
"salience": 0.82904786,
"type": "PERSON"
},
{
"mentions": [
{
"text": {
"beginOffset": 25,
"content": "Italian"
},
"type": "PROPER"
}
],
"metadata": {},
"name": "Italian",
"salience": 0.13981608,
"type": "LOCATION"
},
{
"mentions": [
{
"text": {
"beginOffset": 56,
"content": "The Calling of Saint Matthew"
},
"type": "PROPER"
}
],
"metadata": {
"mid": "/m/085_p7",
"wikipedia_url": "https://en.wikipedia.org/wiki/The_Calling_of_Saint_Matthew"
},
"name": "The Calling of Saint Matthew",
"salience": 0.031136045,
"type": "EVENT"
}
],
"language": "en"
}
โก๏ธ cat result.json์ ํ์ฌ ์ ์ฅ๋ ์๋ต ๊ฒฐ๊ณผ๋ฅผ ๋ถ์ํด๋ณด์!
๋ถ์๐
- ํญ๋ชฉ ์ ๋ณด: ์ํฐํฐ์ ์ด๋ฆ, ํ์ , ์ฌ๋, ์์น, ์ด๋ฒคํธ ๋ฑ
metadata: (์กด์ฌํ ๊ฒฝ์ฐ) Wikipedia URLsalience: ๋ฌธ์ฅ์์ ์ด ๋จ์ด๊ฐ ์ฐจ์งํ๋ ๋น์คmentions: ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ธ๊ธ๋ ๋์ผํ ํญ๋ชฉ