エンリッチメント関数

エンリッチメント関数は、Big Data Discoveryでデータ処理の一環として使用されるデータ・エンリッチメント・モジュールに基づいています。これらの関数を使用して、データから意味のある情報を抽出し、属性を変更して分析対象としての有用性を高めることができます。

これらと同じ関数が変換APIリファレンス(Groovydoc)で説明されています。

データ・エンリッチメント・モジュールの詳細は、『データ処理ガイド』を参照してください。

detectLanguage

指定された文字列属性の言語を検索し、Oracleの言語コード(たとえば、スペイン語はes)を返します。正確な結果を得るには、テキスト内に少なくとも10語を含める必要があります。

構文は次のとおりです。
detectLanguage(String attribute)
各要素の意味は次のとおりです。
  • attributeは、言語検出を実行する文字列属性です。

その結果は、単一割当の属性内に返されます。

例:
detectLanguage(labor_description)
labor_description文字列属性では「en」が返されます。

extractKeyPhrases

文字列属性からキー・フレーズを抽出し、複数割当の属性でフレーズのリストを返します。この関数は、TF/IDFアルゴリズムを使用して主要語句を計算します。このアルゴリズムでは、各語が文字列内に出現する合計回数を使用し、この値から、この語がより大きい処理本文内に出現する回数を相殺します。値を相殺することにより、"the"や"it"などの頻繁に使用される語をフィルタで除外しやすくなります。コントロールとして使用される処理本文は、Stringの言語に基づいて内部で選択されます。たとえば、英語に使用されるモデルはニューヨークタイムズのコーパスに基づいています。extractKeyPhrases関数は、TF/IDF語エクストラクタ・エンリッチメント・モジュールのラッパー関数です。

extractKeyPhrasesによって返される主要語句の数は、TF/IDF曲線の関数です。デフォルトでは、指定した語のスコアが68%を下回ると、語を返すことを停止します。

構文は次のとおりです。
extractKeyPhrases(String attribute, String languageCode, Boolean smartCasing)
各要素の意味は次のとおりです。
  • attributeは、処理される文字列属性です。特にテキストがすべて大文字である場合など、テキストを最初に小文字に変換することをお薦めします。
  • languageCodeは、精度を上げるために言語の名前またはコード(「en」、「English」、「German」など)を指定するオプションの文字列パラメータです。サポートされている言語は、英語(英国/アメリカ合衆国)、ポルトガル語(ブラジル)、スペイン語、フランス語、ドイツ語およびイタリア語です。指定された場合、その言語に固有のモデルを使用するよう関数に強制します。指定されていない場合、またはnullとして渡された場合(これがデフォルトです)、関数により言語モデルが自動的に検出されます。サポートされない言語が指定された場合は、エラーがスローされます。
  • smartCasingはオプションのパラメータで、trueに設定すると、タイトルの大/小文字または大文字のいずれかを主とするドキュメントを、関数で自動的に処理することを指定します。このパラメータを使用しない場合、デフォルトはtrueです。
例:
extractKeyPhrases(toLowerCase(comments))

extractKeyPhrases(surveys, 'en', true)

この関数を使用した結果で新しい属性を作成する場合、属性の型が複数割当であることを確認してください。

extractNounGroups

名詞グループが含まれるStringを返します。名詞グループは、"movie"や"building"などの任意の名詞です。これは、Noun Group Extractorエンリッチメント・モジュールのラッパー関数です。このモジュールは、サポート対象の各言語の文字列属性から、名詞グループを検索して返します。これは、データ内に一般的に存在するテーマを見つけるために、タグ・クラウドの可視化で使用されます。

構文は次のとおりです。
extractNounGroups(String attribute, String languageCode)
各要素の意味は次のとおりです。
  • attributeは、処理される文字列属性です。
  • languageCodeは、精度を上げるために言語の名前またはコード(「en」、「English」、「German」など)を指定するオプションの文字列パラメータです。サポートされている言語は、英語(英国/アメリカ合衆国)、スペイン語、フランス語、ドイツ語およびイタリア語です。指定された場合、その言語に固有のモデルを使用するよう関数に強制します。指定されていない場合、またはnullとして渡された場合(これがデフォルトです)、関数により言語モデルが自動的に検出されます。サポートされない言語が指定された場合は、エラーがスローされます。
