Google Cloud Natural Language API を使用してツイートを分類/分類し、対象ユーザーに関係のない (天気に関連する) ツイートを除外しようとしています。AI ソリューションが短い量のテキストを分類するのは難しいに違いないことは理解できますが、少なくとも次のようなテキストを推測できると思います。
午前 6 時から 9 時にかけて、アーカンソー州北西部からアーカンソー州北部、オクラホマ州北部の一部に至るまで、0 度からマイナス 5 度の寒気が予想されます。#arwx #okwx
いくつかのツイートをテストしましたが、カテゴリ化されるのはごくわずかで、残りは結果が得られません (または、「カテゴリが見つかりません。より長いテキスト入力を試してください」という GUIを使用した場合)。
これが機能することを期待するのは無意味ですか?または、分類のしきい値を下げることはできますか? NLP ソリューションからの「知識に基づいた推測」は、フィルターをまったく使用しないよりも優れています。代替ソリューションはありますか (独自の NLP モデルのトレーニング以外)?
編集:明確にするために:
結局、ツイートを分類するために Google Cloud Platform Natural language API を使用しています。それをテストするために、私はGUIを使用しています(上記のリンク)。私が (GUI で) テストしたツイートのかなりの数が、GCP NLP から分類されていることがわかります。つまり、カテゴリは空です。
私が望む望ましい状態は、空の結果を提供するのではなく、GCP NLP がツイート テキストのカテゴリ推測を提供することです。NLP モデルは、信頼度が X% 未満の結果をすべて削除すると想定しています。そのしきい値を構成できるかどうかを知ることは興味深いでしょう.
ツイートの分類は以前に行われたにちがいないと思いますが、これを解決する他の方法があれば教えてください。
編集 2: ClassifyTweet-code:
async function classifyTweet(tweetText) {
const language = require('@google-cloud/language');
const client = new language.LanguageServiceClient({projectId, keyFilename});
//const tweetText = "Some light snow dusted the ground this morning, adding to the intense snow fall of yesterday. Here at my Warwick station the numbers are in, New Snow 19.5cm and total depth 26.6cm. A very good snow event. Photos to be posted. #ONStorm #CANWarnON4464 #CoCoRaHSON525"
const document = {
content: tweetText,
type: 'PLAIN_TEXT',
};
const [classification] = await client.classifyText({document});
console.log('Categories:');
classification.categories.forEach(category => {
console.log(`Name: ${category.name}, Confidence: ${category.confidence}`);
});
return classification.categories
}