文書(限定公開)
Janome で日本語を単語に分割
notifications このカテゴリーのブロックは限定公開です。利用にあたってはライセンス購入申請が必要です。このカテゴリーのブロックを使用したい場合は、MAGELLAN BLOCKS のお問い合わせ機能からライセンス購入申請をお願いします。
概要
このブロックは、Janome open_in_newという形態素解析器を使って、BigQuery テーブルに格納された日本語の文書を解析し、単語列に分割します。分割した単語列の情報には、単語の他に品詞や読みなどの情報も含みます。
解析対象となる日本語の文章は、BigQuery テーブルとして準備してください。形式は、以下のように「文章を特定するユニークな値を持つキー列」(key)と「日本語の文章を持つ列」(text)が必要です。
key | text |
---|---|
text-01 | すもももももももものうち |
info_outline この例では、列名に key・text を使用していますが、列名は自由に設定して構いません。
解析結果は、以下の形式で BigQuery テーブルに出力します。
key | tokens | |||||
---|---|---|---|---|---|---|
surface | base_form | infl_form | part_of_speech | phonetic | reading | |
text-01 | すもも | すもも | * | 名詞,一般,*,* | スモモ | スモモ |
も | も | * | 助詞,係助詞,*,* | モ | モ | |
もも | もも | * | 名詞,一般,*,* | モモ | モモ | |
も | も | * | 助詞,係助詞,*,* | モ | モ | |
もも | もも | * | 名詞,一般,*,* | モモ | モモ | |
の | の | * | 助詞,連体化,*,* | ノ | ノ | |
うち | うち | * | 名詞,非自立,副詞可能,* | ウチ | ウチ |
このテーブルのスキーマは以下のとおりです。
列名 | 説明 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
key | 解析した文書のキー値です。 | ||||||||||||||
tokens |
解析結果です。RECORD 型の REPEATED モードとなっています。RECORD 型の内容は、以下のとおりです。
|
標準では、Janome に内包されている辞書を使って日本語の文章を解析しますが、ユーザー辞書と組み合わせての解析も可能です。
ユーザー辞書の形式は、MeCab open_in_new の IPADIC 形式 open_in_new に対応しています。
ユーザー辞書は、カンマ(,)区切りの CSV ファイルで準備し、Google Cloud Storage(GCS)へアップロードする必要があります。
ユーザー辞書の 1 行の形式は、以下のとおりです。
表層形,左文脈 ID,右文脈 ID,コスト,品詞,品詞細分類 1,品詞細分類 2,品詞細分類 3,活用型,活用形,原形,読み,発音
- 左文脈 ID および右文脈 ID には、
-1
を指定すると、自動的に ID を付与します。 - コストは、その単語がどれくらい出現しやすいかを示します。値が小さいほど、出現しやすいという意味です。似たような単語と同じスコアを割り振り、その単位で切り出せない場合は、徐々に小さくしていくと良いでしょう。
ユーザー辞書について詳しくは、MeCab の辞書に関するドキュメント open_in_new を参照願います。以下に、辞書のサンプルを示します(MeCab の辞書に関するドキュメントからの引用です)。
東京スカイツリー,1288,1288,4569,名詞,固有名詞,一般,*,*,*,東京スカイツリー,トウキョウスカイツリー,トウキョウスカイツリー 東武スカイツリーライン,1288,1288,4700,名詞,固有名詞,一般,*,*,*,東武スカイツリーライン,トウブスカイツリーライン,トウブスカイツリーライン とうきょうスカイツリー駅,1288,1288,4143,名詞,固有名詞,一般,*,*,*,とうきょうスカイツリー駅,トウキョウスカイツリーエキ,トウキョウスカイツリーエキ
warning セルフサービスプランの場合は、このブロックを使用する前に、Dataflow API を有効にしてください。詳しくは、「基本操作ガイド > ヒント > Google API を有効にする」を参照してください。
プロパティ
プロパティ名 | 説明 |
---|---|
ブロック名 | ブロックの名前を指定します。ブロックに表示されます。 |
GCP サービスアカウント | このブロックで使用する GCP サービスアカウントを選択します。 |
単語の分割対象 BigQuery データセット |
[単語の分割対象 BigQuery テーブル]プロパティで指定する BigQuery テーブルが属する BigQuery データセットの ID を指定します。 warning「単語の分割対象 BigQuery データセット」・「結果出力先 BigQuery データセット」・「一時フォルダー GCS URL」のロケーションは合わせる必要があります。BigQuery のデータセットが US マルチリージョンの場合は、この限りではありません。 [変数展開の指定が可能][% 形式の文字列書式の指定が可能]
|
単語の分割対象 BigQuery テーブル |
単語分割したい文書が格納されている BigQuery テーブルの ID を指定します。 [変数展開の指定が可能][% 形式の文字列書式の指定が可能]
|
結果出力先 BigQuery データセット |
[結果出力先 BigQuery テーブル]プロパティで指定する BigQuery テーブルが属する BigQuery データセットの ID を指定します。 warning「単語の分割対象 BigQuery データセット」・「結果出力先 BigQuery データセット」・「一時フォルダー GCS URL」のロケーションは合わせる必要があります。BigQuery のデータセットが US マルチリージョンの場合は、この限りではありません。 [変数展開の指定が可能][% 形式の文字列書式の指定が可能]
|
結果出力先 BigQuery テーブル |
単語を出力する BigQuery テーブルの ID を指定します。 単語は、この BigQuery テーブルの words 列に出力します。空でないテーブルが存在する場合は、空にして上書きします。 [変数展開の指定が可能][% 形式の文字列書式の指定が可能]
|
一時フォルダー GCS URL |
このブロックの内部処理で一時的に使用する GCS 上のフォルダーを指定します。 内部処理中に、このフォルダーに一時的なファイルが作成されますが、処理終了後は削除されます。 warning「単語の分割対象 BigQuery データセット」・「結果出力先 BigQuery データセット」・「一時フォルダー GCS URL」のロケーションは合わせる必要があります。BigQuery のデータセットが US マルチリージョンの場合は、この限りではありません。 [変数展開の指定が可能][% 形式の文字列書式の指定が可能]
|
キーの列名 |
[単語分割の対象 BigQuery テーブル]プロパティで指定した BigQuery テーブルにおいて、文書を特定するキー列の名前を指定します。 |
文書の列名 |
[単語分割の対象 BigQuery テーブル]プロパティで指定した BigQuery テーブルにおいて、文書が格納されている列の名前を指定します。 |
ブロックメモ | ブロックに対するコメントを指定します。 |
ユーザー辞書の GCS URL |
ユーザー辞書の GCS URL を指定します。 ユーザー辞書を使用する場合は、あらかじめ辞書を GCS へアップロードしてださい。ここには、その辞書への GCS URL を指定してください。 info_outline 辞書のアップロードと GCS URL の取得は、サポートツールの GCS Explorer を使うと便利です。 |