Public Repository

Last pushed: a year ago
Short Description
GeoNLPをCentOS7入れ、Apache2.4、PHP5.6そしてGeoNLPのPHP拡張機能が入れてあります。
Full Description

GeoNLP on CentOS7

CentOS7にApache2.4とPHP5.6をインストールしGeoNLPのPHP拡張モジュールを有効にした状態のものです。
GeoNLPは文章の中から地名に関するキーワードを拾い上げ住所や緯度経度を自動的に抽出するものになります。

公式サイトからの引用ですが以下の様になります。

$ echo '{"method":"geonlp.parse","params":["沖縄県の南海上で台風が発生しました"], "id":1}' | geonlp_api
{"error":null,"id":1,"result":[{"geo":{"geometry":{"coordinates":[127.679630,26.213300],"type":"Point"},"properties":{"address":"那覇市泉崎1-2-2","body":" 沖縄","body_kana":"オキナワ","code":{"jisx0401":"47","lasdec":"470007"},"dictionary_id":28,"entry_id":"47","fullname":"沖縄県","geonlp_id":"GzfYzt","kana":"オキナワケン","latitude":"26.2133","longitude":"127.67963","name":"沖縄県","ne_class":"都道府県","phone":"098-866-2333","suffix":["県",""],"suffix_kana":["ケン",""]},"type":"Feature"},"probability":0.500000,"surface":"沖縄県"},{"surface":"の南 海上で台風が発生しました"}]}

実際にはHTTP経由でPHPを通して地名を返すような用途を想定しています。

GeoNLPについての詳細は公式サイトをご確認ください。
https://geonlp.ex.nii.ac.jp/docs/developers/index.html

GeoNLPのPHP拡張機能については以下に詳しく載っています。
GeoNLP PHP API リファレンス
https://geonlp.ex.nii.ac.jp/docs/developers/system_developers/software/php_api.html

DAMS、GDAL が有効になっているので活用範囲は広いかと思います。

ついでにMecabのも拡張モジュールも有効になっています。

使い方

# cat << EOF > /usr/local/apache2/htdocs/geonlp-test.php
<?php
\$gs = new GeonlpService();
\$msg = "今日は渋谷に行きます。";
\$request = array("method"=>"geonlp.parse", "params"=>array(\$msg), "id"=>1);
\$response = \$gs->proc(json_encode(\$request));
\$result = json_decode(\$response, true);
print_r(\$result);
EOF
# /usr/local/apache2/bin/apachectl -k start 
# curl localhost/geonlp-test.php
Array
(
    [error] =>
    [id] => 1
    [result] => Array
        (
            [0] => Array
                (
                    [surface] => 今日は
                )

            [1] => Array
                (
                    [geo] => Array
                        (
                            [geometry] => Array
                                (
                                    [coordinates] => Array
                                        (
                                            [0] => 139.69719
                                            [1] => 35.66348
                                        )

                                    [type] => Point
                                )

                                    [type] => Point
                                )

                            [properties] => Array
                                (
                                    [address] => 渋谷区宇田川町1−1
                                    [address_level] => 3
                                    [body] => 渋谷
                                    [body_kana] => シブヤ
                                    [code] => Array
                                        (
                                            [jisx0402] => 13113
                                            [lasdec] => 131130
                                        )

                                    [dictionary_id] => 29
                                    [entry_id] => 13113
                                    [fullname] => 渋谷区
                                    [geonlp_id] => AffmTV
                                    [hypernym] => Array
                                        (
                                            [0] => 東京都
                                        )

                                    [kana] => シブヤク
                                    [latitude] => 35.66348
                                    [longitude] => 139.69719
                                    [name] => 渋谷区
                                    [ne_class] => 市区町村/特別区
                                    [suffix] => Array
                                        (
                                            [0] => 区
                                            [1] =>
                                        )

                                    [suffix_kana] => Array
                                        (
                                            [0] => ク
                                            [1] =>
                                        )

                                    [tel] => 03-3463-1211
                                )

                            [type] => Feature
                        )

                    [surface] => 渋谷
                )

            [2] => Array
                (
                    [surface] => に行きます。
                )

        )
)
Docker Pull Command
Owner
youheinakagawa