Skip to content
New issue

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

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

Already on GitHub? # to your account

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

Closed
officel opened this issue Jan 5, 2024 · 4 comments · Fixed by #63
Closed

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

officel opened this issue Jan 5, 2024 · 4 comments · Fixed by #63

Comments

@officel
Copy link

officel commented Jan 5, 2024

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

という文が

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

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

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

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

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

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

@azu
Copy link
Member

azu commented Jan 6, 2024

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

image

色々な形態素解析器の結果 kuromoji(このルールが使ってる)

https://azu.github.io/morpheme-match/?text=%E3%81%93%E3%82%8C%E3%81%AB%E3%81%99%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E6%A4%9C%E8%A8%8E%E3%81%99%E3%82%8B

sudachi.rs

echo "これにするかどうか検討する" | sudachi
これ	代名詞,*,*,*,*,*	此れ
に	助詞,格助詞,*,*,*,*	に
する	動詞,非自立可能,*,*,サ行変格,終止形-一般	為る
か	助詞,副助詞,*,*,*,*	か
どう	副詞,*,*,*,*,*	どう
か	助詞,副助詞,*,*,*,*	か
検討	名詞,普通名詞,サ変可能,*,*,*	検討
する	動詞,非自立可能,*,*,サ行変格,終止形-一般	為る
EOS

vibrato

image

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

image

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

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

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

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

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

  • 書き間違いは、間違いなく弾きたい
  • 冗長な表現は、可能なら弾きたい
    • こっちを厳しくしすぎると誤検知しやすい(形態素解析の限界がある)
    • 必要ならオプションでON/OFFできるようにする

個人的には、

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

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

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

@officel
Copy link
Author

officel commented Jan 6, 2024

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

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

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

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

  • 日本語の文法としては正しい認識
  • ルールとしては
    • 弾かれている
    • 正しいものは許可したい
    • 書き間違いや冗長な表現は弾きたい(誤検知は避けたい)
    • 文例の収集が必要
  • 現状では
    • 書き換え
    • ”か”を許可(書き間違いを許容?)
    • (無視する)

のように認識しました。

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

@azu
Copy link
Member

azu commented Jan 6, 2024

〜か〜か のパターンで、

かどうか

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

@azu
Copy link
Member

azu commented Jan 6, 2024

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

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

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

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants