質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

Q&A

0回答

2148閲覧

Twitter API 検索の複数条件

pon244

総合スコア59

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

0グッド

0クリップ

投稿2020/02/10 07:27

編集2020/02/10 07:30

TwitterのAPIを使用して、ある言葉と共に呟かれてる言葉の頻出分析をしております。

下記のコードで、複数の言葉を含む検索も可能でしょうか?

例)学校&ひま が両方含まれる検索方法

コード

#検索キーワード q = "学校  exclude:retweets" date_since = "2020-01-01" #データ取得 tweet_doc =[] for tweet in tweepy.Cursor(api.search, q=q,tweet_mode="extended",since=date_since).items(500): tweet_doc.append(tweet.full_text) import MeCab def sep_by_mecab(text): m = MeCab.Tagger ('-Ochasen') node = m.parseToNode(text) word_list=[] while node: hinshi = node.feature.split(",")[0] if hinshi in ["名詞"]: origin = node.feature.split(",")[6] if origin not in ["*","する","いる","なる","てる","れる","ある","こと","もの","日","ん","な","の","大","ない","そう","いい","の","大"] : word_list.append(origin) node = node.next return word_list documents=[] for t in tweet_doc: documents.append(set(sep_by_mecab(t))) import pyfpgrowth import pprint #分析 patterns = pyfpgrowth.find_frequent_patterns(documents, 5) #降順に並び替えて見やすく表示 sorted_patterns = sorted(patterns.items(),reverse=True,key=lambda x:x[1]) pprint.pprint(sorted_patterns) from collections import Counter import pandas as pd pd.set_option('display.unicode.east_asian_width', True) lines =sorted_patterns # 単語毎に頻度を積算 words = {} for line in lines: for word in line[0]: if word not in words: words[word] = 0 words[word] += line[1] df = pd.DataFrame({'value':list(words.keys()), 'count':list(words.values())}) df = df.sort_values('count', ascending=False).reset_index(drop=True) df = pd.DataFrame(df, columns=['単語', '件数']) df.to_excel('pattern5.xlsx', index=None) import pytablewriter writer = pytablewriter.MarkdownTableWriter() writer.from_dataframe(df.head()) writer.write_table() import pandas as pd df = pd.DataFrame(sorted_patterns, columns=['単語', '件数']) df.to_excel('patterns6.xlsx', index=None)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2020/02/10 09:17 編集

Twitterの検索の仕方(=qの書き方)を聞いているのか、"学校"でTwiiter検索した結果に対してさらにフィルター的な処理の仕方を聞いているのかハッキリしません。(前者だとしたら余計なソースが多すぎるせいで判断を迷います)
pon244

2020/02/10 10:05

後者です! 例えば、学校!って呟いてる人のツイートを集めて更にその中で同時に”暇”ってツイートしてる人を集めたいです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問