例:
extractNounGroups(labor_description, 'en')
labor_description文字列属性では名詞(「Battery」、「Mass Air Flow Sensor」など)が返されます。

この関数を使用した結果で新しい属性を作成する場合、属性の型が複数割当であることを確認してください。

extractWhiteListTags

入力テキスト内の文字列の有限セット(ホワイトリスト)の要素を特定するディクショナリ一致アルゴリズムを使用します。この関数は、ホワイトリスト内の語の出現をすべて検索し、一致する完全表記のリストを返します。入力テキストは、ホワイトリストに対して照合されます。ホワイトリストは、改行区切りです。これは、ホワイトリスト・タガー・エンリッチメント・モジュールのラッパー関数です。

各行は、コメント(先頭文字の#によって示されます)である場合や、1つまたは2つの値(delimiter文字区切り)で構成された一致するディレクティブである場合があります。2番目の値は、一致出力をリライトするために使用されます。

次に、簡単なホワイトリストの例を示します。
  • helium
  • neon
  • argon
  • krypton
  • xenon
  • radon

これは、デリミタとしてスラッシュ(/)を使い、次のように書き換えることができます。

  • helium/He
  • neon/Ne
  • argon/Ar
  • krypton/Kr
  • xenon/Xe
  • radon/Rn

このホワイトリストを"The only noble gas is radon"というテキストに対して実行すると、['Rn']という出力リストが生成されます。

構文は次のとおりです。
extractWhiteListTags(String attribute, String whitelist, String languageCode,
      boolean caseSensitive, boolean matchWholeWords, String delimiter)
各要素の意味は次のとおりです。
  • attributeは、処理対象となる文字列属性です。
  • whitelistは、ホワイトリストのエントリが含まれるドキュメントです。これは、リテラルおよび構成語の改行区切りのリストが含まれるプレーン・テキスト・ファイルである必要があります。
  • languageCodeは、精度を上げるために文字列の言語を指定するオプションの文字列パラメータです。デフォルトでは、英語に設定されています。サポートされている言語は、空白区切りの言語のみです。
  • caseSensitiveは、入力の大/小文字を区別するかどうかを示すオプションのブール・パラメータです(デフォルトはfalse)。
  • matchWholeWordsは、単語全体のみ(falseに設定、これがデフォルト)に一致するか、または単語の部分(trueに設定)に一致するかを示すオプションのブール型パラメータです。"red""reduce"と一致しないようにします。
  • delimiterは、「一致」および「出力」の値へのホワイトリスト・エントリの解析に使用されるデリミタ文字を指定するオプションの文字列パラメータです。タブ文字(\t)がデフォルトです。各ホワイトリスト・エントリでは、1つのデリミタしか使用できないことに注意してください(最初のデリミタの後のデリミタはすべて無視されます)。
次の例のように、delimiter文字により、ホワイトリスト・エントリがその一致と出力の値に分離されることに注意してください。
delimiter=','
Rn,86
Ne,10
He,2

delimiter='/'
Rn/86
Ne/10
He/2

no delimiter specified (uses the default <tab> character)
Rn<tab>86
Ne<tab>10
He<tab>2
この例extractWhiteListTagsでは、最初の行でtagListという名前のホワイトリストを定義し、2番目の行でドキュメントを定義し、3番目の行でextractWhiteListTags変換エンリッチメント関数を使用します(この関数は最初に、指定されたホワイトリストに対して入力テキストを照合します)。次に、WhitelistTagsのように、ホワイトリスト(英語)にリストされている用語のすべての出現箇所を検索して抽出し、一致する完全表記のリストを返します。
def whitelist = '''
helium/He
neon/Ne
argon/Ar
krypton/Kr
xenon/Xe
radon/Rn
'''
def document = 'The noble gases make a group of chemical elements with similar properties: 
under standard conditions, they are all odorless, colorless, monatomic gases with very low 
chemical reactivity. The six noble gases that occur naturally are helium (He), neon (Ne), 
argon (Ar), krypton (Kr), xenon (Xe), and the radioactive RADON (Rn).'

extractWhitelistTags(document, whitelist, 'en', false, true, '/')

指定された言語は英語(en)であり、照合では大文字と小文字が区別されず(false)、バインドなしであるため、完全一致のみ(false)になります。'/'デリミタはホワイトリストの解析に使用されます。

geotagIPAddress

管理レベルに応じて、IPアドレスをジオコード文字列アドレスに変換します。管理区分は国によって異なるため、返される値は予期したものとは異なる可能性があります。これは、IP Address GeoTaggerデータ・エンリッチメント・モジュールのラッパー関数です。

構文は次のとおりです。
geotagIPAddress(String IPAddress, String adminLevel)
各要素の意味は次のとおりです。
  • IPAddressは、処理対象となる文字列型の有効なIPアドレスです。
  • adminLevelは、返される管理区分を指定するオプションの文字列パラメータです。これは、次の定数またはリテラル値(大/小文字を区別)のうち、1つのみを設定できます。
    • ADMIN_LEVEL_CITYまたは'City'(市区町村の一致用)。
    • ADMIN_LEVEL_COUNTRYまたは'Country'(国の一致用)。
    • ADMIN_LEVEL_REGIONまたは'Region'(アメリカ合衆国の州など、地域の一致用)。
    • ADMIN_LEVEL_REGIONIDまたは'RegionID'(マサチューセッツ州の「6254926」など、GeoNamesデータベース内の地域のID)。
    • ADMIN_LEVEL_SUBREGIONまたは'SubRegion'(アメリカ合衆国の郡など、サブ地域の一致用)。
    • ADMIN_LEVEL_SUBREGIONIDまたは'SubRegionID'(マサチューセッツ州のミドルセックス郡の「4943909」など、GeoNamesデータベース内のサブ地域ID)。
    • ADMIN_LEVEL_POSTCODEまたは'Postcode'(アメリカ合衆国のzipコードなど、郵便番号用)。
返されるadminLevelのデータ型は次のとおりです。
  • 文字列のadminLevel = City、Country、Postcode、Region、SubRegion、RegionID、SubRegionID
  • ジオコードのadminLevel = Geocode
例:
geotagIPAddress('148.86.25.54', 'City')

geotagIPAddress('148.86.25.54', ADMIN_LEVEL_CITY)
どちらの例も、単一割当の文字列属性として「New York City」を返します。

geotagIPAddressGetGeocode

IPアドレスをGeocodeに変換し、そのgeocodeフィールドをObjectとして返します。これは、ジオコード型の単一属性を返すIP Address GeoTaggerデータ・エンリッチメント・モジュールのラッパー関数です。

構文は次のとおりです。
geotagIPAddressGetGeocode(String IPAddress)
各要素の意味は次のとおりです。
  • IPAddressは、処理対象となる文字列型の有効なIPアドレスです。
例:
geotagIPAddressGetGeocode('148.86.25.54')
単一割当のGeocode属性として、ジオコード「40.714270 -74.005970」を返します。

geotagStructuredAddress

構造化フィールドに基づくジオタグのアドレス。

構文は次のとおりです。
geotagStructuredAddress(String country, String region, String subregion, String city, 
      String postcode, Boolean returnByPopulation, String adminLevel)
各要素の意味は次のとおりです。
  • countryは、住所の国のフィールドです(不明の場合はnullを使用)。
  • regionは、住所の地域のフィールドです(不明の場合はnullを使用)。地域は、アメリカ合衆国では州になります。
  • subregionは、住所のサブ地域のフィールドです(不明の場合はnullを使用)。サブ地域は、アメリカ合衆国では郡になります。
  • cityは、住所の市区町村のフィールドです(不明の場合はnullを使用)。
  • postcodeは、住所の郵便番号のフィールドです(不明の場合はnullを使用)。郵便番号は、アメリカ合衆国ではzipコードになります。
  • returnByPopulationは、trueに設定されている場合、最大の人口を持つ位置を返す、オプションのブール型パラメータです。デフォルトはfalseです。
  • adminLevelは、返される特定のフォールドを指定するオプションの文字列パラメータです。これは、次の定数またはリテラル値(大/小文字を区別)のうち、1つのみを設定できます。
    • ADMIN_LEVEL_CITYまたは'City'は、住所の市区町村を返します。
    • ADMIN_LEVEL_COUNTRYまたは'Country'は、住所の国を返します。
    • ADMIN_LEVEL_REGIONまたは'Region'は、アメリカ合衆国の州など、住所の地域を返します。
    • ADMIN_LEVEL_REGIONIDまたは'RegionID'は、マサチューセッツ州の「6254926」など、GeoNamesデータベース内の地域のIDを返します。
    • ADMIN_LEVEL_SUBREGIONまたは'SubRegion'は、アメリカ合衆国の郡など、住所のサブ地域を返します。
    • ADMIN_LEVEL_SUBREGIONIDまたは'SubRegionID'は、マサチューセッツ州のサフォーク郡の「4952349」など、GeoNamesデータベース内のサブ地域IDを返します。
    • ADMIN_LEVEL_POSTCODEまたは'Postcode'は、住所の郵便番号を返します。
    • ADMIN_LEVEL_GEOCODEまたは'Geocode'は、最も低い階層管理レベルのジオコードを返します。これはデフォルトです。

adminLevelパラメータは、唯一のオプションのパラメータであり、省略できる唯一のパラメータであることに注意してください。他のすべてのパラメータは、値またはnullのいずれかを指定する必要があります。

この関数は、adminLevelパラメータによって要求された値を返します。返されるadminLevelのデータ型は次のとおりです。
  • 文字列のadminLevel = City、Country、Postcode、Region、SubRegion、RegionID、SubRegionID
  • ジオコードのadminLevel = Geocode

住所がロケーションの数値に解決され、returnByPopulationがtrueの場合、関数は、最大の人口を持つ場所を選択し、そのジオコードが返されます。

例1:
// Get the geocode for San Francisco in the US and return the location with the largest population.
geotagStructuredAddress( 'us', null, null, 'san francisco', null, true, 'Geocode')
「39.76 -98.5」(カリフォルニア州サンフランシスコのジオコード)が返されます。
例2:
// Get the region (state in the US) in which the Boston with the highest population is located.
geotagStructuredAddress('us', '', '', 'boston', '', true, 'Region')
「Massachusetts」が返されます(理由はボストンで、ボストンのあるマサチューセッツ州はアメリカ合衆国で最大の人口があります)。

geotagUnstructuredAddress

文字列属性内の有効な住所は、管理レベルに応じてジオコード文字列の住所に変換されます。管理区分は国によって異なるため、返される値は予期したものとは異なる可能性があります。

これは、Address GeoTaggerデータ・エンリッチメント・モジュールのラッパー関数です。これは、ジオコード・アドレスが含まれるデータに複数割当属性(列)を追加します。

構文は次のとおりです。
geotagUnstructuredAddress(String addressText, String adminLevel, String addressGrain, Boolean validateAddress)
各要素の意味は次のとおりです。
  • addressTextは、処理対象となる住所の文字列です。これは、350文字以下である必要があります。
  • adminLevelは、返される管理区分を指定するオプションの文字列パラメータです。これは、次の定数またはリテラル値(大/小文字を区別)のうち、1つのみを設定できます。
    • ADMIN_LEVEL_CITYまたは'City'(市区町村の一致用)。
    • ADMIN_LEVEL_COUNTRYまたは'Country'(国の一致用)。
    • ADMIN_LEVEL_REGIONまたは'Region'(アメリカ合衆国の州など、地域の一致用)。
    • ADMIN_LEVEL_REGIONIDまたは'RegionID'(マサチューセッツ州の「6254926」など、GeoNamesデータベース内の地域のID)。
    • ADMIN_LEVEL_SUBREGIONまたは'SubRegion'(アメリカ合衆国の郡など、サブ地域の一致用)。
    • ADMIN_LEVEL_SUBREGIONIDまたは'SubRegionID'(マサチューセッツ州のミドルセックス郡の「4943909」など、GeoNamesデータベース内のサブ地域ID)。
    • ADMIN_LEVEL_POSTCODEまたは'Postcode'(アメリカ合衆国のzipコードなど、郵便番号用)。
  • addressGrainは、GeoTaggerが指定されたレベルで最も可能性の高い一致を見つけるために役立つ管理区分を指定するオプションの文字列パラメータです。これは、次の定数またはリテラル値(大/小文字を区別)のうち、1つのみを設定できます。
    • ADMIN_LEVEL_CITYまたは'City'(市区町村の一致用)。
    • ADMIN_LEVEL_COUNTRYまたは'Country'(国の一致用)。
    • ADMIN_LEVEL_REGIONまたは'Region'(地域の一致用)。
    • ADMIN_LEVEL_SUBREGIONまたは'SubRegion'(サブ地域の一致用)。
    • ADMIN_LEVEL_NONEまたは'None'は、住所文字列と最も近く一致する最も人口の多い場所を返します。これはデフォルト値です。
  • validateAddressは、GeoTaggerが住所を検証する必要があるかどうかを指定するオプションのブール型パラメータです。
返されるadminLevelのデータ型は次のとおりです。
  • 文字列のadminLevel = City、Country、Postcode、Region、SubRegion、RegionID、SubRegionID
  • ジオコードのadminLevel = Geocode
次の例は、「countries」文字列属性の国名のジオコード・アドレスを取得する方法を示しています。
geotagUnstructuredAddress(countries, 'Country', , true, 'en')
geotagUnstructuredAddress('New York, NY 10029', 'Region', 'SubRegion', false)

geotagUnstructuredAddressGetGeocode

IPアドレスをGeocodeに変換し、そのgeocodeフィールドをObjectとして返します。これは、Address GeoTaggerモジュールのラッパー関数です。

構文は次のとおりです。
geotagUnstructuredAddressGetGeocode(String addressText, String addressGrain, Boolean validateAddress)
各要素の意味は次のとおりです。
  • addressTextは、処理対象となる住所の文字列です。これは、350文字以下である必要があります。
  • addressGrainは、GeoTaggerが指定されたレベルで最も可能性の高い一致を見つけるために役立つオプションの文字列パラメータです。これは、次の値(大文字と小文字は区別されません)の1つに対してのみ設定できます。
    • ADMIN_LEVEL_CITYまたは'City'(市区町村の一致用)。
    • ADMIN_LEVEL_COUNTRYまたは'Country'(国の一致用)。
    • ADMIN_LEVEL_REGIONまたは'Region'(アメリカ合衆国の州など、地域の一致用)。
    • ADMIN_LEVEL_SUBREGIONまたは'SubRegion'(アメリカ合衆国の郡など、サブ地域の一致用)。
    • ADMIN_LEVEL_NONEまたは'None'は、住所文字列と最も近く一致する最も人口の多い場所を返します。これはデフォルト値です。
  • validateAddressは、GeoTaggerが住所を検証する必要があるかどうかを指定するオプションのブール型パラメータです。
例:
geotagUnstructuredAddressGetGeocode(cities, ADMIN_LEVEL_CITY, false)

geotagUnstructuredAddressGetGeocode(cities, 'City', false)

getEntities

入力文字列の属性から、特定のタイプのすべてのエンティティを返します。エンティティは、文字列のリストとして返されます。この関数は、このエンティティの結果のために、データ・セット内に新しい複数割当の列を作成します。これは、Named Entity Recognitionエクストラクタ・モジュールのラッパー関数です。英語の入力テキストのみをサポートしています。

構文は次のとおりです。
getEntities(String attribute, String entityType)
各要素の意味は次のとおりです。
  • attributeは、処理される文字列属性を指定します。
  • entityTypeは、抽出するエンティティのタイプを指定する文字列パラメータです。これは、次の定数またはリテラル値(大/小文字を区別)のうち、1つのみを指定できます。
    • ENTITY_TYPE_PERSONまたは'Person'は、属性で見つかったすべての人エンティティを返します。
    • ENTITY_TYPE_ORGANIZATIONまたは'Organization'は、属性で見つかったすべての組織エンティティを返します。
    • ENTITY_TYPE_LOCATIONまたは'Location'は、属性で見つかったすべての場所エンティティを返します。場所エンティティは、場所の名前("Boston"や"Canada"など)です。
例:
getEntities(claims, ENTITY_TYPE_LOCATION)

getEntities(reviews, 'Person')

getSentiment

文字列属性のセンチメント全体が含まれる文字列を返します。属性のセンチメントには、次のどちらかがあります。
  • POSITIVE
  • NEGATIVE

これは、センチメント分析(ドキュメント・レベル)データ・エンリッチメント・モジュールのラッパー関数です。

構文は次のとおりです。
getSentiment(String textAttribute, String languageCode)
各要素の意味は次のとおりです。
  • attributeは、処理される文字列属性を指定します。
  • languageCodeは、精度を上げるために言語の名前またはコード(「en」、「English」、「German」など)を指定するオプションの文字列パラメータです。サポートされている言語は、英語(英国/アメリカ合衆国)、スペイン語、フランス語、ドイツ語およびイタリア語です。指定された場合、その言語に固有のモデルを使用するよう関数に強制します。指定されていない場合、またはnullとして渡された場合(これがデフォルトです)、関数により言語モデルが自動的に検出されます。サポートされない言語が指定された場合は、エラーがスローされます。
例:
getSentiment(comments, 'English')

この例では、「comments」は文字列属性です。

getTermSentiment

正または負のセンチメントを持つセンテンス内のフレーズを抽出します。関数呼出しは、抽出するフレーズのタイプおよびセンチメンのタイプを指定します。必要な語(文字列)のリストが返されます。

構文は次のとおりです。
getTermSentiment(String textAttribute, String termAttribute, String sentimentCategory, String languageCode)
各要素の意味は次のとおりです。
  • textAttributeは、処理対象となる文字列属性です。
  • termAttributeは、そのセンチメント(sentimentCategory引数で設定される)に基づいて抽出する用語のタイプを指定する文字列パラメータです。語のタイプには、次のいずれかの値のみ(大/小文字を区別)を指定できます。
    • ENTITY_TYPE_PERSONまたは'Person'は個人エンティティが含まれるパッセージを特定し、これらのパッセージのセンチメントを返します。
    • ENTITY_TYPE_ORGANIZATIONまたは'Organization'は組織エンティティが含まれるパッセージを特定し、これらのパッセージのセンチメントを返します。
    • ENTITY_TYPE_LOCATIONまたは'Location'は場所エンティティが含まれるパッセージを特定し、これらのパッセージのセンチメントを返します。
    • NOUN_GROUPSまたは'NounGroups'は、指定されたセンチメントに基づいて文内の名詞グループを抽出します。
    • KEY_PHRASESまたは'KeyPhrases'は、指定されたセンチメントに基づいて文内の主要語句を抽出します。
  • sentimentCategoryは、語に考慮されるセンチメントのタイプを指定します。SENTIMENT_POSITIVE (または'Positive')を正のセンチメントに、あるいはSENTIMENT_NEGATIVE (または'Negative')を負のセンチメントに指定できます。すべての値は大文字と小文字が区別されます。
  • languageCode。精度を上げるために言語の名前またはコード(「en」、「English」、「German」など)を指定するオプションのパラメータ。サポートされている言語は、英語(英国/アメリカ合衆国)、スペイン語、フランス語、ドイツ語およびイタリア語です。指定された場合、その言語に固有のモデルを使用するよう関数に強制します。指定されていない場合、またはnullとして渡された場合(これがデフォルトです)、関数により言語モデルが自動的に検出されます。サポートされない言語が指定された場合は、エラーがスローされます。
例:
getTermSentiment(comments, 'KeyPhrases', 'Positive')
getTermSentiment(comments, KEY_PHRASES, SENTIMENT_POSITIVE)

getTermSentiment(companies, 'Organization', 'Negative')
getTermSentiment(companies, ENTITY_TYPE_ORGANIZATION, SENTIMENT_NEGATIVE)

getTermSentiment(reviews, 'NounGroups', 'Positive')
getTermSentiment(reviews, NOUN_GROUPS, SENTIMENT_POSITIVE)

reverseGeotag

指定された管理区分のジオコード・アドレスを返します。入力したGeocodeから指定した半径内の管理区分を検索します。これは、単一値を返すReverse GeoTaggerデータ・エンリッチメント・モジュールのラッパー関数です。

構文は次のとおりです。
reverseGeotag(Geocode geoAttribute, String adminLevel, Double proximityThreshold)
各要素の意味は次のとおりです。
  • geoAttributeは、処理対象となるジオコードです。
  • adminLevelは、返される管理区分を指定する文字列パラメータです。これは、次の定数またはリテラル値(大/小文字を区別)のうち、1つのみを設定できます。
    • ADMIN_LEVEL_CITYまたは'City'(市区町村の一致用)。
    • ADMIN_LEVEL_COUNTRYまたは'Country'(国の一致用)。
    • ADMIN_LEVEL_REGIONまたは'Region'(アメリカ合衆国の州など、地域の一致用)。
    • ADMIN_LEVEL_REGIONIDまたは'RegionID'(マサチューセッツ州の「6254926」など、GeoNamesデータベース内の地域のID)。
    • ADMIN_LEVEL_SUBREGIONまたは'SubRegion'(アメリカ合衆国の郡など、サブ地域の一致用)。
    • ADMIN_LEVEL_SUBREGIONIDまたは'SubRegionID'(マサチューセッツ州のミドルセックス郡の「4943909」など、GeoNamesデータベース内のサブ地域ID)。
    • ADMIN_LEVEL_POSTCODEまたは'Postcode'(アメリカ合衆国のzipコードなど、郵便番号用)。
  • proximityThresholdは、入力されるジオコードおよび出力される地理的な場所に許可される距離の最大マイル数を指定するオプションのパラメータです。このパラメータを指定しない場合、デフォルトの100マイルが使用されます。距離がしきい値を超える場合、nullが返されます。
この関数は、adminLevelパラメータによって要求されたジオコード・アドレスを返します。返されるadminLevelのデータ型は次のとおりです。
  • 文字列のadminLevel = City、Country、Postcode、Region、SubRegion、RegionID、SubRegionID
  • ジオコードのadminLevel = Geocode
次の例では、2つの値を使用してGeocodeオブジェクトを作成してから、Geocodeのcityフィールドを返します。
reverseGeotag(toGeocode(42.35843, -71.05977), 'CITY', 'en', 50)

runExternalPlugin

pluginNameの外部ファイルに定義されているとおりにカスタムの外部Groovyスクリプトを実行し、スクリプトの結果を返します。

構文は次のとおりです。
runExternalPlugin(String pluginName, String attribute, Map options)
各要素の意味は次のとおりです。
  • pluginNameは、Groovyスクリプト・ファイル(たとえば、MyPlugin.groovy)の名前(ベース名および拡張子)です。
  • attributeは、スクリプトに渡される入力文字列です。
  • optionsは、Groovyスクリプトで使用される任意のオプションが含まれるオプションの「マップ」です。デフォルトは空です。

外部プラグインの作成の詳細は、「変換関数ライブラリの拡張」を参照してください。

stripTagsFromHTML

入力文字列からHTML、XMLおよびXHTMLマークアップを削除し、結果を文字列として返します。これは、タグ・ストリッパ・データ・エンリッチメント・モジュールのラッパー関数です。

構文は次のとおりです。
stripTagsFromHTML(String attribute)
各要素の意味は次のとおりです。
  • attributeは、処理対象となるHTML文字列です。

この関数は、プレーン・テキストを返します。

toPhoneticHash

テキストの音声を表す入力テキスト(英語のみ)のStringハッシュを生成します。

語句の音声ハッシュは、スペルではなく発音に基づいています。音声ハッシュの適用例の1つに検索エンジンがあります。検索語によって結果が返されない場合、検索エンジンは、語の音声ハッシュを他の語のハッシュと比較し、最も適合する語の結果を返します。たとえば、"purple"と"pruple"は同じ音声ハッシュ(PRPL)を持つため、スペルが間違った語である"pruple"を検索した場合でも、"purple"と同じ結果が得られます。

構文は次のとおりです。
toPhoneticHash(String attribute)
各要素の意味は次のとおりです。
  • attributeは、処理対象となる文字列属性です。
例:
toPhoneticHash(terms)

この例では、"terms"は文字列属性です。