Skip to content
PHPで使える文章要約
PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
cli
config
lib
tool add wakati for model Jan 6, 2020
.gitignore
LICENSE
README.md edit README Jan 15, 2020
composer.json
composer.lock
index.php edit index(add output pattern select setting) Jan 15, 2020

README.md

1.PHPで使える文章要約

2.何ができるの?

PHPで入力した文章の要約ができます。要約は抽出的要約と呼ばれるものです。
抽出的要約とは、対象となる文章に含まれる文を組み合わせることで要約文を作るものです。

3.スタートガイド

3.1 必要条件

  1. PHPとApacheが動く環境
  2. MeCab向けにC++ コンパイラ(g++など)とiconv(libiconv)
  3. UTF-8のモデル生成用の日本語テキストデータ(以降「モデル生成用テキスト」)

3.2 インストール(使用するツール群)

  1. php-sentence-summarizationを自分の環境に配置
  2. MeCabと辞書のインストール(後述)
  3. php-mecabのインストール(後述)
  4. php-MLのインストール(後述)

3.2.1 MeCabと辞書のインストール

MeCabと使用する辞書をインストールします。

  1. MeCabのインストール こちらに沿ってインストールする
    ※MacでHomebrewが使える場合は下記を実行してください。

    $ brew install mecab
    
  2. 辞書のインストール
    MeCabで使用可能な辞書を入手する。
    使用するのは1つですが、名前が知られている辞書を記載します。

    2.1 IPA 辞書
    mecab-ipadicのインストール方法はこちら
    ※MacでHomebrewが使える場合は下記を実行してください。

    $ brew install mecab-ipadic
    

    2.2 mecab-ipadic-NEologd

  3. 実行

下記コマンドで実行できれば正常にインストールが完了しています。 ※mecab-ipadic-NEologdの場合は辞書のパスを指定してください

$ echo "今日は何の日" | mecab [-d 辞書のパス]
今日	名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
何	名詞,代名詞,一般,*,*,*,何,ナニ,ナニ
の	助詞,連体化,*,*,*,*,の,ノ,ノ
日	名詞,非自立,副詞可能,*,*,*,日,ヒ,ヒ
EOS

3.2.2 php-mecabのインストール

# cd /usr/local/src/
# git clone https://github.com/rsky/php-mecab.git
# cd /usr/local/src/php-mecab/mecab
# phpize
# ./configure
# make
# make install

# vi /etc/php.ini
(環境により異なる)
下記コードを記載
extension=mecab.so
mecab.default_dicdir=[辞書パス]

3.2.3 php-MLのインストール

下記コマンドを実行

$ composer install

3.3 モデル生成用テキストを用いたモデル生成

大きく分けて事前処理と本処理に分かれます。

3.3.1 事前処理

「モデル生成用テキスト」に対してMeCabを用いて分かち書き(原形集約)をします。
コマンドラインでの実行は下記になります。
$ php tool/ml_model_wakati.php [モデル生成用テキスト] [出力ファイルパス]

入力ファイル例

テストですが何か

出力ファイル例

テスト です が 何 か

3.3.2 本処理(モデル生成)

分かち書き済みのモデル生成用テキストを下記コマンドの入力ファイルとします。

$ php tool/ml_model_create.php [入力ファイルパス] [出力ファイルパス]

※メモリエラーになる場合はphp.iniのmemory_limitを増やしてください。

3.4 モデルを用いた文章要約

config/example.model.phpをコピーしてmodel.phpを作成
生成したモデルをmodel_pathで指定する

3.4.1 ブラウザを用いた方法

/index.phpにアクセスしてください。
「要約対象」に要約対象の文章を入力し、「出力パターン」で「要約割合(%)」または「要約文(文)」を選択。
フォームに数値を入力して「submit」をクリックすると結果が下部に表示されます。

3.4.2 コマンドラインから実行

下記コマンドを実行してください。
出力パターン(per:要約割合またはsen:要約文)を指定できます。

$ php cli/txt2sumally.php [要約対象のテキストファイル] per [要約割合(%)]
$ php cli/txt2sumally.php [要約対象のテキストファイル] sen [要約文(文)]

著者

TatsuyaUshioda

License

Apache License, Version 2.0 詳しいことはLICENSEに書いてます。

You can’t perform that action at this time.