Cabocha

CaboChaで始める係り受け解析

注意 著者は自然言語処理(NLP)初心者です。 記載内容に間違いがある場合は、コメントを頂けると助かります。 MeCabの後には、何で遊ぼう? CaboCha(南瓜) CaboCha(南瓜)とは? CaboCha/南瓜: Yet Another Japanese Dependency Structure Analyzer CaboCha は, SVM(Support Vector Machines) に基づく日本語係り受け解析器です。 […]

pythonで言語処理するためのライブラリインストール方法(Mecab/Cabocha)

英語だと、nltkライブラリを活用すればいいし、そもそも英語は単語ごとに区切られているので、単語をそのまま特徴ベクトルに変換して機械学習すればいい。 日本語の場合は、 nltkライブラリで扱える範囲が限定されている 形態素解析(=単語ごとに分割して、品詞タグを付与)して、 構文解析(=文節ごとに区切って係り受けの関係を付与)するのが必要 ということで、日本語を扱う上でのライブラリのインストールめもです。 日本語の場合、下記のツールが利用 […]

CaboCha をサーバ化して起動時間を節約する

概要 構文解析器 CaboCha は、実際の1文あたりの処理時間はそれなりに速い(計算機の処理速度が大幅に向上している現代では)のですが、起動時に大きなモデルファイルを読み込む必要があるため、起動にはそれなりに時間がかかります。対話エンジンなどのレイテンシが重要なプログラムでは、この起動時間が大きなネックとなる場合があります。1回の応答生成の度に、CaboCha を起動し直していたのでは、応答時間が遅くなってテンポの良い対話ができなくな […]

Elixirで弱々しいAI#3「MeCab辞書差し替え |> CaboChaモジュールの作成」

(この記事は Elixir (その2)とPhoenix Advent Calendar 2016 8日目の記事です) 前回は、PhoenixでWebアプリ化して、最後に出現した固有名詞をオウム返しする、多少は言われたことを掴む(文字通り「掴む」だけですが…)貧弱AIを作りましたが、「進撃の巨人」を知らないオールドタイプであることが判明しました 今回は、MeCabの辞書を差し替え、貧弱AIを現代っ子に進化させた後、文章の構成を解析するため […]

Elixirで弱々しいAI#5「感情のコーディング」

(この記事は Elixir (その2)とPhoenix Advent Calendar 2016 10日目の記事です) 前回までは、文章解析を中心に作ってきましたが、少し方向性を変え、AIに感情のような「状態」を持たせ、その状態次第で返事を変えるようなロジックを作ってみましょう なお、本コラム中の「Elixirの書き方」については、あまり細かく説明をしていないので、「ここの書き方が分からない」とか「この処理が何をしているのかよく分からな […]

Elixirで弱々しいAI#4「文脈から意味を読み取る」

5/8追記→【業務連絡w】altさん、コードの色付け、ありがとうございますm(__)m (この記事は Elixir (その2)とPhoenix Advent Calendar 2016 9日目の記事です) 前回は、CaboChaで文章構成を解析するための準備を行いました 今回は、いよいよAIらしいロジックである、意味解析...つまり、文脈から意味を読み取ってアクションする(といってもカンタンなものですが)を作り込んでいきます なお、本コ […]

Elixirで弱々しいAI#6「くだけた会話も理解する」

(この記事は Elixir (その2)とPhoenix Advent Calendar 2016 11日目の記事です) 前回は、AIに感情のような「状態」を持たせ、その状態次第で返事を変えるようなロジックを作ってみました 最終回である今回は、くだけた会話もそこそこ理解できるようにするための工夫として、幾つかのトリッキーな構文での応答を作り込みます また、Wikipediaから引用するようなロジックも作ってみたいと思います なお、本コラム […]