APIレスポンス情報の取り方。
こんな取り方もできた。UNKNOWNは出力されない。
json形式でも取得できる。
インプットテキスト
私は犬です。
サンプルコード
# -*- coding: utf-8 -*- from google.cloud import language from google.cloud.language import enums from google.cloud.language import types import six import sys def syntax_text(text): """Detects syntax in the text.""" client = language.LanguageServiceClient() if isinstance(text, six.binary_type): text = text.decode('utf-8') document = types.Document( content=text, type=enums.Document.Type.PLAIN_TEXT) tokens = client.analyze_syntax(document).tokens # for token in tokens: # print(token) for token in tokens: print(u'{}: Ofset: {} Part_Of_Speech: {} Dependency_Edge: {}'.format(token.text.content, token.text.begin_offset, ' '.join(str(token.part_of_speech).splitlines()), to ken.dependency_edge.head_token_index)) def main(): text = '私は犬です。' syntax_text(text) main()
実行結果
私: Ofset: -1 Part_Of_Speech: tag: PRON person: FIRST proper: NOT_PROPER Dependency_Edge: 2 は: Ofset: -1 Part_Of_Speech: tag: PRT proper: NOT_PROPER Dependency_Edge: 0 犬: Ofset: -1 Part_Of_Speech: tag: NOUN proper: NOT_PROPER Dependency_Edge: 2 です: Ofset: -1 Part_Of_Speech: tag: VERB form: FINAL_ENDING proper: NOT_PROPER Dependency_Edge: 2 。: Ofset: -1 Part_Of_Speech: tag: PUNCT proper: NOT_PROPER Dependency_Edge: 2