4

PHPコードでJavaベースの OpenNLP ライブラリを使用する必要があります。たとえば、PHP コード内のテキスト変数を分析するには、Sentence Detector コンポーネント (en-sent.bin) を使用する必要があります。

そのドキュメントでは、その API は次のようにJavaコードからアクセスできます。

InputStream modelIn = new FileInputStream("en-sent.bin");

try {
  SentenceModel model = new SentenceModel(modelIn);
}
catch (IOException e) {
  e.printStackTrace();
}
finally {
  if (modelIn != null) {
    try {
      modelIn.close();
    }
    catch (IOException e) {
    }
  }
}

PHPで同じことを行うにはどうすればよいですか?

言い換えれば、上記のJavaコードに相当するPHPは何ですか?

4

2 に答える 2

2

私が実装しようとしている解決策は、Java ベースのバックエンドを作成し (OpenNLP ツールの出力だけではうまくいかないため)、PHP の execute 関数を使用してそれを実行することです。さらに高速にしたい場合は、デーモンにして、PHP をデーモンに接続し、データを送信して返すようにすることをお勧めします (おそらく UNIX ソケットになります)。ちょっと複雑ですが、PHP/Java Bridge よりもエラーが発生しにくいようです。

于 2014-05-26T22:30:25.030 に答える
1

OpenNLP にアクセスするには、PHP API が必要です。クイック検索では何も表示されません。私が考えることができる唯一の他のことは、ある種の PHP/Java Bridge を使用することですが、それはより複雑です。たとえば、http://php-java-bridge.sourceforge.net/pjb/を参照してください。

于 2012-11-20T13:58:43.933 に答える