luceneを使いたかった。

Javaで記述されたインデックスを作成するタイプの全文検索エンジンluceneさんですね。

使おうとコマンドを打っても打ってもエラーが出て。

偉い方に聞いてみて純正javaであるoracleを入れてみたら動きました。

実際はいろいろやっていたのでoracleのせいだったのかはわからないwwww

Ubuntu にOracle Java 8 (PPA)をインストールする(ubuntu) - Qiita

oracleの入れ方はこちら参考で。

コマンドは

 

java -cp demo/lucene-demo-5.3.1.jar:core/lucene-core-5.3.1.jar:analysis/common/lucene-analyzers-common-5.3.1.jar org.apache.lucene.demo.IndexFiles -docs テキストを入れたフォルダ

 

これでインデックスが出来まして。

 

 

java -cp demo/lucene-demo-5.3.1.jar:core/lucene-core-5.3.1.jar:analysis/common/lucene-analyzers-common-5.3.1.jar:queryparser/lucene-queryparser-5.3.1.jar org.apache.lucene.demo.SearchFiles -index index -query "検索したい文字"

 

で検索できました。

全然動かなくて5時間くらい格闘してた。悲しい。

 

一気にプログラムを回したかった。

そういえば、こんなブログ作っていたと思い、思い出したかのように更新

 今日作ったしょぼいやつ。

コマンドラインからpngファイルを読み込み、とある処理するプログラム作ってたのですけど、

それを50ファイルくらい一気にやりたかったので作った。

続きを読む

treetagger使いたい.......(+ω+)

英語の構文解析がしたかったので

http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/

↑treetaggerのサイトのダウンロードから

1のlinuxパッケージ、2の tagging script、3のinstall-tagger.sh、4のparameter fileからEnglish parameter file をダウンロードし、全部を同じフォルダの中に入れてshコマンドでinstall-tagger.shを端末から実行したら展開されます。

 

パスを通すとどこからでもtreetaggerが使えるようになって楽なので、

隠しファイルの.bashrcの最後の行に(desktopでls -aで見つけられた。)

PATH="$PATH:/treetaggerの置いてある場所/treetagger/cmd"

PATH="$PATH:/treetaggerの置いてある場所/treetagger/bin"

を書き入れます。

 

端末にecho "my name is dog."| tree-tagger-english

と入力すると

reading parameters ...
tagging ...
finished.
my      PP$       my
name    NN         name
is           VBZ       be
dog       NN         dog
.             SENT    .
と表示された。

やったね。

あとはpythonから動かせたらいいのですけど、動かない........(+ω+)

 

 

 

tesseract の論文?を読みました。

論文というか、取り扱い説明書???

http://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/33418.pdf

↑ググったらすぐに出てくるこれです。

verview of the Tesseract OCR Engine直訳して、テセラクトの概要......

どういう仕組みでtesseractが文字を読み取っているのか気になった次第です。

一応頑張って読みましたが正しいかどうかは分からないです。。。。。

 

続きを読む

セット4(後半)

セット4(後半)です。

 

(6)1行1単語形式(medline.txt.sent.tok)を読み込み,単語の連接を出力するプログラムを実装

#!usr/bin/env python3
# -*- coding: utf-8 -*-

import marshal
line = ""
for i in open("medline.txt.sent.tok.stem","r"):
    i = i.strip("\n").split("\t")
    if(line != ""):
        if(line != "."):
            print(line+"\t"+i[1])
    line = i[1]

 if(line != "")で1回目はlineが""なのでline=i[i]となります。

if(line != ".")でlineが"."になるまで出力していきます。

line="."となるとまたline=i[1]となりこれをループで繰り返していきます。

 

続きを読む

tesseract を使うときでの手こずったとこ

プログラムとしてはtesseractをダウンロード出来るサイト(https://code.google.com/p/python-tesseract/)に書いてあるとおりに、

 

 

 

api = tesseract.TessBaseAPI()
api
.SetOutputName("outputName");
api
.Init(".","eng",tesseract.OEM_DEFAULT)
api
.SetPageSegMode(tesseract.PSM_AUTO)
mImgFile
= "xxx.jpg"
pixImage
=tesseract.pixRead(mImgFile)
api
.SetImage(pixImage)
outText
=api.GetUTF8Text()

みたいな感じで使えます。
続きを読む