問題タブ [cleartk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - インスタンス抽出時の cleartk エラー
いくつかの変更と異なるデータセットを使用してドキュメントを分類するための導入用の cleartk の例を実行しようとしています。次のエラーが表示されます。
明らかに次の行が原因です。
より具体的には:
Annotation Question.xml は次のように定義されます。
手がかりはありますか?多少関連している可能性のあるこの問題を見つけました
machine-learning - Cleartk: [クラス org.cleartk.classifier.jar.DefaultSequenceDataWriterFactory] の初期化中にエラーが発生しました フィールド 'dataWriterClassName' が必要です
私のメインプログラムは次のようになります。
誰でもこのエラーを説明できますか?
原因: java.lang.IllegalArgumentException: 初期化中のエラー [クラス org.cleartk.classifier.jar.DefaultSequenceDataWriterFactory] フィールド 'dataWriterClassName' が必要です
InstanceDataWriter を他のデータ ライターに置き換えようとしましたが、機能しません。
java - プロジェクトで同様のコードを作成する方法
cleartkを使用する Java プロジェクトがあります。ここで、追加のコードを作成してテストする必要があります。彼らの project/src/main/java/org.cleartk.syntax.opennlp/ の下には、すでにいくつかの Java ファイルがあります。それらの1つを複製し、内部のコードの名前を変更して変更する必要があります。つまり、同じ形式で異なる機能を持つものを作成する必要があります(私が作成するもの、彼らはそれをアノテーターと呼びます)。このJavaファイルはそれぞれ(ターゲットフォルダー内の)いくつかのクラスとリンクします。そのため、関連するすべてのファイル、クラスをコピーして作成し、それらすべてを変更できるようにする必要がありますか? 私はEclipseを使用していますが、そのような方法があるかどうかわかりませんか?
opennlp - 新しいアノテーター内に process() を作成する必要がありますか?
「NewAnnotator」と呼ばれるアノテーターを作成し、ClearTK の他のアノテーター (SentenceAnnotator、PosTaggerAnnotator など) とパイプラインで機能させようとしています。パイプラインを実行できるようにしたいのです。
エラーなしでコードを書きましたが、実行すると多くのエラーが返されます。これは、NewAnnotator コードのこの部分から考えられます。
この部分を PosTaggerAnnotator からほとんどコピーしますが、NewAnnotator では使用しません。使用できるように追加するだけです。
なしで集計に追加する他の方法がわからず、アノテーターで.getDescription();
正しいと宣言する方法もわからないため、それがなくても正常に機能します。getDescription()
そこで、経験された方、アドバイスをお願いします!ありがとうございました!
java - Java で MaltParser を使用して生テキストを解析する
Python の NLKT は *raw_parse* 関数を介してそれを行うことがわかりましたが、Java を使用する必要があります。cleartk には MaltParser ラッパーがあることがわかりましたが、それに関するドキュメントはありません。生の英語テキストを最初に MaltParser が使用できる conll ファイルに変換し、それを MaltParser で解析する関数またはプロジェクトを探しています。どんな助けでも大歓迎です。
stanford-nlp - UIMA RUTA から StanfordCoreNLPAnnotator を呼び出すときに cleartk 依存関係が見つからない
UIMA RUTA 内から ClearTK の StanfordCoreNLPAnnotator を呼び出そうとしていますが、動作させることができません。私は、補助タスク用の Java コードもある Maven 対応の RUTA プロジェクトで Eclipse を使用しています。maven を使用して cleartk-stanford-corenlp 0.8 をインポートしました。
スクリプトで次の行を使用してみました:
... utils/MyStanfordEngine.xml は、次の Java コードを使用して作成された XML 記述子ファイルです。
エラーは表示されませんが、実行すると次のようになります。
RUTA プロジェクトが Maven の依存関係に見つからないことは理解していると思いますが、コラボレーションの目的から、依存関係ツールとして Maven に固執する必要があります。
誰か助けてくれませんか?
アップデート:
問題が発生したとき、私は RUTA 2.1.0 を使用していました。それ以来、2.2.0rc1 にアップデートしましたが、問題は解決しませんでした。
以下の Peter の提案 (ありがとう!) により、Java ビルド パスで、cleartk-stanford-corenlp 0.8 をインポートするだけの空の Maven 対応 Java プロジェクトを参照しました。次の RUTA コードを実行できるようになりました。
...入力フォルダー内のすべてのドキュメントに対して意図されたすべての注釈のように見えるものを正常に実行しますが、最終的には次の例外でクラッシュします:
スタック トレース全体で申し訳ありませんが、RUTA 開発者がこれを読んでいる場合、すべてが必要になる可能性があると思いました。
これを解決する方法はありますか?私は何を間違っていますか?
uima - Cleartk - データが存在するにもかかわらず、Mallet Classifier が 0 インスタンスでトレーニングする
Cleartk (V. 2.0) シンプルなパイプラインを使用して、CAS 内の個々の文のバイナリ分類器を開発しています。ただし、トレーニング データが生成されても、分類器はトレーニング中にそれを取得しません。以下を参照してください。
私はこの例、具体的にはこのコードスニペットに取り組んでいます:
したがって、私の初期化コードは次のようになります。
パイプラインを実行すると、データが作成されて に保存されますtarget/classifier-data/training-data.malletcrf
。ここで、各行は、個々のエントリが形式<featurename>_<value>
とブール値のターゲット属性を持つ特徴ベクトルです。テキストエディタで開いて見ることができます。
私のターゲット変数アノテーターはから継承しCleartkSequenceAnnotator
、Cleartkリストへの以前の回答から理解しているように、CASごとに複数の分類タスクを処理できるブール分類子がないように見えるため、文字列結果分類子を使用しています。
私の大まかな分類コード:
パイプライン コードは次のとおりです。
パイプラインを実行すると、トレーニング データが書き込まれているにもかかわらず、次のコンソール出力が表示されます。
...これは、分類子が何らかの形でファイルからトレーニング データを取得していないことを示唆しています。
私は何を間違っていますか?前もって感謝します!