中国の比喩
CCL 2018 共有タスク - 中国語の比喩認識と感情分析
タスクの説明
- ミッションの詳細: http://ir.dlut.edu.cn/news/detail/508
- 更新: サブタスク 1 は 2 つのカテゴリのタスクです。動詞の比喩かどうかを識別するだけで済みます。
- 時間:締切は9時30分。各チームは、9 月 9 日、9 月 16 日、9 月 23 日、および 9 月 30 日の毎週日曜日午後 10 時の時点で結果を提出できます。各チームは週に最大 3 回までしか提出できません。最後に提出された結果に従って、ランキング。 9月10日、17日、24日、10月1日の午後5時までにウェブサイト(http://ir.dlut.edu.cn/)で発表される。
- トレーニングデータ: http://ir.dlut.edu.cn/File/Download?cid=3 「CCL 2018 中国語メタファー認識および感情分析評価データ」
- テストデータ (ラベルなし): http://ir.dlut.edu.cn/File/Download?cid=3 「CCL 2018 中国語比喩認識および感情分析テスト データ」
- 注意: 主催者の要件に従って、このデータセットはこの評価タスクにのみ使用できます。その他の用途については主催者にお問い合わせください。
リポジトリ構造
- /Corpus: Penn StateUCMC の中国語メタファー コーパスを保存します (まだ使用されていません)
- /data: トレーニング データとテスト データ
- /dicts: 2 つのサブタスクの関係辞書と語彙
- /memo: 議事録
- /model_struct: nn モデルの構造図
- /論文: 関連文献
- /pretrained_emb: インターネットからダウンロードされた事前トレーニング済みの単語埋め込み (wikipedia に基づく)、フィルター済み
- /src: コード
- /result: モデルの評価結果と生成されたテスト ラベル
- /models: このパスは自分で構築する必要があります。以下に 2 つのサブパスがあります: /verb と /emo は、トレーニングされたモデルを保存するために使用されます。
- /submission: 送信された結果ファイル、日付ごとに保存
コード構造
- コアコード:
- conf.py:各種パラメータを設定する
- multi_cgru_keras.py: モデル構造
- train.py: トレーニング データの 90% に基づいてモデルをトレーニングします。
- eva_model.py: トレーニング データの 10% でモデルのパフォーマンスを評価します。
- generate_test_labels.py: テストセットのラベルを予測します
- 補助コード:
- split_data.py: トレーニング セットを 90% (トレーニング用) と 10% (モデルのパフォーマンスの評価用) に分割します。
- back_translate.py: Google Translate API を使用してトレーニング データを追加する
- Convert_data.py: データを xml から txt に変換し、数値ラベルをわかりやすいテキスト ラベルに変換します。
- data_provider.py: データを読み取り、トレーニングの準備をする
- filter_wordemb.py: トレーニング データとテスト データに基づいて事前トレーニングされた単語ベクトルをフィルターし、データ内に出現する単語のみを保持します (現在の wiki 単語ベクトルはフィルターされています)
コードを実行する方法
- conf.pyに関連するパラメータを設定します。
- train.py を実行してモデルをトレーニングします
- eva_model.py を実行してモデルのパフォーマンスを評価する
- 3 番目のステップの評価結果に基づいて、よりパフォーマンスの高いモデルを選択し、generate_test_labels を使用してテスト データ ラベルを生成します。
終わり
- NN ベースライン: CGRU に基づくと、最高のパフォーマンス (精度) はタスク 1 で約 70%、タスク 2 で約 39% です。
- 比較: 大多数ベースライン、タスク 2 37%
- 比較: 感情語彙に基づく単純なベースライン、機械学習なし、タスク 2 51%
- NN Bseline に基づいて、次の機能を試してください。
- 埋め込み層の最適化
- 事前トレーニングされたエンベディングを使用して、モデル自体によって学習されたエンベディングを置き換えます。タスク 2 の最高のパフォーマンスは約 50% です。
- ワード ベクトルのスプライシング: スムーズ パラメータの削減と組み合わせて、タスク 2 マクロ f - 39.6%
- 逆翻訳
- Google 翻訳 6 言語、いくつかのフィルタリング方法をテストしたところ、タスク 2 が約 53% の最高のパフォーマンスを示しました。
- その他のモデル構造
- 埋め込みを分類特徴として直接使用する
- LSTM+完全接続:タスク2マクロf - 40%
- ちょっとしたエラー分析:
- オーバーフィッティングが深刻であることが確認されたので、l2(↑)、dropout(↑)、smooth(↓)を調整してみましたが、同様のモデルの性能に大きな変化は見られませんでした。不安定でした (タスク 2 の複数の実行間の差は 10% に達する可能性があります)
- 悪い例としては、トランジションを含む文があります (例: 「まさか」、「できない」、「以来」などの単語が含まれている)。
- データ内の注釈の一部に問題があることが判明しました
- ペンシルバニア州立大学の中国語メタファー コーパスを取得します。これは、単語の埋め込みの自己学習に使用できます。
- 補足トレーニング コーパス: 他の英語コーパスを使用して翻訳し、トレーニング コーパスを補足します。
- パラメータを調整する
トドリスト
- NN ベースラインに基づいてさらに多くの機能を試してください。
- 埋め込みレイヤーの最適化を続ける
- 他の事前トレーニング済み埋め込みを使用します: たとえば、ペンシルベニア州立メタファー コーパス、ELMo 埋め込みなどでトレーニングされた埋め込み。
- 感情的な語彙を nn に追加します。
- ラベルの埋め込み: 既存の方法は、漸進的な関係 (非常に否定的、否定的、中立的、肯定的、非常に肯定的) を持つラベルにのみ使用されます。
- 動詞と名詞のサブカテゴリ
- 依存関係
- データを観察することで、2 つのサブタスクにおける機能語の役割を調べ、機能語に関するどのような情報をモデルに追加するかを決定します。機能語: どのような情報が役に立ちますか?
- 他のモデル構造を試してください。
- (記事「ベースラインにはさらなる愛が必要: 単純な単語埋め込みベースのモデルと関連するプーリング メカニズムについて」を参照)
- Transformer を文エンコーダとして使用する (記事「必要なのは注意だけです」を参照)
リソース
- ペンシルベニア州立大学中国語比喩コーパス (http://www.personal.psu.edu/xxl13/download.html)
- 大連理工大学感情語彙オントロジー図書館 (http://ir.dlut.edu.cn/EmotionOntologyDownload)
主催者
大連理工大学情報検索研究室