Transformersによる文書の分類

Hugging Face Transformersを使ってネガポジを判定するモデルを作ってみました。 query title label negaposi この映画は本当に面白い 0 みたいな形で教師を作り、それを投入して学習させました。 東北大学の日本語 BERT モデルを事前学習モデルとし、 それをSequence Classificationさせました。 モデリング自体は、Google Colaboratoryを用いて実行しました。 学習 !pip install transformers[ja]==4.3.3 torch==1.9 sentencepiece==0.1.91 from google.colab import drive import pandas as pd from sklearn.model_selection import train_test_split from transformers import BertJapaneseTokenizer, BertForSequenceClassification, BertForMaskedLM, pipeline, Trainer, TrainingArguments import torch drive.mount('/content/drive') training_data = pd.read_csv('/content/drive/MyDrive/Texts/negaposi-sentence.csv') training_data.head() print(len(training_data["query"].unique())) training_data[["title", "label"]].groupby("label").count() train_queries, val_queries, train_docs, val_docs, train_labels, val_labels = train_test_split( training_data["query"].tolist(), training_data["title"].tolist(), training_data["label"].tolist(), test_size=.5 ) model_name = 'cl-tohoku/bert-base-japanese-whole-word-masking' tokenizer = BertJapaneseTokenizer.from_pretrained(model_name) train_encodings = tokenizer(train_queries, train_docs, truncation=True, padding='max_length', max_length=128) val_encodings = tokenizer(val_queries, val_docs, truncation=True, padding='max_length', max_length=128) model_name = 'cl-tohoku/bert-base-japanese-whole-word-masking' tokenizer = BertJapaneseTokenizer.from_pretrained(model_name) train_encodings = tokenizer(train_queries, train_docs, truncation=True, padding='max_length', max_length=128) val_encodings = tokenizer(val_queries, val_docs, truncation=True, padding='max_length', max_length=128) model = BertForSequenceClassification.from_pretrained(model_name, num_labels = 2) for param in model.base_model.parameters(): param.requires_grad = False training_args = TrainingArguments( logging_steps=10, output_dir='models', evaluation_strategy="epoch", num_train_epochs=2000, per_device_train_batch_size=16, per_device_eval_batch_size=64, warmup_steps=500, weight_decay=0.01, save_total_limit=1, ) trainer = Trainer( model=model, args=training_args, train_dataset=train_dataset, eval_dataset=val_dataset ) trainer.train() trainer.save_model(output_dir='/content/drive/MyDrive/Models/sentiment-mining4') 推論 !pip install transformers[ja]==4.3.3 torch==1.9 sentencepiece==0.1.91 from google.colab import drive import pandas as pd from sklearn.model_selection import train_test_split from transformers import BertJapaneseTokenizer, BertForSequenceClassification, BertForMaskedLM, pipeline, Trainer, TrainingArguments import torch drive.mount('/content/drive') model_name = 'cl-tohoku/bert-base-japanese-whole-word-masking' tokenizer = BertJapaneseTokenizer.from_pretrained(model_name) model = BertForSequenceClassification.from_pretrained('/content/drive/MyDrive/Models/sentiment-mining4') nlp = pipeline("sentiment-analysis",model=model,tokenizer=tokenizer) nlp("この本は興味深い") nlp(“この本は興味深い”) ...

12月 11, 2021 · 1 分 · 212 文字 · Me

Ignite2021 Fall Cloud Skill Challenge

(https://csc.docs.microsoft.com/ignite/registration/fall2021) チャレンジ期間 2021 年 11 月 3 日 (水) 1:00 AM ~ 12 月 1 日 (水) 1:00 AM [日本時間] チャレンジ概要 「Microsoft Ignite Cloud Skills Challenge – November 2021」は、日本時間 2021 年 11 月 3 日 (水) 1:00 AMに開始し、2021 年 12 月 1 日 (水) 1:00 AM に終了します。 「Microsoft Ignite Cloud Skills Challenge – November 2021」の登録時には、メールアドレスの入力が必要です。ご記入いただいたメールアドレスに、無料受験バウチャーの詳細をご連絡いたします。 「Microsoft Ignite Cloud Skills Challenge – November 2021」対象のクラウド関連スキルのコースを 1 つ受講完了することで、マイクロソフト認定試験を 1 回無料で受けることができます。 無料受験バウチャー (特典) の詳細 チャレンジの回数にかかわらず、お一人様 1 回のみご利用いただけます。 政府職員の方は、無料の認定試験を受ける前に、ご自身の参加が許可されているか、また適用されるポリシーや法律に従っているかどうか、雇用主にご確認ください。 無料受験バウチャー (以下、特典) は、Pearson Vue 公認のテストセンターまたは Pearson Vue のオンライン試験サイトで実施される Microsoft Certification 試験を 1 回受験するために利用できます。 本特典は、マイクロソフト社の一部の試験にのみ適用されます。対象となる試験は以下の通りです。 ...

11月 4, 2021 · 1 分 · 168 文字 · Me

Microsoft Loop gives users a single, flexible and collaborative canvas to get work done

MicrosoftはIgnite 2021 Fallで新しいコラボレーションツール Loopを発表した。 Microsoft Loopはスタンドアロンのアプリとしても、Outlook、Teams、OneNote、 Whiteboardに組み込まれた形もある。 参考資料 マイクロソフト、「Microsoft 365」の新コラボレーションツール「Loop」を発表 (https://japan.cnet.com/article/35178924/) MicrosoftがOfficeユーザー向けに発表した新たなコラボレーションツール「Microsoft Loop」では何ができるのか? (https://gigazine.net/news/20211104-microsoft-loop-office-collaboration-tool/)

11月 4, 2021 · 1 分 · 14 文字 · Me

Create an image labeling project and export labels

WIP 参考資料 Create an image labeling project and export labels (https://docs.microsoft.com/en-us/azure/machine-learning/how-to-create-image-labeling-projects)

11月 4, 2021 · 1 分 · 11 文字 · Me

Introducing Mesh for Microsoft Teams

WIP 参考資料 Microsoft Teamsがメタバース対応、3Dアバターと仮想空間で現実のミーティングを再現 (https://atmarkit.itmedia.co.jp/ait/articles/2111/04/news052.html)

11月 4, 2021 · 1 分 · 5 文字 · Me