私は自分のレールアプリケーションでテキスト解析を追加したいと思っています。この数日間、このチュートリアルやヒントを探しているサークルに行ってきました。jrubyでStanford Parserを使い始める
私はJavaについて全く新しいですが、両足で飛び乗るようなものはありません。
私のコントローラには次のコードが含まれていないと思われます。モデルにあるはずですが、この時点ですべての部分が正しいかどうかを確認しています。
このコードからこのコードを借用しました。implementing custom java class in jruby、私は何らかの種類のサンプルコードを見つけるのが難しかったからです。私は間違ってすべてをやっている
lp = LexicalizedParser.new
が含まれている場合、残念ながら私にとって
#my requires/imports/includes, included multiple versions to be safe require 'java' #include Java require '/media/sf_Ruby192/java_progs/parser/stanford-parser.jar' #require '/media/sf_Ruby192/java_progs/parser/' require 'rubygems' include_class 'edu.stanford.nlp.parser.lexparser.LexicalizedParser' class ParseController < ApplicationController def index lp = LexicalizedParser.new #check if regular Java is working list = java.util.ArrayList.new a = "1" b = "2" list.add(a) list.add(b) d = list[0] return render :text => list end end
は、私はエラー
java.lang.NullPointerException: null
を取得しますか?私がlp = ...をコメントアウトすると、リストの出力が得られるので、jrubyが動作しているので、私は自分のレールアプリケーションにjavaを書き込んで出力を得ることができます。
誰かが正しい方向に私を指し示すことができます。多分、このコードで何が間違っているのか教えてください。しかしうまくいけば、私はどうやってjrubyとレールで作業していると思いますか。うまくいけば、Stanford Parserの意見もあります(私は知っています、それはたくさんあります)。私が見つけたドキュメンテーションやサンプルコードの方法ではほとんどないようです。
感謝banzaiman、コード例なしで、私は例のドキュメントを通じて行っていたが、私は認めざるを得ない、私はいつもそれが難しいだけでドキュメントを見て、物事を把握するために見つけます。例えば、あなたがリンクしているlexparserページには、複数のLexicalizedParser()オプションが含まれていますが、そのうちのどれも.newとは言いません。リストの3番目には文法を指すように指定しています。私はしばしばこれで苦労しました。そのため、私は言語の感触を得るためにコード例を好む理由です。しかし、あなたは答えを得ました(メモ、それは私のためにこれを解決したあなたのコードの例でした)。ありがとう – pedalpete