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

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

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

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

自然言語処理

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

Q&A

解決済

1回答

2559閲覧

動詞の活用形を基本形に戻して分かち書きし,分かち書きした後に元の活用形に戻したい

退会済みユーザー

退会済みユーザー

総合スコア0

Mecab

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

自然言語処理

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

0グッド

1クリップ

投稿2018/11/27 05:24

編集2018/11/27 09:00

前提・実現したいこと

例として,歩こうを分かち書きするとする.
そうした場合, 歩こ う となる.
今回実現したいことは 歩こう を分かち書きする時に,歩くという基本形で分かち書きしてから,元の ~こう(ここでは歩こう) のような活用形に戻したい.

歩こう 基本形にする→ 歩く 分かち書き→ 歩く 元の活用形にする→ 歩こう

どのようにしたら実現できるか教えていただきたいです.

該当のソースコード

Python

1import MeCab 2 3m = MeCab.Tagger("-Owakati") 4print("分かち書きしたい文章") 5x = input() 6print("入力文:" ,x) 7 8print("結果:" ,m.parse(x))

試したこと

基本形で分かち書きする方法は見つけたが,それを元の活用形に戻す方法が分からないので詰まっている.

補足情報(FW/ツールのバージョンなど)

Python3.7.1

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

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

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

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

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

guest

回答1

0

ベストアンサー

基本形で分かち書きする方法としてどんなものを参照したのかはわかりませんが、基本形に変換した時点で元の情報は失われます。

「歩こう」を「歩く」にするような返還に通すとすると、「歩く」「歩いた」「歩かない」はすべて「歩く」になり、その情報だけでは元の形態素を復元できません。

普通に分かち書きして基本形に変換する、ならたぶんできます。助詞・助動詞が残るのに難儀しそうですが。

投稿2018/11/27 09:07

hayataka2049

総合スコア30935

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

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

退会済みユーザー

退会済みユーザー

2018/11/27 09:17

回答ありがとうございます. なるほど,元の情報が失われるのなら不可能なのかもしれませんね...
hayataka2049

2018/11/27 09:34

分かち書きにこだわらなければ基本形の情報はfeatureとして出てくる訳で、たとえば「歩こう」をmecabで解析すると 歩こう 歩こ 動詞,自立,*,*,五段・カ行イ音便,未然ウ接続,歩く,アルコ,アルコ う 助動詞,*,*,*,不変化型,基本形,う,ウ,ウ EOS となります。ここから加工するのでは駄目ですか?(featureを,でsplitして6番目ですね)
退会済みユーザー

退会済みユーザー

2018/11/28 05:06

ありがとうございます. ここから加工するのでも全然問題ありません.
退会済みユーザー

退会済みユーザー

2018/11/29 04:12

活用形を基本形にして分かち書きすることで,その単語の類似語を検出したいと思っていたのですが,元の活用形の形を何かの変数などに保存することはできるのでしょうか?
hayataka2049

2018/11/29 04:41

具体的にどんなことをやるのかわかりませんが、たぶんできるでしょう
退会済みユーザー

退会済みユーザー

2018/11/29 04:58

具体的には,文章を分かち書きしてファイルAに保存し,ファイルAとファイルB(語彙表)を比較してファイルBに登録されていない単語がファイルAに入っていたらそれを難解語として検出します. その難解語の類義語を抽出して元の難解語と置換して,置換後の文章を出力しようと思ってます. 動詞は終止形でないと語彙表に登録されていないので,活用形をどうにかして基本形にして分かち書きしたいと考えていました.
hayataka2049

2018/11/29 05:16

それなら、分かち書きして保存するのではなく、解析結果の詳細な情報が残る適当なフォーマットで出力すれば良いですね。mecabのデフォルトフォーマットでも良いですし、自分で定義しても良いです。
退会済みユーザー

退会済みユーザー

2018/11/29 05:37

ありがとうございます. その情報を保存し,基本形を活用形に変換してみようと思います. また質問することがあるかもしれませんが,その時はよろしくお願いします...
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問