Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

「することが可能」の類似表現 #7

Closed
shirayu opened this issue Dec 25, 2018 · 5 comments · Fixed by #11
Closed

「することが可能」の類似表現 #7

shirayu opened this issue Dec 25, 2018 · 5 comments · Fixed by #11

Comments

@shirayu
Copy link
Contributor

shirayu commented Dec 25, 2018

「することが可能」の冗長性は,

  • 「することは可能」
  • 「することも可能」
  • 「する事も不可能」

等でも同様にあります.
現在はことが{可能, できる}にマッチしますが,
こと + { が,は,も } + { できる,出来る,可能,不可能}にマッチするように拡充できると考えます.

昔書いた論文を思い出したのでissueとして立てます.
「こと」を含む可能形は https://hayashibe.jp/publications/NL224.pdf のp.3の表2参照

azu pushed a commit that referenced this issue Dec 31, 2018
#7 の一部に対処しました.

- "することを可能"
- "することをできる"

の検出を

- "すること[助詞]可能"
- "すること[助詞]できる"

に拡充しました.

またREADMEも修正しました.

#6 と同様にtechnological-book-corpus-jaを使った[比較結果](https://gist.github.com/shirayu/0507909cb8b5f3b689d46fcd29b489e4)も添付します.
@shirayu
Copy link
Contributor Author

shirayu commented Dec 31, 2018

残りは

  • 「することは不可能」

の対応です.

また合わせて読点の挿入にも対応できればと思います.

  • 「することは、可能」
  • 「することは、不可能」
  • 「することは,できる」

「不」や「、」の挿入を既存のルールの記述に微修正することで対応できればよいのですが,なにか良い方法は無いでしょうか?

@azu
Copy link
Member

azu commented Dec 31, 2018

「不」や「、」の挿入を既存のルールの記述に微修正することで対応できればよいのですが,なにか良い方法は無いでしょうか?

方法としては2種類ありますね。

  • 辞書側に 正規表現の ? に当たるような特殊なTokenを置けるようにする かつ それを処理する側(morpheme-match-all)に実装を追加する
  • 辞書から辞書を生成するような仕組みを作る
    • することは、?可能から
      • することは可能することは、可能 の辞書を作るような関数を実装する

どっちがいいかはちょっと悩みどころですね。
今のmorpheme-match-allは先頭から順番にマッチしかしてないので、読み飛ばし的なものがないですね。
(どこに処理を寄せるかの問題な感じですね)

Tokenベースの正規表現のようなDSLって確立されてない印象なんですよね。
Redpenはrulevalidator.mdという感じのtoken + RegExpの辞書定義をやっていますね(前者を発展させた方向はこれですね)

@shirayu
Copy link
Contributor Author

shirayu commented Dec 31, 2018

ありがとうございます.
後者は手軽に対処できるのがメリットですが,辞書が大きくなっていくと遅くなりそうなのがデメリットですね.
例えば,することは、?不?可能 からだと4つのルールが生成されてしまいます.

@azu
Copy link
Member

azu commented Dec 31, 2018

まあ、おそらく最終的には前者のパターンで実装することにはなる気はしています。
morpheme-matchがあんまり考えて作らたものじゃないので、これを拡張するか作り直すかですね。

そういえば、正規表現で大雑把にマッチ + Tokenベースで厳密チェック という趣旨のものを以前書いてたのを思い出しました。(これは辞書で表現するというよりは、コードでマッチングを書いていく方向かな)

@shirayu
Copy link
Contributor Author

shirayu commented Dec 31, 2018

ひとまず,マッチしない場合はskipできるような仕組みを入れました
azu/morpheme-match#2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants