エンリッチメント関数は、Big Data Discoveryでデータ処理の一環として使用されるデータ・エンリッチメント・モジュールに基づいています。 これらの関数を使用して、データから意味のある情報を抽出したり、属性を変更して分析に役立てることができます。
「変換APIリファレンス」 (Groovydoc)では、同じ機能を説明しています。
データ・エンリッチメント・モジュールの詳細は、「データ処理ガイド」で入手できます。
detectLanguage
指定したString属性の言語を検索し、Oracle言語コード(たとえば、es for Spanish)を返します。 正確な結果を得るには、テキストに10語以上含める必要があります。
detectLanguage(String attribute)説明:
attribute
は、言語検出を実行するString属性です。
結果は単一割当て属性で返されます。
detectLanguage(labor_description)labor_description文字列属性に対してはenを返すことがあります。
extractKeyPhrases
文字列属性からキー・フレーズを抽出し、複数割当属性のフレーズのリストを返します。 この関数は、TF/IDFアルゴリズムを使用してキー・フレーズを計算します。このアルゴリズムでは、各語が文字列内に出現する合計回数を使用し、この値から、この語がより大きい処理本文内に出現する回数を相殺します。 値を指定すると、よく使用される用語(theやitなど)をフィルタで除外できます。 コントロールとして使用される作業の本文は、文字列言語に基づいて内部的に選択されます。たとえば、英語で使用されるモデルは、New York Times corpusに基づいています。 extractKeyPhrases
関数は、TF/IDF用語エクストラクタ・モジュールのラッパー関数です。
extractKeyPhrases
から返されるキー・フレーズの数は、TF/IDF曲線の関数です。 デフォルトでは、指定された語のスコアが68%より小さい場合に、用語の戻りが停止されます。
extractKeyPhrases(String attribute, String languageCode, Boolean smartCasing)説明:
attribute
は、処理される文字列属性です。 特にすべて大文字である場合は、テキストを小文字に変換することをお薦めします。
languageCode
はオプションの文字列パラメータであり、言語名またはコード(たとえば、"en"、"English"、"German")を指定することで、正確性を向上します。 サポートされている言語は英語(UK/US)、ポルトガル語(ブラジル)、スペイン語、フランス語、ドイツ語およびイタリア語です。 指定すると、関数ではその言語に固有のモデルが使用されます。 指定しない場合、またはnull
として渡された場合(これがデフォルト)、関数は自動的に言語モデルを検出します。 サポートされていない言語が指定されている場合は、エラーがスローされます。
smartCasing
はオプションのパラメータで、true
に設定すると、大/小文字または大文字のいずれかで主にドキュメントが処理されるように指定します。 このパラメータを使用しない場合、true
にデフォルト設定されます。
extractKeyPhrases(toLowerCase(comments)) extractKeyPhrases(surveys, 'en', true)
この関数を使用した結果として新しい属性を作成するときは、属性のタイプが複数割当であることを確認してください。
extractNounGroups
名詞グループを含む文字列を返します。 名詞グループは、movie、buildingなどの名詞です。 これは、Noun Group Extractorモジュールのラッパー関数です。 このモジュールでは、サポートされている各言語のString属性からnounグループを検索して戻します。 データ内で共通して発生するテーマを見つけるために、タグ・クラウド視覚化で使用されます。
extractNounGroups(String attribute, String languageCode)説明:
attribute
は、処理される文字列属性です。
languageCode
は、精度を向上するために言語名またはコードを指定するオプション・パラメータ(たとえば、"en"、"English"、"German")です。 サポートされている言語は英語(イギリス/US)、スペイン語、フランス語、ドイツ語およびイタリア語です。 指定すると、関数ではその言語に固有のモデルが使用されます。 指定しない場合、またはnull
として渡された場合(これがデフォルト)、関数は自動的に言語モデルを検出します。 サポートされていない言語が指定されている場合は、エラーがスローされます。
extractNounGroups(labor_description, 'en')labor_description文字列属性の名詞を戻します("バッテリ"、"マス・エア・フロー・センサー"など)。
この関数を使用した結果として新しい属性を作成するときは、属性のタイプが複数割当であることを確認してください。
extractWhiteListTags
入力テキスト内にある文字列(ホワイトリスト)の有限セットの要素を特定する、辞書一致アルゴリズムを使用します。 この関数は、ホワイトリストの語がすべて検索され、一致する拡張子のリストを返します。 入力テキストはホワイトリストと照合されます。 ホワイトリストは改行で区切られます。 これは、ホワイトリスト・タグ・エンリッチ・モジュールのラッパー関数です。
各行は、コメント(最初の文字は#で示される)または1つ以上の値(delimiter
文字で区切られた)から構成される一致ディレクティブです。 2番目の値は、一致出力をリライトするために使用されます。
区切り文字としてスラッシュ(/)を使用して、次のように書き換えることができます:
このホワイトリストをテキスト実行すると、実行できないガスが唯一発生しますという出力リストが生成され、['Rn']の出力リストが生成されます
extractWhiteListTags(String attribute, String whitelist, String languageCode, boolean caseSensitive, boolean matchWholeWords, String delimiter)説明:
attribute
は、処理する文字列属性です。
whitelist
は、ホワイトリストに記載されたエントリを含むドキュメントです。 これは、リテラルと構成用語の改行区切りのリストが含まれたプレーン・テキスト・ファイルである必要があります。
languageCode
は、精度を向上するためのString言語を指定するオプションのStringパラメータです。 デフォルトでは、英語に設定されています。 サポートされている言語は、空白で区切られた言語のみです。
caseSensitive
は、入力の大/小文字を区別する(デフォルトはfalse
)かどうかを示すオプションのブール・パラメータです。
matchWholeWords
はオプションのブール・パラメータであり、単語全体(デフォルトのfalse
に設定されている場合)または単語の一部(true
に設定されている場合)にのみ一致するかどうかを示します。 "red"と"reduce"が一致していないようにします。
delimiter
は、一致および出力の値にホワイトリスト・エントリを解析する際に使用する区切り文字を指定するオプションのStringパラメータです。 TAB文字(\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
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アドレスGeoTaggerデータ・エンリッチメント・モジュールのラッパー関数です。
geotagIPAddress(String IPAddress, String adminLevel)説明:
IPAddress
は、文字列型の有効な処理対象IPアドレスです。
adminLevel
はオプションのStringパラメータで、返される管理部門を指定します。 この値は、次の定数またはリテラル値のいずれかにのみ設定できます(大文字と小文字は区別されます):
ADMIN_LEVEL_CITY
または'City'
。
ADMIN_LEVEL_COUNTRY
または'Country'
。
ADMIN_LEVEL_REGION
または'Region'
(米国の州など)。
ADMIN_LEVEL_REGIONID
または'RegionID'
。
ADMIN_LEVEL_SUBREGION
または'SubRegion'
は一致します。
ADMIN_LEVEL_SUBREGIONID
または'SubRegionID'
。
ADMIN_LEVEL_POSTCODE
または'Postcode'
(米国の郵便番号など)。
adminLevel
で戻されるデータ型は次のとおりです:
geotagIPAddress('148.86.25.54', 'City') geotagIPAddress('148.86.25.54', ADMIN_LEVEL_CITY)どちらの例でも、1つの割当文字列属性としてNew York Cityが返されます。
geotagIPAddressGetGeocode
IPアドレスをジオコードに変換し、そのgeocode
フィールドをオブジェクトとして返します。 これは、ジオコード型として単一の属性を返すIPアドレスGeoTaggerデータ・エンリッチメント・モジュールのラッパー関数です。
geotagIPAddressGetGeocode(String IPAddress)説明:
IPAddress
は、文字列型の有効な処理対象IPアドレスです。
geotagIPAddressGetGeocode('148.86.25.54')単一割当てジオコード属性として、"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を使用してください)。 郵便番号は米国の郵便番号です。
returnByPopulation
はオプションのブール・パラメータであり、trueに設定すると、最大の人口を持つロケーションが返されます。 デフォルトは、falseです。
adminLevel
は、戻す特定のフィールドを指定するオプションのStringパラメータです。 この値は、次の定数またはリテラル値のいずれかにのみ設定できます(大文字と小文字は区別されます):
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'
は、MassachusettsのSuffolk Countryの4952349など、GeoNamesデータベース内のサブリージョンのIDを返します。
ADMIN_LEVEL_POSTCODE
または'Postcode'
が、住所の郵便番号を戻します。
ADMIN_LEVEL_GEOCODE
または'Geocode'
で、最下位階層管理レベルのジオコードが戻されます。 これはデフォルトです。
adminLevel
パラメータは唯一のオプション・パラメータであるため、省略できる唯一のパラメータです。 その他のすべてのパラメータは、値を指定するか、またはNullとして指定する必要があります。
adminLevel
パラメータがリクエストする値を返します。 adminLevel
で戻されるデータ型は次のとおりです:
住所の解決が多数のロケーションであり、returnByPopulation
がtrueの場合、関数は最も大きな人口のあるロケーションを選択し、そのジオコードを返します。
// 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" (サンフランシスコ州のジオコード)を返します。
// Get the region (state in the US) in which the Boston with the highest population is located. geotagStructuredAddress('us', '', '', 'boston', '', true, 'Region')"Massachusetts"を返します(Boston, Massachusettsは米国内のすべてのボストン地域の最大人口を持つため)。
geotagUnstructuredAddress
文字列属性の有効なアドレスを管理レベルに応じてジオコード文字列アドレスに変換します。 管理部門は国によって異なるため、戻り値は予期した値とは異なる場合があります。
これは、Address GeoTaggerデータ・エンリッチメント・モジュールのラッパー関数です。 ジオコードの住所を含むデータ・セットに複数割当属性(列)を追加します。
geotagUnstructuredAddress(String addressText, String adminLevel, String addressGrain, Boolean validateAddress)説明:
addressText
は、処理するアドレス文字列です。 これは350文字以下にする必要があります。
adminLevel
はオプションのStringパラメータで、返される管理部門を指定します。 この値は、次の定数またはリテラル値のいずれかにのみ設定できます(大文字と小文字は区別されます):
ADMIN_LEVEL_CITY
または'City'
。
ADMIN_LEVEL_COUNTRY
または'Country'
。
ADMIN_LEVEL_REGION
または'Region'
(米国の州など)。
ADMIN_LEVEL_REGIONID
または'RegionID'
。
ADMIN_LEVEL_SUBREGION
または'SubRegion'
は一致します。
ADMIN_LEVEL_SUBREGIONID
または'SubRegionID'
。
ADMIN_LEVEL_POSTCODE
または'Postcode'
(米国の郵便番号など)。
addressGrain
はオプションのStringパラメータであり、GeoTaggerが特定レベルで最も一致することが多い管理部門を指定します。 この値は、次の定数またはリテラル値のいずれかにのみ設定できます(大文字と小文字は区別されます):
ADMIN_LEVEL_CITY
または'City'
。
ADMIN_LEVEL_COUNTRY
または'Country'
。
ADMIN_LEVEL_REGION
または'Region'
と一致します。
ADMIN_LEVEL_SUBREGION
または'SubRegion'
と一致しています。
ADMIN_LEVEL_NONE
または'None'
では、アドレスStringと最も厳密に一致する多くのpopulousのロケーションが返されます。 これがデフォルト値です。
validateAddress
は、GeoTaggerがアドレスを検証するかどうかを指定するオプションのブール・パラメータです。
adminLevel
で戻されるデータ型は次のとおりです:
geotagUnstructuredAddress(countries, 'Country', , true, 'en') geotagUnstructuredAddress('New York, NY 10029', 'Region', 'SubRegion', false)
geotagUnstructuredAddressGetGeocode
IPアドレスをジオコードに変換し、そのgeocode
フィールドをオブジェクトとして返します。 これは、Address GeoTaggerモジュールのラッパー関数です。
geotagUnstructuredAddressGetGeocode(String addressText, String addressGrain, Boolean validateAddress)説明:
addressText
は、処理するアドレス文字列です。 これは350文字以下にする必要があります。
addressGrain
はオプションの文字列パラメータで、GeoTaggerが特定のレベルに最も一致するものを見つけるのに役立ちます。 次の値のいずれかにのみ設定できます(大/小文字の区別なし):
ADMIN_LEVEL_CITY
または'City'
。
ADMIN_LEVEL_COUNTRY
または'Country'
。
ADMIN_LEVEL_REGION
または'Region'
(米国の州など)。
ADMIN_LEVEL_SUBREGION
または'SubRegion'
は一致します。
ADMIN_LEVEL_NONE
または'None'
では、アドレスStringと最も厳密に一致する多くのpopulousのロケーションが返されます。 これがデフォルト値です。
validateAddress
は、GeoTaggerがアドレスを検証するかどうかを指定するオプションのブール・パラメータです。
geotagUnstructuredAddressGetGeocode(cities, ADMIN_LEVEL_CITY, false) geotagUnstructuredAddressGetGeocode(cities, 'City', false)
getEntities
入力文字列属性から、指定された型のすべてのエンティティを返します。 エンティティは文字列のリストとして戻されます。 この関数は、エンティティ結果のデータ・セット内に新しい複数割当列を作成します。 これは、名前付きエンティティ認識エクストラクタ・モジュールのラッパー関数です。 英語の入力テキストのみサポートします。
getEntities(String attribute, String entityType)説明:
attribute
は、処理される文字列属性を指定します。
entityType
は、抽出するエンティティのタイプを指定するStringパラメータです。 次の定数またはリテラル値は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")です。 サポートされている言語は英語(イギリス/US)、スペイン語、フランス語、ドイツ語およびイタリア語です。 指定すると、関数ではその言語に固有のモデルが使用されます。 指定しない場合、またはnull
として渡された場合(これがデフォルト)、関数は自動的に言語モデルを検出します。 サポートされていない言語が指定されている場合は、エラーがスローされます。
getSentiment(comments, 'English')
この例では、"comments"はString属性です。
getTermSentiment
ポジティブまたはネガティブなセンチメントを含むセンテンス内の語句を抽出します。 この関数コールでは、抽出するフレーズの型と使用するセンチメントの型を指定します。 必要な用語のリストが(文字列として)返されます。
getTermSentiment(String textAttribute, String termAttribute, String sentimentCategory, String languageCode)説明:
textAttribute
は、処理する文字列属性です。
termAttribute
は、センチメント(sentimentCategory
引数で設定)に基づいて抽出する語のタイプを指定するStringパラメータです。 用語タイプには次の値のうち1つのみ(大文字と小文字を区別)を指定できます:
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")です。これにより正確性が向上します。 サポートされている言語は英語(イギリス/US)、スペイン語、フランス語、ドイツ語およびイタリア語です。 指定すると、関数ではその言語に固有のモデルが使用されます。 指定しない場合、または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
指定した管理部門のジオコードの住所を返します。 入力したジオコードから、指定した半径内の管理部門を検索します。 これは、単一値を戻すリバースGeoTaggerデータ・エンリッチメント・モジュールのラッパー機能です。
reverseGeotag(Geocode geoAttribute, String adminLevel, Double proximityThreshold)説明:
geoAttribute
は、処理対象のジオコードです。
adminLevel
は、戻す管理部門を指定するStringパラメータです。 この値は、次の定数またはリテラル値のいずれか(大/小文字を区別)にのみ設定できます:
ADMIN_LEVEL_CITY
または'City'
。
ADMIN_LEVEL_COUNTRY
または'Country'
。
ADMIN_LEVEL_REGION
または'Region'
(米国の州など)。
ADMIN_LEVEL_REGIONID
または'RegionID'
。
ADMIN_LEVEL_SUBREGION
または'SubRegion'
は一致します。
ADMIN_LEVEL_SUBREGIONID
または'SubRegionID'
。
ADMIN_LEVEL_POSTCODE
または'Postcode'
(米国の郵便番号など)。
proximityThreshold
は、入力ジオコードおよび出力地理的ロケーションの最大距離をマイル数で指定するオプションのDoubleパラメータです。 このパラメータを指定しない場合、デフォルトの100マイルが使用されます。 距離がしきい値を超えると、nullが返されます。
adminLevel
パラメータでリクエストされたタグを戻します。 adminLevel
で戻されるデータ型は次のとおりです:
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
テキストの音声を表す入力テキスト(英語のみ)の文字列ハッシュを生成します。
発音ハッシュという単語は、スペルではなく、その発音に基づいています。 phoneticハッシュの1つのアプリケーションは検索エンジンです。 検索用語が何も結果を返さない場合、検索エンジンは音声ハッシュという用語を他の用語のハッシュと比較し、最適な用語の結果を戻すことができます。 たとえば、purpleとprupleには同じ表音ハッシュ(PRPL)があるため、prupleという語を検索すると、purpleの結果も生成されます。
toPhoneticHash(String attribute)説明:
attribute
は、処理する文字列属性です。
toPhoneticHash(terms)
この例では、用語は文字列属性です。