wordpressでファイル作成のtouch()を使った場合

$file_name = ‘./data.txt’;

touch( $file_name );

でdata.txtを作成すると、作成されない…?

if( file_exists($file_name) ){

echo(‘ファイルが存在しています’);

}

とすると、確かにファイル自体は存在する。しかし、無い。

探しました、目視で。

ありました。

root直下…何故に…。(http://15g.jp/data.txt)

wordpressの恐ろしさを垣間見ました。

touch()、fopen()のファイルパスも取れないことがわかりました(普通取らないからね)。

このおかげでfopen等を使っているコード全般の挙動がおかしいことに。ライブラリもそのままでは使えない。

ファイルハンドラがおかしくなるのか、パーマリンクか、何が影響してるんだろう。

形態素解析を使う その4 igoを使う

テスト用のコードは、以下です。

<?php
require_once “Igo.php”;
$igo = new Igo( dirname(__FILE__) .”/ipadic”, “UTF-8”);
$str = “本日は晴天なり。すもももももももものうち”;
$result = $igo->parse($str);
$result2 = $igo->wakati($str);
var_dump($result);
var_dump($result2);

foreach($result as $key){
echo $key->surface;
echo “<br>”;
}
?>

これだけで、以下の内容を得ることができます。

mecabなどより簡単に導入できると思います。

array(12) {
[0]=>
object(Morpheme)#30 (3) {
[“surface”]=>
string(6) “本日”
[“feature”]=>
string(60) “名詞,副詞可能,*,*,*,*,本日,ホンジツ,ホンジツ”
[“start”]=>
int(0)
}
[1]=>
object(Morpheme)#39 (3) {
[“surface”]=>
string(3) “は”
[“feature”]=>
string(36) “助詞,係助詞,*,*,*,*,は,ハ,ワ”
[“start”]=>
int(2)
}
[2]=>
object(Morpheme)#36 (3) {
[“surface”]=>
string(6) “晴天”
[“feature”]=>
string(54) “名詞,一般,*,*,*,*,晴天,セイテン,セイテン”
[“start”]=>
int(3)
}
[3]=>
object(Morpheme)#44 (3) {
[“surface”]=>
string(6) “なり”
[“feature”]=>
string(62) “助動詞,*,*,*,文語・ナリ,基本形,なり,ナリ,ナリ”
[“start”]=>
int(5)
}
[4]=>
object(Morpheme)#51 (3) {
[“surface”]=>
string(3) “。”
[“feature”]=>
string(33) “記号,句点,*,*,*,*,。,。,。”
[“start”]=>
int(7)
}
[5]=>
object(Morpheme)#40 (3) {
[“surface”]=>
string(9) “すもも”
[“feature”]=>
string(51) “名詞,一般,*,*,*,*,すもも,スモモ,スモモ”
[“start”]=>
int(8)
}
[6]=>
object(Morpheme)#32 (3) {
[“surface”]=>
string(3) “も”
[“feature”]=>
string(36) “助詞,係助詞,*,*,*,*,も,モ,モ”
[“start”]=>
int(11)
}
[7]=>
object(Morpheme)#38 (3) {
[“surface”]=>
string(6) “もも”
[“feature”]=>
string(42) “名詞,一般,*,*,*,*,もも,モモ,モモ”
[“start”]=>
int(12)
}
[8]=>
object(Morpheme)#34 (3) {
[“surface”]=>
string(3) “も”
[“feature”]=>
string(36) “助詞,係助詞,*,*,*,*,も,モ,モ”
[“start”]=>
int(14)
}
[9]=>
object(Morpheme)#48 (3) {
[“surface”]=>
string(6) “もも”
[“feature”]=>
string(42) “名詞,一般,*,*,*,*,もも,モモ,モモ”
[“start”]=>
int(15)
}
[10]=>
object(Morpheme)#33 (3) {
[“surface”]=>
string(3) “の”
[“feature”]=>
string(36) “助詞,連体化,*,*,*,*,の,ノ,ノ”
[“start”]=>
int(17)
}
[11]=>
object(Morpheme)#49 (3) {
[“surface”]=>
string(6) “うち”
[“feature”]=>
string(56) “名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ”
[“start”]=>
int(18)
}
}
array(12) {
[0]=>
string(6) “本日”
[1]=>
string(3) “は”
[2]=>
string(6) “晴天”
[3]=>
string(6) “なり”
[4]=>
string(3) “。”
[5]=>
string(9) “すもも”
[6]=>
string(3) “も”
[7]=>
string(6) “もも”
[8]=>
string(3) “も”
[9]=>
string(6) “もも”
[10]=>
string(3) “の”
[11]=>
string(6) “うち”
}
本日

晴天

なり

すもも

もも

もも

