忍者ブログ

開発者ブログ

忍者ブログの元開発者が送る愛と感動と涙のスペクタクル。プログラムの開発日誌やタダの日記です。

Shinobiライティング GWキャンペーン



GW限定のキャンペーンが5月1日から始まりました。
初日はとても盛況だったようで、30,000文字オーバーの方が数名おりました。
(普段は3万超えると1位になることがほとんど。)

今回のキャンペーンは「投稿文字数によるデイリーランキング」です。
毎日AM0時~23時59分59秒までの投稿でランキングを行い、毎日1位~20位の方にポイントをプレゼントする企画です。
無理のない範囲でご参加いただければ幸いです。

拍手[1回]

PR

Shinobiライティングにおける記事のチェック

こんばんは。misneyです。
先日お陰様で40歳になりました。
misneyは近頃、40歳男性として一人称をmisneyとするのは如何なものだろうと考えてみたりみなかったりしております。

本日は私が従事しているShinobiライティングにおける記事のチェックに関する記事を書こうと思います。

記事チェッカーの話

3月中旬~つい先日まで、投稿フォームに「記事チェッカー」というものを導入していました。
作成いただいた記事を投稿する前に「承認に関するチェック」と「誤字脱字のチェック」の2種類のチェックを行うものです。

記事チェッカーには3種類の目的がございます。

1.ライター様の承認率の向上
2.クライアント様への記事品質の向上
3.承認率向上によるオペレーターのリソース削減

記事チェッカーを導入した結果、評判は上々(私調べ)だったのですが、想定よりも効果が無かった点、近日中により高度な構文チェックを近日中に導入する予定がございまして、一時的に「承認に関するチェック」を外させていただきました。

より高度な構文チェックの導入がある程度進みましたら、また承認に関するチェックを導入したいと考えています。

高度な構文チェックの話

記事チェック導入後、個人的には初めて投稿された記事をじっくりと拝見しました。
残念ながら承認されなかった記事を拝見すると、稚拙な文章が多く見受けられました。
記事チェッカーの目的で書いた2の部分を疎かにすることは出来ません。
ライター様には大変申し訳ない気持ちではあるのですが、稚拙な文章というものは非承認とさせていただいております。

この稚拙な文章とはなんぞや?となり、調べてみました。
下記のような文章の場合、意味が解らない文章や稚拙な文章に見えてしまうようです。

1.漢字を使わない
2.主語、述語の関係性が無い
3.助詞の連続使用
4.ら抜き・さ入れ表現
5.誤字脱字
6.表記ゆれ
7.修飾語・修飾節の乱用
8.接続詞の乱用
9.同一文末表現の多用
10. 文体(ですます調等)の揺れ

弊社には存在しないチェック項目もありまして、このような構文チェックのフィルターを追加していこうと考えております。

導入予定は数週間~数カ月後です。
もしライター様がこちらの記事を見られましたら、是非上記のような点にお気をつけいただければと思います。


拍手[0回]

Wordpressのブルートフォース攻撃(不正ログイン)について

今日、Wordpressで不正ログインが!なニュースを良く見かけました。

私は仕事柄数千のWordpressを扱っているので良く攻撃が来ております。(幸いにも不正ログイン成功はありません)
最近攻撃のログを取っていたので攻撃の傾向を書いておきます。

使用するログデータの取得期間は2013/08/20~2013/08/29です。
期間中の攻撃確認数は413,467件。


攻撃者の特徴

特徴は3種類くらいあります。(恐らく別人。)

1.ユーザー名adminかAdministratorでくるタイプ
2.ユーザー名をドメイン名に指定して来るタイプ
3.ユーザー名を取得して(/?author=1とかで)来るタイプ

使用されるアカウント

アタックで良く見かけるアカウントの情報です。
Wordpressのログインアカウントに以下を使用していると危険です。気をつけましょう。

使用されたアカウント名攻撃回数
admin216,003
host名115,363
administrator72450
Admin5,006
ニックネーム3,941
※Host名は例えば shinobi.jp であれば shinobiをアカウントとして使ってきます
※ニックネームはちゃんと変えてないとアカウントと同じになってしまってる場合あり。
※第6位は root で54件でした。以下極端に減ります。


日付別攻撃回数

攻撃数です。
昨日今日のことが取り上げられてましたが、私のところは逆に減少傾向かも?
土日は休んでるみたいです。

2013/8/20117,861
2013/8/21104,085
2013/8/2265,336
2013/8/233,634
2013/8/245,277
2013/8/251,597
2013/8/261,052
2013/8/2732,025
2013/8/2834,274
2013/8/2948,326
使用されるパスワード

