textlint-ja / textlint-rule-no-doubled-joshi

文中に同じ助詞が複数出てくるのをチェックするtextlintルール
MIT License
22 stars 4 forks source link

質問: ~かどうか、について #62

Closed officel closed 9 months ago

officel commented 9 months ago

にするかどうか検討する にするかどうか、検討する にするかどうか

という文が

error 一文に二回以上利用されている助詞 "か" がみつかりました。

に引っかかってしまいました。

https://github.com/textlint-ja/textlint-rule-preset-ja-technical-writing を使用しています。 例外も多いのでこちらを参照するようにと書いてあったので見てみましたが、”かどうか”には言及がないようでした。

プログラムのコメント にも”かどうか”はあるようです。

単純に”か”を除外すると、”AかBか”も除外されてしまうようなので、どう対処しようか考えています。 (一旦”にするか検討する”と修正しました)

textlint-rule-no-doubled-joshi として方向性等あれば教えてください。

azu commented 9 months ago

形態素解析した品詞的には、どちらも同じ "助詞"分類 の "か" なので、2重助詞のルールにかかってしまってる感じですね。

image

色々な形態素解析器の結果 kuromoji(このルールが使ってる) [sudachi.rs](https://github.com/WorksApplications/sudachi.rs) ``` echo "これにするかどうか検討する" | sudachi これ 代名詞,*,*,*,*,* 此れ に 助詞,格助詞,*,*,*,* に する 動詞,非自立可能,*,*,サ行変格,終止形-一般 為る か 助詞,副助詞,*,*,*,* か どう 副詞,*,*,*,*,* どう か 助詞,副助詞,*,*,*,* か 検討 名詞,普通名詞,サ変可能,*,*,* 検討 する 動詞,非自立可能,*,*,サ行変格,終止形-一般 為る EOS ``` [vibrato](https://github.com/daac-tools/vibrato) ![image](https://github.com/textlint-ja/textlint-rule-no-doubled-joshi/assets/19714/311aa929-6317-4392-8205-31d3fc1358be)

「〜か〜か」の用法は色々混ざってるみたいですね。

image

形態素解析器のレベルだと、「AかBかで悩む」と「これにするかどうか検討する」は同じ品詞構造なんですよね。

ただ、前者が並列の「か」 = A OR B に対して、 後者は体言止めのように感じるので、「これにするかどうか?検討する」と疑問的な区切りを省略した形に見えるので、 異なるものとして認識してるのかも知れません。

厳しくチェックするかどうか

は 「厳しくチェックするかどうか?」の略っぽいですよね。

ルールとしてどうするかは、もうちょっと弾きたい文章とそうではないものを集めないと決めにくい感じがしますね。 並立助詞は許可してるので、「AかBか」自体も文法としてはあっていて、これをデフォルトで許容してないのは逆に実装漏れなようにも思えます。 一方で単純に許可すると書き間違いも抜けてしまう気がするので、意図してない「〜か〜か」パターンの完全な文章を集める必要がありそうです。


個人的には、

これにするかどうか検討する

これにするのかを検討する

としてしまうことが多いです。

officel commented 9 months ago

ありがとうございます。把握しました。

https://www.jpf.go.jp/j/urawa/j_rsorcs/textbook/setsumei_pdf/setsumei16_2.pdf のように日本語の説明をしているサイトでも例があるので、S かどうか、はありだなと思ったのと、 日本語スタイルガイドでは類似の記載が見られなかったのと、 日本語文型辞典では”たらどうか”くらいしか記載がみられず、 このリポジトリでも言及がないようだったので質問させていただいた次第です。

※ 書きながら日本語文型辞典を見直していたら”か”の項目に”かどうか”載ってました。。。(”どうか”で探していた)

今後のためにまとめておくと、今のところ ”かどうか” については

のように認識しました。

個人的には一旦書き換えでお茶を濁す予定です。 ありがとうございました。

azu commented 9 months ago

〜か〜か のパターンで、

かどうか

だけを例外として許容するのは安全そう(これが助詞の入れ間違いで起きない気はする)なので、これだけ例外として許可する実装を追加してみます。

azu commented 9 months ago

これにするかどうか検討する 日本料理が好きかどうか聞いてください ここがわたしたちの席かどうか確かめましょう。

など 〜かどうか のパターンをデフォルトで例外として許容するように変更しました。

https://github.com/textlint-ja/textlint-rule-no-doubled-joshi/releases/tag/v5.0.1

更新方法

直接利用している場合

npm install --save-dev textlint-rule-no-doubled-joshi

presetとかを利用している場合

npm update textlint-rule-no-doubled-joshi