うち

 

 

 

形態素解析を使う その3 igoの準備

そんなわけで、懸命な方はvpsを選んでmecabを使うことでしょう。

レンタルサーバーでIgoは少数派かもしれません。

ですがどちらにしろ、やることは同じです。形態素解析です。

本来ならIgoもjarの解凍、makeでコンパイル…という手順を踏まなくてはいけないのですが、

PHPで書きなおしてくれた方がいました。

mecab作者の工藤拓さん、

Igoの作者さん、

を使いやすくしてくれたsiahrさんに感謝、感謝。

早速入手しましょう。

…その前に。

FTPソフトは「バイナリ転送」に設定しておいて下さい。

無題

でないと、ファイルの内容が変わる可能性があります、というか、変わってしまい正常に動作しなくなります。

準備ができればダウンロード、そして自分のサーバーにアップロードしましょう。

Igoは下記URLからダウンロードし、手順に従ってフォルダ、ファイルを設置して下さい。

http://blog.infinite.jp/archives/46

そんなに難しくはないと思います。

また、dicファイルは私がコンパイルしておきました。

DLはこちらから。

以上をまとめると、以下のようなディレクトリ構造になります。

無題

 

形態素解析を使う その2 サーバー選び

理由は、一つ。

レンタルサーバーでスーパーユーザーになれなかったからです。

…ちょっとアレなのですが、こんなところで躓いてしまった人のためにあえて失敗を公開します。

まずレンタルサーバーというものの説明から。

レンタルサーバーは大抵linuxで動いています。linuxはコア、そのコアを使用しているOSがCentOS、Red Hatといった感じです。

そしてその最高の権限、何でもできるのが管理者権限という権限なのですが、レンタルサーバーではその権限を持つことができません。

mecabのインストールに当ってはその管理者権限が必要なのです。

管理者権限を行使するためには

・VPS(バーチャルプライベートサーバ)

・専用サーバー

のいずれかに申し込まなければいけません。vpsなら年間1万円ぐらいです。

高機能を求めるならVPSの一番安いものでいいです。そっちのほうが間違いなく楽でしょう。

それをケチったために、大変な労力を要することになりました。

おかげさまでそれなりに勉強になりましたが…

そんなわけで、今でもレンタルサーバーを使っています。

サーバーの種類、意外と重要なのです。

形態素解析を使う その1 前置き

このブログの最終目的は、人工知能を作ることにあります。

できるわけない?

実はもう脳の解析はかなりの部分まで進んでいます。

ショウジョウバエの脳は解析し尽くされ、猫の脳も半分程度まで解析が進んでいるそうです。

きっと私以外の誰かが作るんだろうなぁ、とも思いますが、できれば自分の手で創りあげたいというのが本音です。

そんなことを考えつつ、まずは形態素解析から始めようと思います。

使うのは「mecab」…ではありません

「Igo」です。

関連サイト

mecab:

http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html

Igo:

http://igo.sourceforge.jp

また、yahooにも形態素解析のできるAPIが提供されています。一日辺りの件数やサイズ制限などもあります。POSTに関する知識が少々必要です。

http://developer.yahoo.co.jp/webapi/jlp/ma/v1/parse.html

NGワード集(掲示板運営者向け)

ngワード集(掲示板運営者向け)

お小遣いサイトがほとんどです。主に国内からの書き込みです。

また、ファッション関係でなければブランド名も書き込み禁止にしておいたほうがよいでしょう。外国からのスパムはヴィトンが安く買えますよ、といった内容のものが多いです。

