Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
やりたいこと Windows+pythonでMecab/Cabocha/KNPを使う時、楽しようとして「import mecab」や、「import Cabocha」を使うとリコンパイルやら、UTF-8指定やら、面倒くさくなる。 そこで、Sjift-Jis+外部呼び出しで、デフォルトインストールで使えるようにする。 環境 Windows Mecab/Cabocha/Juman/KNPのインストール(SHIFT-JISで) Mecab/Cabocha/Juman/KNPは環境変数に通しておく ソース homefldrを任意の場所に設定すること (2016/12/17 追記:KNPにも対応) import os import subprocess from tempfile import NamedTemporaryFile class JapaneseDependencyRelation:
Ubuntu 18.04 LTSにJUMAN++をインストールする方法についてまとめてみます。 必要なパッケージのインストール checkinstall, ccacheを用いてUbuntuにソフトウェアをインストールする方法 - Qiitaの必要なパッケージのインストールに従って、必要なパッケージのインストールを行います。 sudo apt install google-perftools libgoogle-perftools-dev libboost-devを実行し、必要なパッケージをインストールします。 JUMAN++のインストール JUMAN++(xz圧縮)をダウンロードします。 適当なディレクトリに解凍します。 checkinstall, ccacheを用いてUbuntuにソフトウェアをインストールする方法 - Qiitaのソフトウェアのインストールに従ってインストールを行います
# coding: utf-8 from __future__ import print_function # Only needed for Python 2 import MeCab import CaboCha import sys import os cabocha = CaboCha.Parser("-f1 -n1") m = MeCab.Tagger ("-Ochasen") # For reading from file class getWords(): def readText(self, filename): ###ファイルを展開 with open(filename, 'r', encoding='utf-8') as f: tText = f.read() f.close() return tText # Usage: python training_generat
TypeError: Cannot read property 'length' of undefined at ViterbiBuilder.build (~\node_modules\kuromoji\src\viterbi\ViterbiBuilder.js:53:48) at Tokenizer.getLattice (~\node_modules\kuromoji\src\Tokenizer.js:126:33) at Tokenizer.tokenizeForSentence (~\node_modules\kuromoji\src\Tokenizer.js:81:24) at ~\node_modules\kuromo jin\lib\kuromojin.js:60:26 at <anonymous> catchしてスキップすればいいだけなので困ってはいないが、原因調査。 結
(この記事は Elixir (その2)とPhoenix Advent Calendar 2016 8日目の記事です) 前回は、PhoenixでWebアプリ化して、最後に出現した固有名詞をオウム返しする、多少は言われたことを掴む(文字通り「掴む」だけですが…)貧弱AIを作りましたが、「進撃の巨人」を知らないオールドタイプであることが判明しました 今回は、MeCabの辞書を差し替え、貧弱AIを現代っ子に進化させた後、文章の構成を解析するための「CaboCha」をElixirで使えるようにします CaboChaのElixirモジュールは、世に無いようなので、今回作ってみます なお、本コラム中の「Elixirの書き方」については、あまり細かく説明をしていないので、「ここの書き方が分からない」とか「この処理が何をしているのかよく分からない」等あれば、コメントいただければ、回答します 新語辞書に差し替
5/8追記→【業務連絡w】altさん、コードの色付け、ありがとうございますm(__)m (この記事は Elixir (その2)とPhoenix Advent Calendar 2016 9日目の記事です) 前回は、CaboChaで文章構成を解析するための準備を行いました 今回は、いよいよAIらしいロジックである、意味解析...つまり、文脈から意味を読み取ってアクションする(といってもカンタンなものですが)を作り込んでいきます なお、本コラム中の「Elixirの書き方」については、あまり細かく説明をしていないので、「ここの書き方が分からない」とか「この処理が何をしているのかよく分からない」等あれば、コメントいただければ、回答します 特に今回は、データ変換の書き方が、けっこう難しい領域に入っていきます(&安易にcaseで書いてしまった(-_-u...)ので、遠慮無くご質問いただければと思います
$ juman | knp -tab 雨が降った # S-ID:1 KNP:4.17-CF1.1 DATE:2017/11/23 SCORE:-5.31832 * 1D <文頭><ガ><助詞><体言><一文字漢字><係:ガ格><区切:0-0><格要素><連用要素><正規化代表表記:雨/あめ?雨/う><主辞代表表記:雨/あめ?雨/う> + 1D <文頭><ガ><助詞><体言><一文字漢字><係:ガ格><区切:0-0><格要素><連用要素><名詞項候補><先行詞候補><正規化代表表記:雨/あめ?雨/う><解析格:ガ> 雨 あめ 雨 名詞 6 普通名詞 1 * 0 * 0 "代表表記:雨/あめ 漢字読み:訓 カテゴリ:抽象物" <代表表記:雨/あめ><漢字読み:訓><カテゴリ:抽象物><正規化代表表記:雨/あめ?雨/う><品曖><ALT-雨-う-雨-6-1-0-0-"代表表記:雨/う 漢字読み:
(この記事は Elixir (その2)とPhoenix Advent Calendar 2016 10日目の記事です) 前回までは、文章解析を中心に作ってきましたが、少し方向性を変え、AIに感情のような「状態」を持たせ、その状態次第で返事を変えるようなロジックを作ってみましょう なお、本コラム中の「Elixirの書き方」については、あまり細かく説明をしていないので、「ここの書き方が分からない」とか「この処理が何をしているのかよく分からない」等あればコメントください 人間の感情について Wikipediaには感情に関するこんな一覧がありますが、人間の感情は、複雑な切り口や分類を持っています 中でも、会話に特化した分類というものがあり、感じたことから、どのようなアクションが行われるか、といった整理もあります こういった情報をヒントに、AIの感情というものを設計してみるとしましょう ちなみにこの
(この記事は Elixir (その2)とPhoenix Advent Calendar 2016 11日目の記事です) 前回は、AIに感情のような「状態」を持たせ、その状態次第で返事を変えるようなロジックを作ってみました 最終回である今回は、くだけた会話もそこそこ理解できるようにするための工夫として、幾つかのトリッキーな構文での応答を作り込みます また、Wikipediaから引用するようなロジックも作ってみたいと思います なお、本コラム中の「Elixirの書き方」については、あまり細かく説明をしていないので、「ここの書き方が分からない」とか「この処理が何をしているのかよく分からない」等あればコメントください くだけた会話のパターン ひとまず、以下のような、くだけた会話に対応できるよう、品詞等の構成とリアクションを整理します パターン 品詞等の構成 リアクション
概要 構文解析器 CaboCha は、実際の1文あたりの処理時間はそれなりに速い(計算機の処理速度が大幅に向上している現代では)のですが、起動時に大きなモデルファイルを読み込む必要があるため、起動にはそれなりに時間がかかります。対話エンジンなどのレイテンシが重要なプログラムでは、この起動時間が大きなネックとなる場合があります。1回の応答生成の度に、CaboCha を起動し直していたのでは、応答時間が遅くなってテンポの良い対話ができなくなってしまうわけです。 本稿では、CaboCha をサーバとして常駐させておくことにより、起動時間を節約してレイテンシを改善する方法を示します。 本稿の方法は、サーバとクライアントからなります。サーバ側は、指定されたポートで待ち受ける HTTP サーバとして動作します。/cabocha?文字列 という GET リクエストのみに反応して、指定された文字列を Ca
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く