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

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

新規登録して質問してみよう
ただいま回答率
87.20%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Mecab

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

受付中

単語のデータセットを作成

aoisj
aoisj

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Mecab

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

3回答

0評価

0クリップ

2159閲覧

投稿2017/09/26 05:57

###やりたいこと
機械学習を行うためのデータセットを作成しようとしています。
具体的には一つの文章(小説など)のテキストファイルを入力として渡すと、
そのテキストファイル内容のジャンルを出力するようにしたいです。
実装しようとしているのは

1.テキストファイル名を入力する
2.指定したテキストファイルの中身を形態素解析する(Mecabを用いる)
3.形態素解析結果を特定の品詞(名詞や動詞)のみに絞り込む(ジャンル判定に影響があるもののみを使いたいため)
4.絞り込んだ単語(品詞?)についてTF-IDF値を求める(本来TF-IDF値は複数の文章から求めるものだが、1つの文章内での相対的な特徴量を求めるために採用している)
5.単語とTF-IDF値のセットをデータセットとして用意する(例:[自転車, 0.33412])

以上の5ステップを考えています。
そして現在は3ステップまで実装が完了しました。
しかし、4ステップ目をどのように実装すれば良いのかが分かりません。
また3ステップ目と4ステップ目の順番が正しいのか(逆ではないのか)を教えていただきたいです。

以下に実装途中のコードを記させていただきます。

-*- coding: utf-8 -*- import numpy as np from sklearn.feature_extraction.text import CountVectorizer from sklearn.feature_extraction.text import TfidfTransformer import sys import MeCab #CountVectorizer():文書ごとの単語の出現頻度を取得 count = CountVectorizer() m = MeCab.Tagger ("-Ochasen") doc = input('select file(ex, ○○.txt):') f = open(doc, "r",encoding = "utf-8") text = f.read() f.close() #絞り込みの基準を設定 """level = float(input('set level(0.0 <= level <= 1.0):'))""" #文字列を改行位置で区切って分割する chunks = m.parse(text).splitlines() #絞り結果を格納 sels = [] #絞り込み for chunk in chunks: print(chunk) #↓[コーヒー コーヒー コーヒー 名詞-一般]のこと cols = chunk.split('\t') if len(cols) >= 4: parts = cols[3].split('-') #名詞or動詞で始まっている場合 → 真 if parts[0].startswith('名詞') or parts[0].startswith('動詞'): #要素を追加 sels.append(chunk) #絞り結果 print('\n%s 絞り込み結果↓\n' %doc) for sel in sels: print(sel)

コード内には質問内容に含まれてない部分がありますが、ご了承ください。

今回初めて機械学習を行うので質問が丸投げのような状態になってしまい、
申し訳ございません。

説明不足なところが多々あると思うので、質問をしていただけると非常にありがたいです。

###実装環境
言語:python3
OS:ubuntu

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Mecab

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