質問

私はすでに尋ねました 同様の質問 以前は、私は大きな制約があることを認めていませんでした:私はタグ(キーワード)を生成するためのユーザーツイートなどの小さなテキストセットに取り組んでいます。

また、受け入れられている提案(ポイントごとの相互情報アルゴリズム)は、より大きなドキュメントで動作することを目的としているようです。

この制約(小さなテキストのセットで動作する)を使用して、タグを生成するにはどうすればよいですか?

よろしく

役に立ちましたか?

解決

マルチワードタグの2つのステージアプローチ

あなたは出来る すべてのツイートをプールします 単一の大きなドキュメントに入り、次に抽出します n ツイートのコレクション全体からの最も興味深いコロケーション。その後、戻って、各ツイートにタグをタグ付けすることができます。このアプローチを使用して、 n データセット全体で生成されるマルチワードタグの総数になります。

最初の段階では、投稿されたNLTKコードを使用できます ここ. 。 2番目の段階は、すべてのツイートを簡単にループするだけで達成できます。ただし、速度が懸念される場合は、使用できます ピルセン 各コロケーションを含むツイートをすばやく見つける。

単語タグのツイートレベルPMI

示唆されているように ここ, 、シングルワードタグの場合、 ポイントごとの相互情報 個々の単語とツイート自体の、つまり

PMI(term, tweet) = log [ P(term, tweet) / (P(term)*P(tweet)) 

繰り返しますが、これは、あなたがより少ない(またはそれ以上)あなたが特定のドキュメントの用語に出くわすことを驚かせたことを大まかに教えてくれます。その後、最高の数の用語でツイートにタグを付けることができます PMI ツイートで。

ツイートの一般的な変更

ツイートでタグ付けするときに作成したいと思うかもしれないいくつかの変更には、次のものがあります。

  • ツイートのタグとして単語またはコロケーションを使用するだけで、 他のツイートの特定の数または割合. 。それ以外の場合、PMIは、1つのツイートで発生するが、他の場所では見られない奇妙な用語でツイートにタグを付ける傾向があります。たとえば、#@$#@$%!

  • 各ツイートの長さで使用されるタグの数をスケーリングします。長いツイートで2つまたは3つの興味深いタグを抽出できる場合があります。しかし、短い2つの単語のツイートの場合、あなたはおそらく すべての単語とコロケーションを使用してタグを付けたくない. 。ツイートの長さを考慮して、抽出するタグの数について、異なるカットオフを試す価値があります。

他のヒント

SMSEなどの小さなテキストコンテンツには、以前にメソッドを使用しました。そこでは、同じ行を2回繰り返すだけです。驚くべきことに、それは名詞がトピックになる可能性のあるそのようなコンテンツに適しています。つまり、トピックになるために繰り返すためにそれを必要としません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top