nltkを使ってみた ngramの作成

前回raw_text -> tokensをやったのですが、このtokensを使ってngramを作るモジュールってないのかなと思い探しました。
ちなみにipythonでそれっぽい名前を見つける→ドキュメントっていう超非効率な探索をしていますいつも。
nltk.ngramsを使えばいいみたいです。

n = 4 #4-gram
nltk.ngrams(tokens, n)

解決ですね。

まとめ

nltkは便利

疑問

queryがnトークンからなるとしたらn+2グラムを考えればqueryの前後、直前2個前、直後2個後を考慮に入れる?
queryの前後の品詞が知りたい時に使えるか?
query -> query_tokens
sent -> sent_tokens
n = len(query_tokens) + 2
sent -> ngram_sent_tokens
として
query_tokensの全ての要素がngram_sent_tokensの要素の要素の中にあればいいということであって、
1回の出現につき3個取れる…はず?
というかそういうモジュールもありそうだな。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中