Qiitaイベント「国内AIモデル推論プラットフォーム『ai& Inference』を使ってみよう」の各モデルに対して、国語研短単位でのUPOS (Universal Part-Of-Speech)品詞付与をFew-Shot Promptingでやってみた。例文は、2024年6月11日の記事と同じものを使用した。Google Colaboratoryだと、こんな感じ。
!pip install openai
msg=[{"role":"system","content":"与えられた文をUPOSで品詞付与して下さい。"},
{"role":"user","content":"一直線に伸びる電撃を放ち、電撃ダメージを与える。"},
{"role":"assistant","content":"一_NUM|直線_NOUN|に_ADP|伸びる_VERB|電撃_NOUN|を_ADP|放ち_VERB|、_PUNCT|電撃_NOUN|ダメージ_NOUN|を_ADP|与える_VERB|。_PUNCT"},
{"role":"user","content":"色々と面白いメニューのある店。"},
{"role":"assistant","content":"色々_ADV|と_ADP|面白い_ADJ|メニュー_NOUN|の_ADP|ある_VERB|店_NOUN|。_PUNCT"},
{"role":"user","content":"しかも、ここはコースがリーズナブルなのです。"},
{"role":"assistant","content":"しかも_CCONJ|、_PUNCT|ここ_PRON|は_ADP|コース_NOUN|が_ADP|リーズナブル_ADJ|な_AUX|の_SCONJ|です_AUX|。_PUNCT"},
{"role":"user","content":"彼はコンピュータを個人の持ち物にしました。"},
{"role":"assistant","content":"彼_PRON|は_ADP|コンピュータ_NOUN|を_ADP|個人_NOUN|の_ADP|持ち物_NOUN|に_ADP|し_VERB|まし_AUX|た_AUX|。_PUNCT"},
{"role":"user","content":"2007年9月現在、以下のメーカーから対応製品が発売されている。"},
{"role":"assistant","content":"2007_NUM|年_NOUN|9_NUM|月_NOUN|現在_ADV|、_PUNCT|以下_NOUN|の_ADP|メーカー_NOUN|から_ADP|対応_NOUN|製品_NOUN|が_ADP|発売_VERB|さ_AUX|れ_AUX|て_SCONJ|いる_VERB|。_PUNCT"}
]
from openai import OpenAI
client=OpenAI(base_url="https://api.aiand.com/v1",api_key="sk-your-api-key")
nlp=lambda mdl,txt:client.chat.completions.create(model=mdl,temperature=0,messages=msg+[{"role":"user","content":txt}]).choices[0].message.content.strip()
for mdl in ["zai-org/glm-5.2","moonshotai/kimi-k2.7-code","deepseek-ai/deepseek-v4-pro","deepseek-ai/deepseek-v4-flash","qwen/qwen3.6-27b","google/gemma-4-31b-it","zai-org/glm-5.1","openai/gpt-oss-120b","moonshotai/kimi-k2.6"]:
print("###",mdl)
print(nlp(mdl,"国境の長いトンネルを抜けると雪国であった。"))
私(安岡孝一)の手元では、以下の結果が得られた。
zai-org/glm-5.2
国境_NOUN|の_ADP|長い_ADJ|トンネル_NOUN|を_ADP|抜ける_VERB|と_SCONJ|雪国_NOUN|で_AUX|あっ_AUX|た_AUX|。_PUNCT
moonshotai/kimi-k2.7-code
国境_NOUN|の_ADP|長い_ADJ|トンネル_NOUN|を_ADP|抜ける_VERB|と_SCONJ|雪国_NOUN|で_AUX|あっ_AUX|た_AUX|。_PUNCT
deepseek-ai/deepseek-v4-pro
国境_NOUN|の_ADP|長い_ADJ|トンネル_NOUN|を_ADP|抜ける_VERB|と_SCONJ|雪国_NOUN|で_AUX|あっ_AUX|た_AUX|。_PUNCT
deepseek-ai/deepseek-v4-flash
国境_NOUN|の_ADP|長い_ADJ|トンネル_NOUN|を_ADP|抜ける_VERB|と_ADP|雪国_NOUN|で_AUX|あっ_VERB|た_AUX|。_PUNCT
qwen/qwen3.6-27b
国境_NOUN|の_ADP|長い_ADJ|トンネル_NOUN|を_ADP|抜け_VERB|る_AUX|と_CCONJ|雪国_NOUN|で_AUX|あっ_VERB|た_AUX|。_PUNCT
google/gemma-4-31b-it
国境_NOUN|の_ADP|長い_ADJ|トンネル_NOUN|を_ADP|抜ける_VERB|と_SCONJ|雪国_NOUN|で_AUX|あっ_VERB|た_AUX|。_PUNCT
zai-org/glm-5.1
国境_NOUN|の_ADP|長い_ADJ|トンネル_NOUN|を_ADP|抜ける_VERB|と_SCONJ|雪国_NOUN|で_AUX|あっ_AUX|た_AUX|。_PUNCT
openai/gpt-oss-120b
国境_NOUN|の_ADP|長い_ADJ|トンネル_NOUN|を_ADP|抜ける_VERB|と_SCONJ|雪国_NOUN|で_ADP|あった_VERB|。_PUNCT
moonshotai/kimi-k2.6
国境_NOUN|の_ADP|長い_ADJ|トンネル_NOUN|を_ADP|抜ける_VERB|と_ADP|雪国_NOUN|で_AUX|あっ_VERB|た_AUX|。_PUNCT
ざっと見たところ、zai-org/glm-5.2とmoonshotai/kimi-k2.7-codeとdeepseek-ai/deepseek-v4-proとzai-org/glm-5.1がOKだと思う。qwen/qwen3.6-27bとopenai/gpt-oss-120bは、国語研短単位と合致しておらずNGである。まあ、例文に対する得手不得手もあるだろうから、なかなか判断が難しいところだが、参考にしてほしい。