2018年12月03日
COTOHAを使ってみる ー構文解析 v1ー
構文解析 v1
概要
NTT Communicationsが今年から提供している自然言語処理のAPIです(こちらを参照)。
導入の簡単な説明は、こちらの記事から。
構文解析を使ってみる
サンプル文を適用してみましょう。
【入力文】
犬は歩く。
【入力コマンド】
curl -X POST -H "Content-Type:application/json" -H "charset:UTF-8" -H "Authorization:Bearer [Access Token]" -d '{"sentence":"犬は歩く。","type": "default"}' "https://[API Base URL]/parse"
【出力】
{ "result" : [ { "chunk_info" : { "id" : 0, "head" : 1, "dep" : "D", "chunk_head" : 1, "chunk_func" : 2, "links" : [ ] }, "tokens" : [ { "id" : 0, "form" : "", "kana" : "", "lemma" : "", "pos" : "Undef", "features" : [ ], "attributes" : { } }, { "id" : 1, "form" : "犬", "kana" : "イヌ", "lemma" : "犬", "pos" : "名詞", "features" : [ ], "dependency_labels" : [ { "token_id" : 0, "label" : "dep" }, { "token_id" : 2, "label" : "case" } ], "attributes" : { } }, { "id" : 2, "form" : "は", "kana" : "ハ", "lemma" : "は", "pos" : "連用助詞", "features" : [ ], "attributes" : { } } ] }, { "chunk_info" : { "id" : 1, "head" : -1, "dep" : "O", "chunk_head" : 0, "chunk_func" : 1, "links" : [ { "link" : 0, "label" : "object" } ], "predicate" : [ ] }, "tokens" : [ { "id" : 3, "form" : "歩", "kana" : "アル", "lemma" : "歩く", "pos" : "動詞語幹", "features" : [ "K" ], "dependency_labels" : [ { "token_id" : 1, "label" : "dobj" }, { "token_id" : 4, "label" : "aux" }, { "token_id" : 5, "label" : "punct" } ], "attributes" : { } }, { "id" : 4, "form" : "く", "kana" : "ク", "lemma" : "く", "pos" : "動詞接尾辞", "features" : [ "終止" ], "attributes" : { } }, { "id" : 5, "form" : "。", "kana" : "", "lemma" : "。", "pos" : "句点", "features" : [ ], "attributes" : { } } ] } ], "status" : 0, "message" : "" }
出力結果が見にくいため、少し見やすくしてみます。
解析結果の確認
「犬は歩く。」は意味的に「犬は」と「歩く。」二つに分解することができます。
"id"が2種類出てきており、係り方が少し見にくいかと思いますので、色づけています。
(id=1が少し見分け就きにくいかもしれませんが)
ー「犬は」ー
"犬"→"は":主語と助詞の関係が見て取れます。
{ "chunk_info" : { "id" : 0, "head" : 1, "dep" : "D", "chunk_head" : 1, "chunk_func" : 2, "links" : [ ] }, "tokens" : [ { "id" : 0, "form" : "", "kana" : "", "lemma" : "", "pos" : "Undef", "features" : [ ], "attributes" : { } }
{ "id" : 1, "form" : "犬", "kana" : "イヌ", "lemma" : "犬", "pos" : "名詞", "features" : [ ], "dependency_labels" : [ { "token_id" : 0, "label" : "dep" }, { "token_id" : 2, "label" : "case" } ], "attributes" : { } }
{ "id" : 2, "form" : "は", "kana" : "ハ", "lemma" : "は", "pos" : "連用助詞", "features" : [ ], "attributes" : { } } ] }
"犬"→"は":主語と助詞の関係が見て取れます。
{ "chunk_info" : { "id" : 0, "head" : 1, "dep" : "D", "chunk_head" : 1, "chunk_func" : 2, "links" : [ ] }, "tokens" : [ { "id" : 0, "form" : "", "kana" : "", "lemma" : "", "pos" : "Undef", "features" : [ ], "attributes" : { } }
{ "id" : 1, "form" : "犬", "kana" : "イヌ", "lemma" : "犬", "pos" : "名詞", "features" : [ ], "dependency_labels" : [ { "token_id" : 0, "label" : "dep" }, { "token_id" : 2, "label" : "case" } ], "attributes" : { } }
{ "id" : 2, "form" : "は", "kana" : "ハ", "lemma" : "は", "pos" : "連用助詞", "features" : [ ], "attributes" : { } } ] }
ー「歩く。」ー
"歩"→"く":「歩く」は動詞の活用系のため、このように分解して表現されます。
また、この文節は「犬は」に係ります。
{ "chunk_info" : { "id" : 1, "head" : -1, "dep" : "O", "chunk_head" : 0, "chunk_func" : 1, "links" : [ { "link" : 0, "label" : "object" } ], "predicate" : [ ] }
{ "id" : 3, "form" : "歩", "kana" : "アル", "lemma" : "歩く", "pos" : "動詞語幹", "features" : [ "K" ], "dependency_labels" : [ { "token_id" : 1, "label" : "dobj" }, { "token_id" : 4, "label" : "aux" }, { "token_id" : 5, "label" : "punct" } ], "attributes" : { } }
{ "id" : 4, "form" : "く", "kana" : "ク", "lemma" : "く", "pos" : "動詞接尾辞", "features" : [ "終止" ], "attributes" : { } }
{ "id" : 5, "form" : "。", "kana" : "", "lemma" : "。", "pos" : "句点", "features" : [ ], "attributes" : { } } ] } ], "status" : 0, "message" : "" }
"歩"→"く":「歩く」は動詞の活用系のため、このように分解して表現されます。
また、この文節は「犬は」に係ります。
{ "chunk_info" : { "id" : 1, "head" : -1, "dep" : "O", "chunk_head" : 0, "chunk_func" : 1, "links" : [ { "link" : 0, "label" : "object" } ], "predicate" : [ ] }
{ "id" : 3, "form" : "歩", "kana" : "アル", "lemma" : "歩く", "pos" : "動詞語幹", "features" : [ "K" ], "dependency_labels" : [ { "token_id" : 1, "label" : "dobj" }, { "token_id" : 4, "label" : "aux" }, { "token_id" : 5, "label" : "punct" } ], "attributes" : { } }
{ "id" : 4, "form" : "く", "kana" : "ク", "lemma" : "く", "pos" : "動詞接尾辞", "features" : [ "終止" ], "attributes" : { } }
{ "id" : 5, "form" : "。", "kana" : "", "lemma" : "。", "pos" : "句点", "features" : [ ], "attributes" : { } } ] } ], "status" : 0, "message" : "" }
もっと詳しく知りたい場合は、こちらをご確認ください。
自然言語処理の説明はまた、別途実施したいと思います。
---
【関連記事】
・自然言語処理(COTOHA)のご紹介
---
【更新履歴】
181203:初期作成
【このカテゴリーの最新記事】
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/8355299
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック