文字認識結果から名詞のみを抽出する

きっぷをOCRかけた結果から、「発駅は国府である」という情報を抽出したい、で終わったのが前回。

駅名は名詞。
なので、
認識結果から名詞を抽出

名詞の中から駅名を抽出

きっぷの位置情報から発駅・着駅を判定

とするとよさそう。
人間の目の動きもそんな感じの気がするし。

じゃあ、どうやって名詞を抽出しようか?
ということで、自然言語処理をかけてみましょう。
今回使ってみるのは、NTT印のCOTOHA API。

この中の構文解析APIを使ってみます。
Google Vision APIで、発駅の国府が含まれている認識結果は
「FIRSTCLASSCARTICKET360.国府」でした。日本語として体をなしていませんが、果たして?


アカウント登録して、リファレンスに従って実行!

{
    "result": [
        {
            "chunk_info": {
                "id": 0,
                "head": 1,
                "dep": "D",
                "chunk_head": 1,
                "chunk_func": 1,
                "links": []
            },
            "tokens": [
                {
                    "id": 0,
                    "form": "firstclasscarticket",
                    "kana": "エフアイアールエスティーシーエルエーエスエスシーエーアールティーアイシーケーイーティー",
                    "lemma": "firstclasscarticket",
                    "pos": "名詞",
                    "features": [
                        "Undef"
                    ],
                    "attributes": {}
                },
                {
                    "id": 1,
                    "form": "360",
                    "kana": "サンロクゼロ",
                    "lemma": "360",
                    "pos": "Number",
                    "features": [],
                    "dependency_labels": [
                        {
                            "token_id": 0,
                            "label": "compound"
                        },
                        {
                            "token_id": 2,
                            "label": "punct"
                        }
                    ],
                    "attributes": {}
                },
                {
                    "id": 2,
                    "form": ".",
                    "kana": "",
                    "lemma": ".",
                    "pos": "句点",
                    "features": [],
                    "attributes": {}
                }
            ]
        },
        {
            "chunk_info": {
                "id": 1,
                "head": -1,
                "dep": "O",
                "chunk_head": 0,
                "chunk_func": 0,
                "links": [
                    {
                        "link": 0,
                        "label": "other"
                    }
                ]
            },
            "tokens": [
                {
                    "id": 3,
                    "form": "国府",
                    "kana": "コクフ",
                    "lemma": "国府",
                    "pos": "名詞",
                    "features": [],
                    "dependency_labels": [
                        {
                            "token_id": 1,
                            "label": "nmod"
                        }
                    ],
                    "attributes": {}
                }
            ]
        }
    ],
    "status": 0,
    "message": ""
}

お、とりあえず「国府」が「名詞」と判定されましたね。
(「firstclasscarticket」これも名詞と判定されているけど。。。)

意味を成していない文字列から名詞の抽出ができました。
さて、次のステップへ。

※ 試してみたい自然言語処理エンジンのメモ



この記事が気に入ったらサポートをしてみませんか?