タグ

ブックマーク / php-archive.net (2)

  • [PHP]自然言語処理(形態素解析)を利用した簡易全文検索 | PHP Archive

    ある文字列が文章内に存在するかを確認するだけなら mb_strpos() で調べることができますが、完全一致なので少しでも言い回しを変えると一致しなくなります。 例えば「東京は日の首都です」という文章と「日の首都は東京です」は人間の感覚ではほとんど同じですがコンピュータにとってイコールではありません。 検索に曖昧さを持たせるには、文章を小さな単位に分解し、それがある程度含まれていれば一致したとみなすという手法が一般的で、今回は形態素解析を利用した全文検索を行ってみます。 このサンプルの動作には igo-php が必要です。 過去の記事を参考に環境を準備して下さい。 <?php require_once 'lib/Igo.php'; $keyword = '東京は日の首都です'; $text = array( 'これは日語で書かれた文章です', '日の首都は東京です', '日語に

  • [PHP]文章を解析して単語ごとに分解する(形態素解析) | PHP Archive

    語は英語と違い、単語同士が明確に区切られていないので、一つ一つの単語の品詞を調べる場合は、いわゆる「分かち書き」をする必要があります。 分かち書きとは次のように単語を分けて書くことです。 これは日語です → これ | は | 日語 | です プログラミングで分かち書きを行うには大変な労力がかかるので、ゼロから開発するのは現実的ではありません。 簡単に行う方法の一つは Yahoo! API を利用することです。 クエリを送るだけで簡単に解析結果を受け取ることができるので便利ですが、リクエスト回数に上限があったり、クレジット表記が義務付けられたりするので、状況によっては使いにくくなります。 もう一つはサーバーに MeCab をインストールする方法です。 Mecab はオープンソースの形態素解析エンジンで、様々な分野で活用されている実績あるプログラムです。 可能ならこちらを導入するのがベ

  • 1