그래서 MongoDB에 title
(그리고 많은 다른 것들)이라는 필드가있는 아이템을 가지고 있습니다.팬들 데이터 프레임을 사용하는 nGram 주파수
{
"christmas 2017": 30,
"foo bar": 4,
"apple iphone": 10,
...
}
것이 가장 많이 사용되는 단어를 전체 시간을 검색 할
나는 '이 작업을 수행 할 수 있습니다 '하지만 그것도 나에게 한 번만 쓸모가 없기 때문에 원하지 않는 주파수 1 번을 가진 ngram을 제공하므로 쓸모없는 정보가됩니다.
이 점은 제목에서 가장 일반적인 단어를 얻는 것입니다. 좋은 ngram 범위는 2-3 단어가 될 것입니다. 1은 충분하지 않고 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
과 같은 긴 텍스트 필드를 구문 분석하여 가장 많은 정보를 정리해야합니다. 중고 물건.
보너스로, 스크립트에 최소한의 반복 빈도를 말할 수만 있다면, 그것은 굉장 할 것이므로 나중에 어떤 요구에도 맞을 수 있습니다.
좋은 답변이지만 원래 스크립트에서와 같이 nGrams> x를 dict'{ "apple iphone": 7}'에있는 수와 함께 어떻게 출력 할 수 있습니까? [apple apple "]' 원하는 결과가 그 정보가 담긴 줄거리이기 때문에 –