1

特定の部分を抽出したいテキスト データのリストがあります。現在、正規表現を使用して必要なデータを抽出していますが、各レコードがわずかに異なるため、非常に複雑になり始めています。いくつかの典型的な例に基づいて、Rapidminer を使用して正規表現を「学習」する方法はありますか?

たとえば、次の各レコードについて、テキストを 2 つの新しい属性に抽出したいと考えてい24ます18

word 24 on line 18
Wrd 24 of Ln 18
Line 18, Word 24
Word 24 comes after word 22 on line 18 (not line 19)

私はすべてのテキスト処理ビデオを見てきましたが、この種のことを行う方法を示しているものはなく、どこから始めればよいのか本当にわかりません. 手動で正規表現を作成する以外に、これを行う方法を提案できる人はいますか?

4

1 に答える 1

0

TXR 言語には、不可解な正規表現を使用せずに、パターン マッチングのバリアントを表現する簡単な方法があります。

データファイルは次のとおりです。

$ cat 13249396.dat 
word 24 on line 18
Wrd 24 of Ln 18
Line 18, Word 24
Word 24 comes after word 22 on line 18 (not line 19)

txr スクリプトは次のとおりです。

@(collect)
@  (some)
word @wd on line @ln
@  (or)
Wrd @wd of Ln @ln
@  (or)
Line @ln, Word @wd
@  (or)
Word @wd comes after word @nil on line @ln (@(skip)
@  (end)
@(end)
@(output)
@  (repeat)
@wd:@ln
@  (end)
@(end)

テスト走行:

$ txr 13249396.txr 13249396.dat
24:18
24:18
24:18
24:18

このスクリプトは、サンプル ファイルからケースを取り出し、いくつかのものを特殊な構文に置き換えることによって開発されました。

于 2013-06-10T22:22:43.507 に答える