You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
概要 CC BY-NC-SA 4.0 Deedに基づいて翻訳・公開いたします。 英語記事: Prism in 2024 | Rails at Scale 原文公開日: 2024/04/16 原著者: Kevin Newton CC BY-NC-SA 4.0 Deed | 表示 - 非営利 - 継承 4.0 国際 | Creative Commons 日本語タイトルは内容に即したものにしました。 syntax treeは「構文ツリー」と訳しています。lexerは英ママとしています。 Ruby 3.3.0では、Prismと呼ばれる新しい標準ライブラリがCRubyに追加されました。PrismはRuby言語を解析するパーサーであり、Cライブラリ版(CRubyでもオプションで利用可能)とRubyライブラリ版(Ruby gemとして利用可能)の両方が公開されています。Prismプロジェクトは多くの開発
新幹線変形ロボ シンカリオンというアニメで印象的だった以下のようなメールの一文がありました。 言ってあったか言ってなかったかどっちだったかちゃんと覚えていないけど、確かこの間手巻きパーティをやった時にちょこっと言った気がしなくもなきにしもあらずで多分言ったんじゃないかな、とココまで考えてみたけど、まあ言ってようが言っていまいがそこまで問題ないよね、と思うに至った次第です。 このメールは、アニメで1秒程度しか出ておらず、制作スタッフの遊び心が満載の文です 今回はその文をCabochaを使って構文解析してpydotで表示しました。 やっていることは記事「滝沢カレンの理解不能な文章を言語解析してみた。」の二番煎じです。 構文解析結果 長文だけあって大きい・・・ 思ったよりもよく解析できています。見れば見るほどひどい文ですね。 ソース Pythonで書いています。言語処理100本ノックの合間にちょ
言語処理100本ノック 2015の第4章: 形態素解析を解くためにCabochaを使えるようにしました。係り受け解析に使います。 最初はWindows上に直に構築しようとしたのですが、64bitのWindowsでは挫折しました(可能かもしれませんが、時間をかけたくなかったのでDocker使いました)。Cabochaが32bitのMecabを参照してしまい、エラーとなるからです。 ちなみに他PCのWindows10環境ではWSL上にCabochaをインストールしました。WSLに直接インストールするよりDockerでpullした方が簡単ですね。 参考リンク 自然言語処理100本ノックをWindows/Python3で 第五章を解く:環境構築時におおいに参考にしました MeCab公式サイト:名前の由来は作者の好物だからメカブらしい・・・ Cabocha公式サイト 形態素解析 wikipedia:
言語処理100本ノック 2015の挑戦記録です。環境はUbuntu 16.04 LTS + Python 3.5.2 :: Anaconda 4.1.1 (64-bit)です。過去のノックの一覧はこちらからどうぞ。 第5章: 係り受け解析 夏目漱石の小説『吾輩は猫である』の文章(neko.txt)をCaboChaを使って係り受け解析し,その結果をneko.txt.cabochaというファイルに保存せよ.このファイルを用いて,以下の問に対応するプログラムを実装せよ. 48. 名詞から根へのパスの抽出 文中のすべての名詞を含む文節に対し,その文節から構文木の根に至るパスを抽出せよ. ただし,構文木上のパスは以下の仕様を満たすものとする. 各文節は(表層形の)形態素列で表現する パスの開始文節から終了文節に至るまで,各文節の表現を"->"で連結する 「吾輩はここで始めて人間というものを見た」とい
言語処理100本ノック 2015の挑戦記録です。環境はUbuntu 16.04 LTS + Python 3.5.2 :: Anaconda 4.1.1 (64-bit)です。過去のノックの一覧はこちらからどうぞ。 第5章: 係り受け解析 夏目漱石の小説『吾輩は猫である』の文章(neko.txt)をCaboChaを使って係り受け解析し,その結果をneko.txt.cabochaというファイルに保存せよ.このファイルを用いて,以下の問に対応するプログラムを実装せよ. 49. 名詞間の係り受けパスの抽出 文中のすべての名詞句のペアを結ぶ最短係り受けパスを抽出せよ.ただし,名詞句ペアの文節番号が i と j ( i < j )のとき,係り受けパスは以下の仕様を満たすものとする. 問題48と同様に,パスは開始文節から終了文節に至るまでの各文節の表現(表層形の形態素列)を"->"で連結して表現する
Ubuntu 14.04 向け、日本語の自然文係り受け解析を行う CaboCha を Python 2.7 から使用できるようにするための環境構築をメモ書き。 まず CaboCha の下層で形態素解析を行う MeCab が先に必要。Ubuntu 14.04 であれば apt-get で MeCab 0.996 をインストールできる。 $ sudo apt-get install build-essential mecab libmecab-dev mecab-ipadic mecab-ipadic-utf8 python-mecab $ mecab --version mecab of 0.996 $ mecab-config --version 0.996 $ mecab すもももももももものうち すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,
やりたいこと 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:
#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_generator
(この記事は 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...)ので、遠慮無くご質問いただければと思います
(この記事は 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
root権限がない状況でCaboCha1をインストールする方法です.Cabochaをインストールするためには CRF++ (0.55以降)2 MeCab (0.993以降)3 が必要なので事前に併せてインストールしています. 検証環境 Ubuntu 16.04.3 LTS インストール場所の作成 CRF++,MeCab,CaboChaをインストールするための場所を~/usrに作ります. echo "export PATH=$HOME/usr/bin:$PATH" >> ~/.bashrc echo "export LD_LIBRARY_PATH=${HOME}/usr/lib" >> ~/.bashrc source ~/.bashrc mkdir $HOME/usr wget 'https://docs.google.com/uc?export=download&id=0B4y35FiV
はじめに cabochaという係り受け解析を行えるライブラリを見つけたのでとりあえず遊んでみようと軽い気持ちで触り始めたらインストールにすら苦戦… とりあえず自分の環境ではこうすれば出来ましたっていうのを書いておこうと思います。 環境 windows 10 VirtualBox 5.1 Ubuntu16.04 LTS python 3.5.2 ※windowsマシン上のVMにUbuntuを入れています 本題 MeCabと辞書データのダウンロード ターミナルで以下のコマンドを実行する $ sudo apt-get -y install mecab libmecab-dev mecab-ipadic-utf8 mecab-jumandic-utf8
英語だと、nltkライブラリを活用すればいいし、そもそも英語は単語ごとに区切られているので、単語をそのまま特徴ベクトルに変換して機械学習すればいい。 日本語の場合は、 nltkライブラリで扱える範囲が限定されている 形態素解析(=単語ごとに分割して、品詞タグを付与)して、 構文解析(=文節ごとに区切って係り受けの関係を付与)するのが必要 ということで、日本語を扱う上でのライブラリのインストールめもです。 日本語の場合、下記のツールが利用できます。 形態素解析 MeCab、JUMAN++、kuromoji、など 構文解析 CaboCha、KNP、など 今回の投稿は、 形態素解析として、MeCab 構文解析として、CaboCha をpythonから利用するためのインストールメモです。 実際にこれらのツールをpythonで利用する場合のコードサンプルはこちら -> pythonで日本語文の感情分
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く