Google Cloud Natural Language API와 함께 기계에게 뉘앙스의 예술을 가르치기
I’m happy to translate the article for you, but I’ll need the text you’d like translated. Could you please paste the content of the article (excluding the source line you’ve already provided) here? Once I have the text, I’ll translate it into Korean while preserving the original formatting, markdown, and technical terms.
Source: …
1. 엔티티의 힘
전통적인 검색은 문자열을 찾습니다. Natural Language API는 엔티티를 찾습니다. 아래 요청과 응답을 확인해 보세요.
Request
{
"document": {
"type": "PLAIN_TEXT",
"content": "Masashi Kishimoto is a Japanese manga artist who is best known for creating the Naruto series, which became one of the best-selling manga in history."
},
"encodingType": "UTF8"
}
Response
{
"entities": [
{
"name": "Masashi Kishimoto",
"type": "PERSON",
"metadata": {
"mid": "/m/01v8_m",
"wikipedia_url": "https://en.wikipedia.org/wiki/Masashi_Kishimoto"
},
"salience": 0.82,
"mentions": [
{
"text": {
"content": "Masashi Kishimoto",
"beginOffset": 0
},
"type": "PROPER"
}
]
},
{
"name": "Naruto",
"type": "WORK_OF_ART",
"metadata": {
"mid": "/m/01_f69",
"wikipedia_url": "https://en.wikipedia.org/wiki/Naruto"
},
"salience": 0.12,
"mentions": [
{
"text": {
"content": "Naruto",
"beginOffset": 64
},
"type": "PROPER"
}
]
},
{
"name": "manga artist",
"type": "COMMON",
"salience": 0.05,
"mentions": [
{
"text": {
"content": "manga artist",
"beginOffset": 32
},
"type": "COMMON"
}
]
}
],
"language": "en"
}
Masashi Kishimoto에 대한 문장을 API에 전달했을 때, 단순히 이름만 인식한 것이 아니라 다음과 같이 처리했습니다.
- 그를 PERSON으로 식별하고 Wikipedia 페이지와 연결했습니다.
- Naruto를 WORK_OF_ART로 분류하고 자체 Wikipedia 링크를 제공했습니다.
- 각 엔티티에 대해 Salience 점수를 계산했습니다.
Salience란?
텍스트에서 엔티티가 얼마나 중심적인지를 나타내는 0.0에서 1.0 사이의 값입니다. 이를 통해 문서가 실제로 무엇에 관한 것인지 자동으로 요약할 수 있으며, 단순히 언급된 모든 이름을 나열하는 것이 아닙니다.
metadata 필드도 인상적입니다. API는 Google Knowledge Graph에 연결되는 mid(Machine ID)를 제공하므로, 별도로 데이터베이스를 구축하지 않아도 애플리케이션에서 풍부한 컨텍스트에 즉시 접근할 수 있습니다.
2. 감정 vs. 규모: 감정의 양
대부분의 감정 분석은 단일 “긍정” 또는 “부정” 점수를 반환합니다. Google Cloud는 또 다른 차원인 Magnitude 를 추가합니다.
| Metric | Meaning | Range |
|---|---|---|
| Score | 극성 (긍정 vs. 부정) | -1.0 to 1.0 |
| Magnitude | 표현된 감정의 강도 | 0 to ∞ |
예시 – 리뷰:
“음식은 훌륭했지만, 웨이터는 믿을 수 없을 정도로 무례했어요!”
간단한 도구는 이를 평균 내어 Neutral (0.0) 으로 표시할 수 있습니다. 하지만 Natural Language API는 높은 magnitude 를 보여주어 강하고 상반되는 감정을 나타냅니다. 이러한 신호는 기본 점수만으로는 포착할 수 없습니다.
3. The Game Changer: Entity Sentiment Analysis
This feature breaks sentiment down by each identified entity.
- Product – Positive (+0.9)
- Service – Negative (‑0.8)
As a developer, you can now build dashboards that tell business owners exactly what to fix. Instead of a vague “customers are unhappy,” you get actionable insight: “Customers love the jollof rice, but the service needs improvement.”
4. 다국어 지원
이 API의 가장 인상적인 기능 중 하나는 다국어 지원 능력입니다. 일본어 텍스트로 테스트해 보았습니다:
입력
日本のグーグルのオフィスは、東京の六本木ヒルズにあります
응답
{
"entities": [
{
"name": "日本",
"type": "LOCATION",
"metadata": {
"mid": "/m/03_3d",
"wikipedia_url": "https://en.wikipedia.org/wiki/Japan"
},
"salience": 0.23854347,
"mentions": [
{
"text": {
"content": "日本",
"beginOffset": 0
},
"type": "PROPER"
}
]
},
{
"name": "グーグル",
"type": "ORGANIZATION",
"metadata": {
"mid": "/m/045c7b",
"wikipedia_url": "https://en.wikipedia.org/wiki/Google"
},
"salience": 0.21155767,
"mentions": [
{
"text": {
"content": "グーグル",
"beginOffset": 9
},
"type": "PROPER"
}
]
}
// …
],
"language": "ja"
}
언어를 지정하지 않아도 API가 자동으로 일본어를 감지하고, “Tokyo”(도쿄)를 LOCATION(위치)으로 식별했으며, 영어 위키피디아 링크까지 제공했습니다. 글로벌 애플리케이션을 구축하는 개발자에게 이 즉시 사용 가능한 인텔리전스는 큰 시간 절약이 됩니다.
요약
단순히 JSON 페이로드에 관한 것이 아니라, 그 응답이 제공하는 통찰에 관한 것입니다. 엔터티 감지, 중요도 점수(salience) 부여, 감정 강도, 엔터티 수준 감정, 그리고 다국어 지원이 결합되어 개발자가 원시 텍스트를 실행 가능한 지식으로 전환할 수 있는 강력한 툴킷을 제공합니다.
우리는 이제 단순 검색과 키워드 매칭 시대를 넘어섰습니다. Salience와 Entity Sentiment와 같은 기능을 활용함으로써, 사용자가 실제로 말하는 내용을 듣는 시스템을 구축할 수 있게 되었으며, 단순히 입력된 텍스트를 스캔하는 수준을 넘어섭니다.
Natural Language API는 복잡한 머신러닝과 실제 애플리케이션 사이의 격차를 메우고, 고급 AI를 민주화하여 Cloud Console과 창의적인 아이디어만 있으면 모든 개발자가 접근할 수 있게 합니다. 몇 줄의 코드만으로도 전 세계적인 맥락과 인간의 뉘앙스를 (언어학 박사 없이도 😀) 풀어낼 수 있다는 점이 정말 흥미롭습니다. 커뮤니티가 이 도구들을 활용해 보다 직관적이고 포용적인 애플리케이션을 만들게 될 날이 기대됩니다 🚀
DYOR