使用されたパスワードは約4,500種類ありました。
テキストファイルに纏めましたので、不安な方は使用しているパスワードが該当しないか調べてみてください。

使用されてるパスワード.txt


Wordpressはログインを許してしまうとPHPの設置が出来てしまうため、かなり大きな被害が出ます。
共有のCMSサービスに限らず、全てのWordpressに危険が色々存在しますので再度確認した方が良いかも知れません。


拍手[1回]

nutch2.0を触ってみる 第1回「インストール編」

こんにちは。misneyです。

今日はnutch2.0が出たということで、少し触ってみました。

nutchというのは簡単に言うと、検索エンジンを作れるオープンソース。
GoogleやYahooのような本格的な検索エンジンが作れてしまうのです。

今回は検索エンジンを作るというよりも、被リンク網を作成することが主目的です。
link:が使えなくなって久しいですよね・・・w

では、さっそくnutch2.0をインストールしてみます。
nutch2.0のチュートリアルページを見ながら進めてみます。
※ちなみにCentOSを使ってます。

nutch2.0を使うために以下が必要になるそう。

1. JDK
2. Apache Ant
3. Apache Maven
4. Apache Gora
5. Apache HBase

■JDK インストール

# wget http://download.oracle.com/otn-pub/java/jdk/6u33-b03/jdk-6u33-linux-x64.bin
# chmod a+x jdk-6u33-linux-x64.bin
# ./jdk-6u33-linux-x64.bin
# vi /etc/profile
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
# source /etc/profile


■Apache HBaseインストール + 実行

# cd /etc/yum.repos.d/
# wget http://archive.cloudera.com/redhat/cdh/cloudera-cdh3.repo
# yum install hadoop-hbase hadoop-hbase-master hadoop-0.20-namenode hadoop-0.20-jobtracker hadoop-0.20-secondarynamenode hadoop-0.20-tasktracker hadoop-zookeeper
# vi /etc/hbase/conf/hbase-evn.sh #以下の行のコメントアウトを外す
export HBASE_MANAGES_ZK=true
# vi /etc/hbase/conf/hbase-site.xml #<configuration>の中に以下を追加
<property>
<name>hbase.zookeeper.quorum</name>
<value>127.0.0.1</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.property.maxClientCnxns</name>
<value>200</value>
</property>
# service hadoop-0.20-datanode start
# service hadoop-0.20-jobtracker start
# service hadoop-0.20-namenode start
# service hadoop-0.20-secondarynamenode start
# service hadoop-0.20-tasktracker start
# service hadoop-hbase-master start


■Apache Mavenインストール

# wget ftp://ftp.riken.jp/net/apache/maven/binaries/apache-maven-3.0.4-bin.tar.gz
# tar zxf ./apache-maven-3.0.4-bin.tar.gz
# mv /usr/local/src/apache-maven-3.0.4 /usr/share/maven
# vi /etc/profile
export M2_HOME=/usr/share/maven
export M2=$M2_HOME/bin
export PATH=$PATH:$M2
# source /etc/profile


■Apache Gora インストール

# wget ftp://ftp.meisei-u.ac.jp/mirror/apache/dist/gora/gora-0.2-src.tar.gz
# tar zxvf ./gora-0.2-src.tar.gz
# cd ./apache-gora-0.2/
# mvn clean compile


■Apache Antインストール

# cd /usr/local/src
# wget http://ftp.riken.jp/net/apache//ant/binaries/apache-ant-1.8.4-bin.tar.gz
# tar zxf ./apache-ant-1.8.4-bin.tar.gz
# cp -R /usr/local/src/apache-ant-1.8.4 /usr/share/ant
# vi /etc/profile
export ANT_HOME=/usr/share/ant
export PATH=$PATH:$ANT_HOME/bin


■nutch2.0 インストール

# cd /usr/local/src
# mkdir ./nutch2.0
# cd ./nutch2.0
# wget ftp://ftp.riken.jp/net/apache/nutch/2.0/apache-nutch-2.0-src.tar.gz
# tar zxvf ./apache-nutch-2.0-src.tar.gz
# vi conf/nutch-site.xml #<configuration></configuration>の中に以下を追加
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.hbase.store.HBaseStore</value>
<property>
<property>
<name>http.agent.name</name>
<value>nutch2.0</value>
</property>
# vi ivy/ivy.xml #108行目付近にある下記の記述のコメントアウトを外す
<dependency org="org.apache.gora" name="gora-hbase" rev="0.2" conf="*->default" />
#vi conf/gora.properties
gora.datastore.default=org.apache.gora.hbase.store.HBaseStore
# ant

