問題タブ [ruta]
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.
nlp - UIMA RUTAでマッチングトラブル?
次のようなテキストがたくさんあります。
(((((WORD1 何らかのテキスト tokenA)))))
(((((WORD2 何らかのテキスト tokenA)))))
(((((WORD3 何らかのテキスト tokenB)))))
や。。など。
「WORD№」ブロックのみを一致させる必要があります。次のようなコードを試します。
ただし、最初の Begin から最初の tokenA までのすべてのテキストをマークします。WORDB のみをマークするにはどうすればよいですか?
===========
次のようなテキストがたくさんあります。
など、さまざまな単語とさまざまなトークンがたくさんあります。何が必要ですか?タグですべての単語をマークする必要があります。
私のコード:
私のバグ: http://postimg.org/image/9rudzlz7j/
==========================
「そしてワイルドカード "#" による ANY+? は、私にとって魅力のように働きます!
java - フォルダー全体とその子孫をリソースとして UIMA (Ruta、Uimafit) で使用できるようにするにはどうすればよいですか?
WORDLIST
デフォルトのUIMA Ruta
プロジェクトでこの機能を使用して大きな効果を上げました。ただし、Ruta
プロジェクト構造は、たとえば、実稼働 Web アプリでの使用には適していません。
UIMA
Javaから使用するときに、フォルダ全体またはクラスパスを一般的に作成する方法はありますか?
わかりやすく簡単にするために、私がやりたいと思うことは、すべてのUIMA
ものを 1 つのルート フォルダーの下に保持することです。src/main/ruta
技術的にはソース以外のファイルが存在するだろうと考えていました。次に、下の構造は、デフォルトのプロジェクトsrc/main/ruta
を作成したときに得られる構造の種類を反映できます。UIMA Ruta
それに関する唯一の問題は、デフォルトの構造では、タイプごとに異なるフォルダーに物が配置されるだけでなく、スクリプトの名前空間に関してはフォルダーも尊重されることです。したがって、以下に 2 つの異なる方法を示します。1 つ目は箱から出してすぐに使用できる方法で、2 つ目は私が説明する最も自然な方法です...
eclipse - UIMA Ruta スクリプト用の Eclipse Content Assist の構成
.ruta
ファイル (Ruta スクリプト) を編集するときにコンテンツ アシスト機能が動作するように Eclipse を構成することはできますか?
デフォルトでは、ツールにCtrl
+(space)
を入力せずにヘルプを表示させようとすると、「コンテンツアシスト」設定で「その他のスクリプト」設定を編集することを提案するエラーが表示されます (すぐに再現します)。大ざっぱに言えば。
残念ながら、Eclipse の設定で「Ruta Content Assist」のようなものを見つけることができません。
ここで、何かを入力してホットキーを押すと、通常、プレフィックスが有効であれば結果が得られます。
たとえば、次のように入力します。
IMPORT PACKAGE * FROM
...そしてCtrl
+(space)
を押すと、エラーが発生します。
しかし、私が入力した場合:
IMPORT PACKAGE * FROM org.
...そしてCtrl
+を押すと、パッケージ(space)
から提案のリストが表示されUima
ます。
uima - UIMA Ruta: 含まれているアノテーションから含まれているアノテーションに特徴値をコピーする
注: これは、UIMA Ruta で含まれているアノテーションの数に特徴量を設定することに大きく関連しているようです。しかし、私は自分の状況に答えを完全に適用することはできません.
次の構造が想定されるプレーン テキスト ドキュメントを分析しています。
- 書類(もちろん1枚)
- セクション (多数)
- 見出し (セクションごとに 1 つ)
- セクション (多数)
見出しが条件を満たしているかどうかを確認して、セクションを特定するよう求められています。便利で明白な条件の種類は次のとおりです。見出しは指定された正規表現と一致しますか? あまり役に立ちませんが、おそらくより実現可能な条件は次のとおりです:見出しに特定のテキストが含まれているか?
正規表現とセクション タイトルのタプルのリストを取得することで、設計時にリストの各メンバーに対して、次のような方法でこれを実現できました。
このアプローチはかなり単純ですが、いくつかの大きな欠点があります。
- DRY原則に大きく違反しています
- 1 つのセクションだけを識別するルールを作成する場合でも、ルール作成者はセクション タイトルを 2 回コピーする必要があります (1 回だけ指定する必要があります)。
- スクリプトが不必要に長くなり、扱いにくくなります
- 理想的なケースでは、Ruta ではなく Regex のみを知る必要があるルールの作成者に大きな負担がかかります。
そこで、次の目標を達成するためにリファクタリングしたいと考えました。
- 正規表現と対応するタイトルを格納するためにテキスト ファイルが使用され、ルールはこれらのペアに対して反復処理されます。
- 異なるセクション/見出しを区別するために、タイプではなく機能が使用されます (つまり、上記のように、 を使用し、使用
SECTION.value=="Table of Contents"
しませんTableOfContentsSection
) 。
UIMA Ruta のリファレンスを調べて、これらの目標を達成するために利用できるオプションを確認した後、次のことに決めました。
- a を使用し
WORDTABLE
てタプルを保存section title, words to find / regex if possible, lookup type
します - たとえば、Table of Contents,contents,sectiontitles
- 機能にセクション タイトルが含まれ、機能に参照のタイプが含ま
MARKTABLE
れる中間注釈タイプをマークするために使用します。LookupMatch
hint
lookup
- 各
HEADING
について、 aが含まれているかどうかを確認し、含まれている場合は、見出しのフィールドLookupMatch.lookup == "sectiontitle"
にコピーします。LookupMatch.hint
value
- 各
SECTION
について、 aHEADING
を含む avalue
が内部にあるかどうかを確認します。value
その場合は、フィールドにコピーしSECTION.value
ます。
手順 3 と 4 の実装がそれほど簡単ではないことがわかったのは、それほど驚くことではありませんでした。それが私がいる場所であり、なぜ私が助けを求めているのかです.
これが私の最初の本当の刺し傷です:
TL; DR
特徴値をある注釈から別の注釈に条件付きでコピーするにはどうすればよいですか? GETFEATURE
1つしか得られないことを前提としています...
java - UIMA Ruta スクリプトでの long Document アノテーション タイプの奇妙な動作
私は次のタイプを持っています:
SpecialDocument
uima.tcas.Annotation
から(またはuima.tcas.DocumentAnnotation
、理想的には)specialFeature
型の機能を継承するuima.cas.String
SomeAnnotation
継承uima.tcas.Annotation
私は正常に起動しているルールを持っています:
Document{ -> MARK(SpecialDocument)};
のテキストを含むSpecialDocument
注釈を取得しているため、発火していることがわかります。Document
しかし、それを先に進めようとすると、つまり後続のルールでそれを使用しようとすると、ルールは何もしません。
既存の からを作成したときに発火しないのとまったく同じルールについては、別のものからを作成すると発火します!!!SpecialDocument
Document
SpecialDocument
たとえば、次のようになります。
EDITこれは、タイプよりも注釈の長さに関するものであることに気付きました-短いドキュメントを作成すると、期待どおりに機能します。
ここで何が起こっているのですか?これはバグですか、それとも気が狂っていますか?
ruta - seed.flex ファイルを変更する方法
私はウイマルタ初心者です。私たちのEclipse出力に影響を与えるべきseed.flexファイルにいくつかの変更を加えたいだけです。多くの変更を行いましたが、それでも出力は通常どおり機能しています。その変更を有効にする方法を教えてください。