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

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

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

Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

Python 3.x

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

Mecab

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

自然言語処理

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

Q&A

解決済

3回答

1750閲覧

Word2vecは必ずしも基本形でなくてもいいですか。

good_morning

総合スコア61

Chainer

Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

Python 3.x

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

Mecab

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

自然言語処理

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

0グッド

0クリップ

投稿2019/03/27 03:17

現在、chainerによる自然言語処理をしています。
文章をMecabで分かち書きして、Word2vecでベクトル化しようとしていますが、単に分かち書きしただけでは、単語の基本形にならないようです。

テキスト:
"お会いできて嬉しかったです。"

分かち書き:
"お 会い でき て 嬉しかっ た です 。"

分析:
お オ お 接頭詞-名詞接続
会い アイ 会う 動詞-自立 五段・ワ行促音便 連用形
でき デキ できる 動詞-非自立 一段 連用形
て テ て 助詞-接続助詞
嬉しかっ ウレシカッ 嬉しい 形容詞-自立 形容詞・イ段 連用タ接続
た タ た 助動詞 特殊・タ 基本形
です デス です 助動詞 特殊・デス 基本形
。 。 。 記号-句点
EOS

分かち書きしただけでは、活用後の単語なので、「会い」と「会う」が同じ単語であるとは認識できないようです。
分かち書きした後は、基本形にしないとならないような気がしますが、どなたか詳しい方がいらっしゃいましたら、教えてください。

よろしくお願いします。

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

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

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

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

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

guest

回答3

0

ベストアンサー

特に基本形にする必要はありません。

http://www.anlp.jp/proceedings/annual_meeting/2017/pdf_dir/P11-4.pdf

タスクに依るので実験的に確かめる方がいいです。


追記

公開されている訓練済みコーパスは基本的に活用形で提供されています。
そうしないと生成系のタスクに使えないのです。

投稿2019/03/27 04:29

編集2019/03/27 06:40
quickquip

総合スコア11038

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

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

good_morning

2019/03/27 06:23

なるほど。,手のくわえられていないコーパスを手のくわえられたコーパ スすべてが正答率を上回る結果が示された。しかし、動詞と助動詞を基本形に変換したコーパスはあまり変わりがなかったということですね。とても興味深い結果です。とても参考になります。ありがとうございました。
good_morning

2019/03/27 08:55

つまり、目的によっては、コーパスに手を加えた方がいい場合があるが、文章を生成する場合には、手を加えることなく活用形で利用すべきであるというご意見ですね。
guest

0

前にも似たような質問があったので参考にしてください。
https://teratail.com/questions/160581

こちらは、特徴に関する記述になります。
https://hayashibe.jp/tr/mecab/dictionary/

具体的な基本形の変換プログラムは、以下の記事が非常に分かりやすいので使って見てください。具体的には、基本形は六番目の要素を取り出す形になります。
https://qiita.com/Lain_/items/5ff21cc0589630378c49

投稿2019/03/27 04:01

bamboo-nova

総合スコア1408

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

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

good_morning

2019/03/27 04:38

以前の事例は、よくわかりました。やはり活用形の意味が残るか残らないかの違いですね。
guest

0

Word2vecは必ずしも基本形でなくてもいいですか。

状況によりけりですが、

  • 活用形ごとに単語が区別される。その方が活用形ごとに意味を捉えられる可能性もあるし、逆にそれぞれ別の単語とみなされる分だけ頻度が落ちて不利かもしれないし
  • 無駄に単語数が増える
  • 特定の単語を取り出して見てみたいというとき不便といえば不便(複数あったりすると)

基本形の分かち書きにしたければ、コマンドラインからmecabを叩いているならオプションで指定してください。

mecab --node-format="%f[6] " --bos-format="" --eos-format="\n" --unk-format="%m "

試しにいじってみたら↑でそれっぽくなりましたが、検証していないので公式ページや解説記事を見ながらいろいろ試してみてください。

https://taku910.github.io/mecab/format.html

https://qiita.com/hasoya/items/0561bb1481a648aa8e6e

https://qiita.com/SUZUKI_Masaya/items/1e31b65b92640e045a99

pythonから叩くのであれば、node.featureを分割して・・・とかやってもいいし、mecabのインスタンスを作る時点で上のようなオプションを渡しておく手もあります。

投稿2019/03/27 03:49

編集2019/03/27 03:58
hayataka2049

総合スコア30933

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

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

hayataka2049

2019/03/27 04:00 編集

そういえば基本形の位置とかって辞書依存なんでしたっけ。IPA辞書ならこれで動きますが、他の辞書だと動かないと思います。あとは基本形はあっても*で登録されているときは突っぱねたい・・・といったケースも考えられるので、python側でちゃんと処理した方が幸せかも。
good_morning

2019/03/27 04:37

ありがとうございます。活用形ごとに単語が区別した方がいいのか、しない方がいいのかということですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問