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

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

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

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

Python

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

Q&A

解決済

1回答

5634閲覧

動的計画法による2文間の単語の対応付け

minato_hy

総合スコア68

Mecab

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

Python

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

0グッド

1クリップ

投稿2015/05/27 05:22

動的計画法で2文間の単語の対応付けをしたいのですが,テーブルや漸化式の設定のイメージができません.

具体的には,例えば

  • x=「彼女は元気です」
  • y=「彼女なんかは元気よ」

という2文があったとき,それぞれを形態素解析し

  • xx=[「彼女」,「は」,「元気」,「です」]
  • yy=[「彼女」,「なんか」,「は」,「元気」,「よ」]

と単語に分割し,動的計画法を使うことで

  • 「彼女」,「は」,「元気」はxxとyyでそのまま対応
  • 「なんか」は追加される(もしくは「は」が「なんかは」に置換される?)
  • 「です」は「よ」に置換される

というような対応付けをしたいのですが,動的計画法を用いる際にどのように設計すればいいのかが解りません.
編集距離で漸化式を作るのか,程度のぼんやりとした考えはあるのですが…….

なにか少しでも良いので知恵をお貸しいただけますでしょうか.

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

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

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

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

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

guest

回答1

0

ベストアンサー

「距離」や「置き換え」をどう定義するか、また、語順が変わったとき。
例: 今日はいい天気だ。 と いい天気だ今日は。
をどう扱うか、等と大きな問題はいろいろあると思いますが、それを除いて少しだけ。

まずは、日本語で形態素解析をした後の場合は、「単語」が英語で言う「文字」ひとつに相当すると言えるでしょう。文字の配列(=文字列) の代わりに、単語の配列を使って考えることになります。
その上で普通に編集距離を求めるというのが、まず、1つのアプローチとして考えられます。

個人的には、もう少しいろいろ状況を考えた上で「DP マッチング」を考えたらよいと思います。編集距離は DP マッチングの特別な場合と言ってよく。DP マッチングの手法に対する理解は、助けになると思います。
DP マッチングでは「単語」と「単語」の間に距離のようなものを定義して(例えば、単語の中の文字の一致度を距離とするとか)、また、「語の飛ばし」や「ジャンプ」に対するコストを定義することで、置き換えと考えるか、飛ばしと考えるか…を制御すること等もできます。
ざっくりすぎて分からないかと思いますが、調べてみることをお勧めします。

投稿2015/05/27 09:41

takotakot

総合スコア1111

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

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

minato_hy

2015/05/27 10:25

曖昧すぎる質問にもかかわらずご回答いただきありがたいです. 置き換えや飛ばしの制御など,参考になりそうなワードまでいただけたので, 仰るとおりDPに対する理解をもう少し深めてから改めて考えてみます. ありがとうございます.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問