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

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

ただいまの
回答率

90.48%

  • Python

    8545questions

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

  • 自然言語処理

    123questions

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

pythonでの自然言語処理(SVOC判別)について

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 252

tys.prg

score 2

 前提・実現したいこと

プログラミング始めて1ヶ月程で、progateを中心に手探りで勉強しています。まだ趣味の範疇です。
とりあえずアウトプットとして、英語の文型(SVOC)を自動判別するプログラムを作りたいと考えています。
そこで以下質問です。

・使用言語はpythonで考えているが、問題ないか(機械学習やディープラーニングに興味があるため選択)
・初学者が独学で取り組むにはハードルが高過ぎないか
・おすすめの言語処理ツール(tree tagger,NLTKなど)
(・その他学習に役立つサイトや書籍、勉強会等)

右も左も分からず質問が成り立っているのかすら心配ですが、どなたかご回答のほどよろしくお願い申し上げます。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+3

progateでどんなことをやっているのかわからないので、適当に自然言語処理の入門として書きますが・・・。

使用言語はpythonで考えているが、問題ないか(機械学習やディープラーニングに興味があるため選択)

問題ありません。2018年現在においてはベストな選択でしょう。

初学者が独学で取り組むにはハードルが高過ぎないか

高いと思います。構文解析がややこしいです(ライブラリに投げるだけとも言いますが、使いこなすのがまた面倒くさいです)。ルールベースで文型を判定するのも面倒です。

もしかしたら既存のものがあるかもしれませんが、そしたらアウトプットとして面白くないでしょうし。

とりあえず文書から特徴語や特徴的な表現を抽出するみたいなネタとか、文書分類(スパム分類やニュースのカテゴリ判定など)あたりで遊んでみては? 

おすすめの言語処理ツール(tree tagger,NLTKなど)

英語でそういう解析(構文とかPOSタグとかいじるの)をやるなら事実上ほぼnltk一択です。nltkから色々なものを呼べるので、かなり便利です。ただし、nltkですべて完結するかはまた別です。
統計的言語処理チックにやるならgensimとか色々あります(LDAやword2vecなんかが使えます)。あとは機械学習使うと思うので、scikit-learnとか入れましょう。深層学習は当分手を出さなくて良いと思います(それよりコンベンショナルな機械学習を先に理解しないと辛いと思います)。

その他学習に役立つサイトや書籍、勉強会等

自然言語処理というテーマでまとまったサイトは日本語圏には(私の知る限り)ありません。書籍は色々あると思いますが、新しめで十分網羅的で入門書的なものはない印象です(一昔前なら「入門自然言語処理」という本がありましたが、さすがにもう古いと思います)。タイトルが良さそうなものを片っ端から読んでいくしかないです。
勉強会は行かないので知りません。ごめんなさい。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/05/16 19:57

    早くてご親切で分かりやすいパーフェクトなご回答本当にありがとうございました……。

    キャンセル

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

  • ただいまの回答率 90.48%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Python

    8545questions

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

  • 自然言語処理

    123questions

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