私はtitle
という名前のフィールドを持つMongoDBにいくつかのアイテムを持っていますが、ここではこれに焦点を当てます。私が最もよく使われる言葉に、全体の時間を取得したいパンダのデータフレームを使ったnGram周波数
は、例えば、期待される結果は、だから私は、その後バープロットをレンダリングして物事を見ることができます
{
"christmas 2017": 30,
"foo bar": 4,
"apple iphone": 10,
...
}
だろう私のコードで私は「これを行うことができます'しかし、それはまた、私は欲しくない、ただ1回の頻度でngramsを与えます。なぜなら、それらは一度も使われていないので、役に立たない情報なのです。
これは、タイトルの中で最も一般的な単語を取得することです.1つは十分ではなく、3つ以上があまりにも明確であるため、良いngramの範囲は2-3ワードになると思います。
この
が働いている私のコードですが、私はバーが描かれていることは言うまでもないvector = CountVectorizer(ngram_range=(2,2), analyzer='word')
n_gram = vectorizer.fit_transform(df[text_field])
frequencies = n_gram.toarray().sum(axis=0)
results = pd.DataFrame(frequencies, index=vectorizer.get_feature_names(), columns=['frequency'])
results.plot.bar()
を(これを達成するために、多分も良い方法)非繰り返し物事の乗り心地を取得する方法が必要です、無関係の膨大な情報(周波数が1つのもの)
このコードでは、これを使ってdescription
のような長いテキストフィールドを解析するので、最もよく使われるリストを取得する必要があります中古品。
私がスクリプトに最低限の繰り返し頻度を伝えることができれば、これはすばらしいことになるので、将来必要になる可能性があります。
元のスクリプトのように、dict '{" apple iphone ":7}'の代わりにnGrams> xのリストを出力するにはどうすればいいですか?["apple iphone"] '欲しい結果はそれらの情報を含むプロットなので –