아무튼 일단 docomo로 대화를 나눠보도록 하겠습니다. API.
두 번째 구워도 괜찮지만, 나는 먼저 도코모의 잡담 대화를 시작하고 싶다.
결국 트위터 API와 함께 사용해 대화할 수 있는 BOT를 만들고 싶다.
필요한 물건
나는 심사가 통과되면 신청하면 바로 발행하는 줄 알았다.
일단 인터넷으로 한번 해볼게요.
이 페이지 API 기능을 테스트합니다.
제이슨 형식으로 대화를 진행하다.
HTTP 요청 주체의 두 번째 줄"utt":こんにちは
부분은 대화의 교환 부분이다.
좋아하는 내용으로 바꾸고 실행 버튼을 누르면 결과가 돌아옵니다.{
"utt": "焼肉が食べたい",
"context": "",
"nickname": "光",
"nickname_y": "ヒカリ",
"sex": "女",
"bloodtype": "B",
"birthdateY": "1997",
"birthdateM": "5",
"birthdateD": "30",
"age": "16",
"constellations": "双子座",
"place": "東京",
"mode": "dialog"
}
{
"utt": "焼肉は食べたいんですね?食べたい",
"yomi": "焼肉は食べたいんですね?食べたい",
"mode": "dialog",
"da": "22",
"context": "W54mlG80QNb-o95J9c7SVA"
}
매개변수 정보
오른쪽 위 모서리의 [설명 보기] 버튼에서 매개변수를 참조합니다.
매개 변수
설명
utt
사용자의 메시지를 입력합니다.255자 이하
context
시스템 출력을 입력하는 context를 통해 대화를 계속합니다.255자 이하
nickname
사용자의 닉네임을 설정합니다.10자 이하
nickname_y
사용자 닉네임의 읽기를 설정합니다.전체 각도 20자 이하(슬라이스 가명만 해당)
sex
사용자의 성별을 설정합니다.남자 혹은 여자
bloodtype
사용자의 혈액형을 설정합니다.A, B, AB, O 중 임의
birthdateY
사용자의 생일(년)을 설정합니다.1~지금까지의 임의의 정수(반각 4자 이하)
birthdateM
사용자의 생일(월)을 설정합니다.1~12의 임의 정수
birthdateD
사용자의 생일(일)을 설정합니다.1~31의 임의 정수
age
사용자의 나이를 설정합니다.양의 정수(반각 3자 이하)
constellations
사용자의 별자리를 설정합니다.양자리, 황소자리, 쌍둥이자리, 게자리, 사자자리, 처녀자리, 천칭자리, 전갈자리, 사수자리, 염소자리, 물병자리, 물고기자리 중 하나
place
사용자의 영역 정보를 설정합니다.규격서 2.4 "장소 목록"에 포함된 모든 것
mode
현재 상호 작용 모드입니다.기본값: 다이어로그나 srtr는 시스템이 출력하는 모드를 입력해서 연결을 계속합니다
꼭 필요한 것은 utt
의 모습이다.
사용자의 속성에 대해서도 일부분을 생략하거나 생략할 수 있다.
이름 설정을 통해 답장 내용에 이름이 포함된다고 한다.
context가 중요한 것 같아요.
위 불고기 대화에서 말한 "context": "W54mlG80QNb-o95J9c7SVA"
부분.
다음 인터랙티브 데이터를 보낼 때 context를 같이 보내면 대화가 연결됩니다.
물론 처음이 없기 때문에 위의 예는 공백이다.
나는 모든 대화가 context는 다른 것이 될 것이라고 생각했지만, 하나의 대화는매번 발행하다.
파이톤으로 이동
참고일상의 메모 - 잡담 대화 API 사용.
docomo_dialogue.py#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
import types
KEY = 'ここに取得したAPIKeyを入れる'
#エンドポイントの設定
endpoint = 'https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue?APIKEY=REGISTER_KEY'
url = endpoint.replace('REGISTER_KEY', KEY)
#1回目の会話の入力
utt_content = raw_input('>>')
payload = {'utt' : utt_content, 'context': ''}
headers = {'Content-type': 'application/json'}
#送信
r = requests.post(url, data=json.dumps(payload), headers=headers)
data = r.json()
#jsonの解析
response = data['utt']
context = data['context']
#表示
print "response: %s" %(response)
#2回目以降の会話(Ctrl+Cで終了)
while True:
utt_content = raw_input('>>')
payload['utt'] = utt_content
payload['context'] = data['context']
r = requests.post(url, data=json.dumps(payload), headers=headers)
data = r.json()
response = data['utt']
context = data['context']
print "response: %s" %(response)
다음은 실행 결과입니다.>>お魚たべたい!!
response: 話は変わりますけど、12月1日は映画の日だって、知ってました?
>>無視しないでください。。。知りません。
response: 無視に入るようです
>>冷たい
response: 大丈夫ですよ。寒いですか?
>>暑いです
response: ぱたぱた
>>ありがとう
response: ナデナデ
>>
실행 중 오류 발생
조금 반한 것은 실행할 때 나타난다requests.exceptions.SSLError
.
어쨌든 다음과 같은 방법으로 해결했습니다.$ sudo pip install requests[security]
최후
이것과 함께 트위터 API를 사용하면 트위터 BOT를 사용할 수 있다.LINE이면 LINE BOT도 가능합니다.
다만 구성원 분류를 건너뛴 각 사용자에 대해 각자의 대화를 해야 하기 때문에 이런 부분을 다루기가 쉽지 않다.
Reference
이 문제에 관하여(아무튼 일단 docomo로 대화를 나눠보도록 하겠습니다. API.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ponkio-o/items/df0d64677dcb4b7e8eb3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{
"utt": "焼肉が食べたい",
"context": "",
"nickname": "光",
"nickname_y": "ヒカリ",
"sex": "女",
"bloodtype": "B",
"birthdateY": "1997",
"birthdateM": "5",
"birthdateD": "30",
"age": "16",
"constellations": "双子座",
"place": "東京",
"mode": "dialog"
}
{
"utt": "焼肉は食べたいんですね?食べたい",
"yomi": "焼肉は食べたいんですね?食べたい",
"mode": "dialog",
"da": "22",
"context": "W54mlG80QNb-o95J9c7SVA"
}
오른쪽 위 모서리의 [설명 보기] 버튼에서 매개변수를 참조합니다.
매개 변수
설명
utt
사용자의 메시지를 입력합니다.255자 이하
context
시스템 출력을 입력하는 context를 통해 대화를 계속합니다.255자 이하
nickname
사용자의 닉네임을 설정합니다.10자 이하
nickname_y
사용자 닉네임의 읽기를 설정합니다.전체 각도 20자 이하(슬라이스 가명만 해당)
sex
사용자의 성별을 설정합니다.남자 혹은 여자
bloodtype
사용자의 혈액형을 설정합니다.A, B, AB, O 중 임의
birthdateY
사용자의 생일(년)을 설정합니다.1~지금까지의 임의의 정수(반각 4자 이하)
birthdateM
사용자의 생일(월)을 설정합니다.1~12의 임의 정수
birthdateD
사용자의 생일(일)을 설정합니다.1~31의 임의 정수
age
사용자의 나이를 설정합니다.양의 정수(반각 3자 이하)
constellations
사용자의 별자리를 설정합니다.양자리, 황소자리, 쌍둥이자리, 게자리, 사자자리, 처녀자리, 천칭자리, 전갈자리, 사수자리, 염소자리, 물병자리, 물고기자리 중 하나
place
사용자의 영역 정보를 설정합니다.규격서 2.4 "장소 목록"에 포함된 모든 것
mode
현재 상호 작용 모드입니다.기본값: 다이어로그나 srtr는 시스템이 출력하는 모드를 입력해서 연결을 계속합니다
꼭 필요한 것은
utt
의 모습이다.사용자의 속성에 대해서도 일부분을 생략하거나 생략할 수 있다.
이름 설정을 통해 답장 내용에 이름이 포함된다고 한다.
context가 중요한 것 같아요.
위 불고기 대화에서 말한
"context": "W54mlG80QNb-o95J9c7SVA"
부분.다음 인터랙티브 데이터를 보낼 때 context를 같이 보내면 대화가 연결됩니다.
물론 처음이 없기 때문에 위의 예는 공백이다.
나는 모든 대화가 context는 다른 것이 될 것이라고 생각했지만, 하나의 대화는매번 발행하다.
파이톤으로 이동
참고일상의 메모 - 잡담 대화 API 사용.
docomo_dialogue.py#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
import types
KEY = 'ここに取得したAPIKeyを入れる'
#エンドポイントの設定
endpoint = 'https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue?APIKEY=REGISTER_KEY'
url = endpoint.replace('REGISTER_KEY', KEY)
#1回目の会話の入力
utt_content = raw_input('>>')
payload = {'utt' : utt_content, 'context': ''}
headers = {'Content-type': 'application/json'}
#送信
r = requests.post(url, data=json.dumps(payload), headers=headers)
data = r.json()
#jsonの解析
response = data['utt']
context = data['context']
#表示
print "response: %s" %(response)
#2回目以降の会話(Ctrl+Cで終了)
while True:
utt_content = raw_input('>>')
payload['utt'] = utt_content
payload['context'] = data['context']
r = requests.post(url, data=json.dumps(payload), headers=headers)
data = r.json()
response = data['utt']
context = data['context']
print "response: %s" %(response)
다음은 실행 결과입니다.>>お魚たべたい!!
response: 話は変わりますけど、12月1日は映画の日だって、知ってました?
>>無視しないでください。。。知りません。
response: 無視に入るようです
>>冷たい
response: 大丈夫ですよ。寒いですか?
>>暑いです
response: ぱたぱた
>>ありがとう
response: ナデナデ
>>
실행 중 오류 발생
조금 반한 것은 실행할 때 나타난다requests.exceptions.SSLError
.
어쨌든 다음과 같은 방법으로 해결했습니다.$ sudo pip install requests[security]
최후
이것과 함께 트위터 API를 사용하면 트위터 BOT를 사용할 수 있다.LINE이면 LINE BOT도 가능합니다.
다만 구성원 분류를 건너뛴 각 사용자에 대해 각자의 대화를 해야 하기 때문에 이런 부분을 다루기가 쉽지 않다.
Reference
이 문제에 관하여(아무튼 일단 docomo로 대화를 나눠보도록 하겠습니다. API.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ponkio-o/items/df0d64677dcb4b7e8eb3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
import types
KEY = 'ここに取得したAPIKeyを入れる'
#エンドポイントの設定
endpoint = 'https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue?APIKEY=REGISTER_KEY'
url = endpoint.replace('REGISTER_KEY', KEY)
#1回目の会話の入力
utt_content = raw_input('>>')
payload = {'utt' : utt_content, 'context': ''}
headers = {'Content-type': 'application/json'}
#送信
r = requests.post(url, data=json.dumps(payload), headers=headers)
data = r.json()
#jsonの解析
response = data['utt']
context = data['context']
#表示
print "response: %s" %(response)
#2回目以降の会話(Ctrl+Cで終了)
while True:
utt_content = raw_input('>>')
payload['utt'] = utt_content
payload['context'] = data['context']
r = requests.post(url, data=json.dumps(payload), headers=headers)
data = r.json()
response = data['utt']
context = data['context']
print "response: %s" %(response)
>>お魚たべたい!!
response: 話は変わりますけど、12月1日は映画の日だって、知ってました?
>>無視しないでください。。。知りません。
response: 無視に入るようです
>>冷たい
response: 大丈夫ですよ。寒いですか?
>>暑いです
response: ぱたぱた
>>ありがとう
response: ナデナデ
>>
조금 반한 것은 실행할 때 나타난다
requests.exceptions.SSLError
.어쨌든 다음과 같은 방법으로 해결했습니다.
$ sudo pip install requests[security]
최후
이것과 함께 트위터 API를 사용하면 트위터 BOT를 사용할 수 있다.LINE이면 LINE BOT도 가능합니다.
다만 구성원 분류를 건너뛴 각 사용자에 대해 각자의 대화를 해야 하기 때문에 이런 부분을 다루기가 쉽지 않다.
Reference
이 문제에 관하여(아무튼 일단 docomo로 대화를 나눠보도록 하겠습니다. API.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ponkio-o/items/df0d64677dcb4b7e8eb3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(아무튼 일단 docomo로 대화를 나눠보도록 하겠습니다. API.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ponkio-o/items/df0d64677dcb4b7e8eb3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)