BUILD SUCCESSFUL
Total time: 3 minutes 33 seconds



ふう。インストールだけでおなかいっぱい。
他にもSolrやらなんやら使えるみたいですが、まずはチュートリアル通りにそろえてみました。

正常にインストール出来れば以下のように表示されます。


# cd /usr/local/src/nutch2.0
# ./runtime/deploy/bin/nutch
Usage: nutch COMMAND
where COMMAND is one of:
inject inject new urls into the database
hostinject creates or updates an existing host table from a text file
generate generate new segments to fetch from crawl db
fetch fetch URLs marked during generate
parse parse URLs marked during fetch
updatedb update web table after parsing
updatehostdb update host table after parsing
readdb read/dump records from page database
readhostdb display entries from the hostDB
solrindex run the solr indexer on parsed segments and linkdb
solrdedup remove duplicates from solr
parsechecker check the parser for a given url
plugin load a plugin and run one of its classes main()
junit runs the given JUnit test
or
CLASSNAME run the class named CLASSNAME
Most commands print help when invoked w/o parameters.


拍手[0回]

mecabの辞書作成

こんにちは。水野です。

昨日私が開発に携わったイザナギというサービスをオープンしました。

出来たばかりのサービスですが、さらに追加の機能をどしどしと入れていきたいと思っております。

イザナギというサービスは、shinobiクラウドで作成した記事を元に特定の広告を挿入して、WordPressで記事を作成していくようなサービスです。

1.自社サービスのなどのサテライトサイトとして活用する
2.アフィリエイト用メディア管理ツールとして活用する

こんなことが他力本願で出来てしまうのです。

イザナギの一機能で、投稿された記事から自動的にタグクラウド用の単語を登録するというものがあります。
単語はmecabを使用して抽出するのですが、辞書にないような言葉は認識されません。

機能、「助成金制度」という単語を期待していたのですが、これをmecabにかけると以下のような結果になりました。

助      接頭詞,名詞接続,*,*,*,*,助,ジョ,ジョ,,
成金    名詞,一般,*,*,*,*,成金,ナリキン,ナリキン,,
制度    名詞,一般,*,*,*,*,制度,セイド,セイド,,


これを独自の解析にかけると「助」と「成金制度」に切り分けられてしまい、タグとしては「成金制度」が認識されてしまいます。

うーん。成金制度っていうのは人聞きが悪い・・・・。

そんな訳で、mecab用の辞書を調整するためにユーザー辞書方式を採用することにしました。

mecab辞書はnaist-jdicを使ってます。(ipadicの方が好き)

今回はまず助成金制度を登録したいので以下のようなデータを用意しました。

$ vi /tmp/hoge.csv
助成金,-1,-1,50,名詞,一般,*,*,*,*,助成金,ジョセイキン,ジョセイキン



次に辞書をコンパイルします。

$ /usr/libexec/mecab/mecab-dict-index -d/usr/lib64/mecab/dic/naist-jdic -u /path/to/user.dic -f utf8 -t utf8 /tmp/hoge.csv
reading /tmp/hoge.csv ... 1
emitting double-array: 100% |###########################################|

done!


次に、mecabの設定ファイルにuserdicの定義をします。

$ sudo vi /etc/mecabrc
dicdir = /usr/lib64/mecab/dic/naist-jdic
userdic = /path/to/user.dic


これで完成です。


$ mecab
助成金制度
助成金 名詞,一般,*,*,*,*,助成金,ジョセイキン,ジョセイキン
制度 名詞,一般,*,*,*,*,制度,セイド,セイド,,
EOS

無事に成金から助成金になりました。

助成金と制度は連接コストを見たり見なかったりするスクリプトを通すことで、「助成金制度」で一単語と見做します。






拍手[2回]

おまとめボタン

忍者カウンター

忍者ビジター

忍者アド

ブログ内検索

最新コメント

プロフィール

HN:
mizuno
年齢:
43
HP:
性別:
男性
誕生日:
1974/02/13
職業:
主に侍などを少々
趣味:
SEO(「申し訳ございません」や「指ぱっちん」「指定したサイトへは接続できませんでした」でググルと上位に。)
自己紹介:
母子手帳の仮死と書かれてる場所に丸されてます。

フリーエリア

忍者ツールズプロフィール

忍者ツールズプロフィールは終了しました