メインコンテンツへスキップ
C#で抽出スクリプトを使用する例
FieldExtractor.ExtractRegularExpression( "(grant(s))|(convey to)|(grant)", "keyWords" );
FieldExtractor.ExtractWordsFromUserDictionary("dictionary", "English");
FieldExtractor.ExtractNerObjects();
// コレクション名で識別されたオブジェクトにアクセスする
IExtractedObjects personObjects = FieldExtractor.ExtractedObjects( "NerPerson" );
IExtractedObjects keyWordsObjects = FieldExtractor.ExtractedObjects( "keyWords" );
// キーワードの左にあるマッチングする人を検索する
for( int i = 0; i < keyWordsObjects.Count; i++ ) {
IExtractedObject keyWord = personObjects.Item( i );
IInterval span = keyWord.Span;
IExtractedObject grantor = personObjects.Find( span.StartPos, false );
string grantorName = grantor.Value;
if ( grantorName.Length > 2 && grantorName != "Doug Darrell" ) {
FieldExtractor.PutSpanToField( grantor.Span, "NlpField1" );
}
}
// ソーステキストにアクセスする
string sourceText = FieldExtractor.SourceText;
// 任意のテキストスパンをfieldに書き込む
FieldExtractor.PutTextToField( 0, sourceText.Length - 1, "NlpField2" );
// 2つの単語からなるdictionaryフレーズを検索するXMLクエリ
string query = "<Request> " +
"<Query>" +
"<Contain MaxDistance=\"1\">" +
"<Required>" +
"<Form><Attributes><Attribute>dictionary1</Attribute></Attributes></Form>" +
"</Required>" +
"<Required>" +
"<Form><Attributes><Attribute>dictionary2</Attribute></Attributes></Form>" +
"</Required>" +
"</Contain>" +
"</Query>" +
"</Request>";
// クエリを実行し、結果のコレクションを取得してfieldに保存する
FieldExtractor.RunQueryAndSaveToField( query, "query1", "NlpField3");
// クエリを実行して結果のコレクションを取得する
IExtractedObjects queryResults1 = FieldExtractor.RunQuery( query, "query2" );
// クエリ実行後にクエリ結果にアクセスする別の方法
IExtractedObjects queryResults2 = FieldExtractor.QueryResults( "query2" );

スクリプト パラメーター

Name権限Value
FieldExtractorIFieldExtractor読み取り文書内のテキストに含まれるfieldを識別します
住所抽出スクリプトのサンプル このスクリプトは、ソース field 全体に対して呼び出されます。
// 住所を解析する
this.ParseAddress();
// コンポーネントを個別のfieldに抽出する
var zip = this.ExtractedObjects( "NerZipCode" );
var street = this.ExtractedObjects( "NerStreet" );
for( var i = 0; i < zip.Count; i++ ) {
this.PutSpanToField( zip.Item(i).Span, "ZipCode" );
}
for( var j = 0; j < street.Count; j++ ) {
this.PutSpanToField( street.Item(j).Span, "Street" );
}
住所抽出スクリプトのサンプル このスクリプトは、ソース field の一部を対象に呼び出されます。
// fieldまたはセクションのテキスト内のすべてのNERオブジェクトを検出する
this.ExtractNerObjects();
// Addressオブジェクトを抽出する
var address = this.ExtractedObjects( "NerAddress" );
// 住所をコンポーネントに分割する
for( var addressSpanIndex = 0; addressSpanIndex < address.Count; addressSpanIndex++ ) {
this.PutSpanToField( address.Item(addressSpanIndex).Span, "Address" );
// 指定された住所のすべてのコンポーネントコレクション名に一意のプレフィックスを割り当てる
var collectionName = "nerAddress" + String(addressSpanIndex);
// 住所を抽出する
this.ParseAddressInPosition( collectionName, address.Item(addressSpanIndex).Span.StartPos, address.Item(addressSpanIndex).Span.EndPos );
// コンポーネントを個別のfieldに保存する
var zip = this.ExtractedObjects( collectionName, "NerZipCode" );
var street = this.ExtractedObjects( collectionName, "NerStreet" );
RunQueryAndSaveToField
for( var i = 0; i < zip.Count; i++ ) {
this.PutSpanToField( zip.Item(i).Span, "ZipCode" );
}
for( var j = 0; j < street.Count; j++ ) {
this.PutSpanToField( street.Item(j).Span, "Street" );
}
}