moppy
yorutomo1
blog77
blog-entry-1376
maneking
スマートCM
GUCCI
CHANEL
大量入荷
p://0mac.com
ROLEX
ロレックス
ss-goo
watch-rolex
ssguccishop
rHlBJTcfC3E
gdata_player
mobadmel
u7r3CJDeKcne
kakinnainai
ASMODEUS
moneyget
pcmax
pazudoraf
nobune
グッチ
ヴィトン
VUITTON
ボード開通
37730752
残り申請
krt.eek
pazudora-friend
pointi.jp
https://play.google.com/store/apps/details?id=jp.co.appdisco.adlatte
pwebmoney
manekin
mtyo.jp/
ck.jp.
click.
dietna
go.war
h.acce
moppy.
osaifu
poimon
point
chance
chobir
dreamm
dream-
fruitm
gendam
manpuk
megaca
da-po
poney.
tremii
wak2ma
m.hapi
cmsite
gpoint
lifemi
netmil
ptget
エルネ
ポイントミュージアム
ポイントランド
ポイントアイランド
ABCポイント
ゲットマネー
Warau.JP
ECナビ
予想ネット
ポイントタウン
モッピー
お財布.com
ポイントモンキー
ポイントインカム
Pointier
チャンスイット
ちょびリッチ
ドリームメール
ドリームプライズ!
フルーツメール
げん玉
まんぷくじま
メガキャッシュバンク
ぱんだポイント
タメトク
ポイントワールド
PONEY!
Tremiiトレミー
わくわくメール
ハピタス
CMサイト
Gポイント
ライフマイル
ネットマイル
p://bit.ly
p://goo.gl
p://is.gd
p://tinyurl.com
p://inf.to
p://p.tl
p://url.ie
p://yep.it
p://tiny.cc
p://moourl.com
p://xrl.us
p://9oo.jp
p://jump.cx
p://num.to
p://mcaf.ee
p://snipurl.com
p://twurl.nl
p://j.mp
ps://s.amebame.com/#welcome
p://asuka3767
blogspot
ロックジョイ
lockjoy
アドラッテ
adlatte
ごろうんこ
www4.hp-ez.com
h593h5fu
p://atena.ldblog.jp
p://123direct.info
55617
p://www.re-l.com
my.formman.com/form/pc
ポイント
クレジットカード
TiTR0Foh6jBl13td
pazu777dora
game-news.biz
galoo.jp
011333ccaa89106eb8e46257393baf68
247205237
ttp://rangerfiction.net/En/UGG/UggBailey/
free
sale
uggs
here
this
bailey
what
casino
gambling
poker
blackjack
slots
Viagra
Levitra
Phentermine
Butalbital
Fioricet
Alprazolam
acetaminophen
carisoprodol
Soma
Ultracet
Tramadol
Ultram
acetaminophen
cyclobenzaprine
Flexeril
Celebrex
Vioxx
Zanaflex
prescription
business
government
grants
reverse
mortgage
loan
Refinancing
golan67
Moncler
Wall
curbside
service
denmark
Nearly
individuals
could
knowledge
average
period
treatment
definately
summary
websites
moncler
魔法石
peps
loveavr
ilfan
apbo2010.com/category/index_ugg139.htm
strike
invitation
六高台
madmad0987
お小遣いアプリ
アフィリエイト
各種スマホ端末アプリ
RMT買い取り
アプリトレード
apptrade.client
パカポン
de.mon
mon.st
RyEq2
168073354
auction.rakuten

wordpressを後悔せずに始めるために

-1.とりあえず始める。

無料です。とりあえず始めましょう!

タイトルは「テスト」で、一旦消すつもりで始めて下さい。

テーマはTwenty Twelvが無難でオススメです。SEOにも強く、癖がない。ちなみに私はずっとこれを使い続けています。

0.一旦消す。

そして一度消す。

windowsみたいに変なゴミは残りません。

もちろん上手く行けばそのまま初めても構いません。案ずるよし産むがやすし、とりあえずつくってみましょう。

1.マルチサイト化。

今はよくわからなくてもいいです。

とりあえず手順に従い、マルチサイトの構築をしておくと別サイトを運営する時にものすごく楽になります。

下のURLなどを参考に、ぜひ作っておいて下さい。

http://wp.fsv.jp/guide/multisite-subdirectory/

2.子テーマを使う。

子テーマとは、自分で元のテーマを上書き、アレンジを施す機能です。

極端な話、まっさらにすることも可能です(普通はあまりしませんが)

ダウンロードしたテーマをそのまま編集するのはNGです。テーマのバージョンアップで上書きされる可能性があります。

作り方は、以下のサイトをご参考にして下さい。

http://wpdocs.sourceforge.jp/%E5%AD%90%E3%83%86%E3%83%BC%E3%83%9E

3.カスタム投稿、カスタムフィールドは…

通常のブログを運営するにあたっては、特に必要ないでしょう。この項は読み飛ばして下さい。

必要なサイトの一例としては

・商品や分野の多いサイト。小売など。

・ゲーム攻略サイトなど。

が当てはまります。

カスタムフィールドは本当に便利です。早めの導入をおすすめします。

Custom Post Type UIというプラグインをインストールすると簡単にカスタム投稿が使えるようになります。

Custom Field Templateをインストールすればカスタムフィールドが使えるようになります。

とりあえずカスタム投稿とは、入力欄・入力項目をカスタマイズするものと思えばokです。繰り返しますが、一般的なブログではほとんど必要ありません。

4.カスタムタクソノミーを使う?

タクソノミーとは分類の意味です。カテゴリのカテゴリを使うことができるようになり、ものすごく柔軟にサイトを組み立てることができるようになります。

カスタム投稿と同じように、単純なブログであればほとんど必要ありません。

また、カスタム投稿と違い、投稿し終わった記事にいつでもカテゴリを加える事はできます。

必要性を感じなければ後回しにしてもよいでしょう。