- DLGナレッジグラフにおいて、BigQueryに蓄積されているSlack上のデータをSemanticMediaWikiにインポートを目的とする
- BigQueryから出力したcsvデータをxmlへ変換
- 本ドキュメントでは、csvデータとxmlデータの仕様及び変換仕様を示す
Column name | Data type | Content |
---|---|---|
channel_id | string | slackのチャンネルID |
channel_name | string | slackのチャンネル名 |
reply_num | int | talkが属するスレッドへの何個目のリプライか。もとのtalkは0番 |
user_id | string | 各talkのuser_id |
user_name | string | user表示名(発言当時の表示名) |
reply_user_is_in_current | bool | データ取得時のユーザ在籍有無 |
talk_id | string | 各talkのid |
talk_text | string | 各talkの内容 |
talk_ts | datetime | 各talkのtimestamp |
thread_ts | datetime | talkが属するスレッドのtimestamp |
target_date | date | slackAPI経由でBigQueryにデータが取得された日 |
<page>
タグ以降を編集- 1つの
<page></page>
タグで1ページ
- 1つの
- 詳細
<title>
: ページのタイトル- 今回は"Q&A-xxxx"とする
<text>
{{Infobox Q&A}}
- MediaWiki上でのテンプレート
<sha1>
- インポート時に自動生成されるハッシュ値
- 1スレッド1ページ(
<page></page>
)とする- 30ページ/1xmlファイルとする
- インポート時に重すぎるため
- 30ページ/1xmlファイルとする
<title>
: ページのタイトル- 今回は"Q&A-xxxx"とする(古い順から連番を付ける、桁数どうしよう)
<text>
{{Infobox Q&A}}
- 下記テーブルの通り
- 質問talk(reply_num=0)の内容は"==質問=="ブロックへ
- それ以降の返信(reply_num>0)の内容は"==回答=="ブロックへ
- 回答talkごとにブロックを作れると見やすい?
- メンションの変換
- talk中のメンションがuser_idになってしまっているため、表示名に変換する
- 別途user_masterデータを使用する
- アノテーション
- SemanticMediaWiki上でアノテーション(タグ付け)するために、一部文字列に対して変換をする
- SemanticMediaWikiの記法
- '[[技術トピック::"単語"]]'
- "技術トピック"は自動生成したページに対して、自動でアノテーションを行ったトピック用のプロパティ
- 今回はanotation_masterに含まれる単語リストを使用
- 基本的に表記揺れは無視
- 大文字小文字の表記ゆれは変換側で吸収したい
パラメータ | 表記方法 | 内容 |
---|---|---|
question_channel | 特になし | 質問したチャンネル名 |
question_date | Date | 質問した日付 |
question_member_1 | [[利用者:XXX]] |
質問したメンバーの表示名 |
answer_member_1 | [[利用者:YYY]] |
回答したメンバーの表示名。5人まで追加可能。コメント数→先着順。 |
tech_topic_1 | [[質問トピック::ZZZ]] |
会話の中から単語リストに該当する単語を抽出。5つまで追加可能。出現回数→リスト順。 |