Comments (10)
「ー」が名詞と解釈されるのは把握してましたが、優先度が低いので消しました
from ojosama.
「ー」が名詞と解釈されるのは把握してましたが、優先度が低いので消しました
なるほどです。このIssueでは「ー」はいったん考えず、終助詞に注目するようにしたってことですね。横やり入れて申し訳ないです 🙇
from ojosama.
ざっくりこういう感じだろうか。
変換前 | 意味 | 意味分類 | 変換後 |
---|---|---|---|
野球やろうぜ | 野球を一緒にやりませんか? | 希望 | お野球をいたしませんか?/お野球をいたしませんこと? |
野球やろうよ | 野球を一緒にやりませんか? | 希望 | お野球をいたしませんか?/お野球をいたしませんこと? |
野球やるべ | 野球を一緒にやりませんか? | 希望 | お野球をいたしませんか?/お野球をいたしませんこと? |
野球やるか | 野球をやります | 詠嘆 | お野球をいたしますわ |
野球やるな | 野球をしてはいけない | 禁止 | お野球をしてはいけませんわ |
野球すんな | 野球をしてはいけない | 禁止 | お野球をしてはいけませんわ |
野球するぞ | 野球をやりますよ | 強意 | お野球をいたしますわよ |
野球やるの | 野球をやりますよ | 強意 | お野球をいたしますわよ |
「名詞,一般 + 動詞,自立」は「〇〇する」「〇〇やる」系と言えるのかもしれないが、
終助詞が付くことで意味合いが変化する。
その他
「名詞,一般 + 動詞,自立」と「名詞,一般 + 動詞,自立+終助詞」だと、終助詞の方が条件が多いため、こっちを先に評価するようにルールを定義する必要があるのは確実。
from ojosama.
品詞の「動詞,自立」だけで評価すると「ボール転がす」の「転がす」もヒットしてしまうので、
「動詞,自立」AND「ベースの読みが する/やる 」って条件で変換すれば、だいぶ広範囲をカバーできるのではなかろうか
from ojosama.
こういう意味と終助詞の対応マップがあって。
希望: [ぜ, よ, べ]
詠嘆: [か]
禁止: [な]
強意: [ぞ, の]
意味にたいして、する、やるを変換する言い回しがあると言えるかな?
希望: [をいたしませんこと]
詠嘆: [をいたしますわ]
禁止: [をしてはいけませんわ]
強意: [をいたしますわよ]
from ojosama.
するorやるを変換後と対応付ける必要もあるか。
こんな感じでデータをもたせられれば、あとから「するorやる」以外が増えても差し込めば終わる。
do:
prev: ["名詞,一般"]
from: [する, やる]
終助詞:
希望: [ぜ, よ, べ]
詠嘆: [か]
禁止: [な]
強意: [ぞ, の]
to:
希望: [をいたしませんこと]
詠嘆: [をいたしますわ]
禁止: [をしてはいけませんわ]
強意: [をいたしますわよ]
from ojosama.
必ずしも prev が必要かどうかは分からないけれど、最初は要素多めに定義するほうが、誤変換が少なくすむ
from ojosama.
だいたい方針が固まったのでこれで実装する
from ojosama.
考察とずれてる話かもしれませんが、このIssueの元タイトルである「しようぜーがしようぜおーになる」は ー
が名詞として解釈されるからだと思っていました。
$ echo しようぜー | go run cmd/ojosama/*
{33391 0 2 しよ KNOWN [動詞 自立 * *] する シヨ シヨ [動詞 自立 * * サ変・スル 未然ウ接続 する シヨ シヨ]}
{6962 2 3 う KNOWN [助動詞 * * *] う ウ ウ [助動詞 * * * 不変化型 基本形 う ウ ウ]}
{37841 3 4 ぜ KNOWN [助詞 終助詞 * *] ぜ ゼ ゼ [助詞 終助詞 * * * * ぜ ゼ ゼ]}
{36 4 5 ー UNKNOWN [名詞 一般 * *] [名詞 一般 * * * * *]}
{38 5 6
UNKNOWN [記号 空白 * *] [記号 空白 * * * * *]}
しようぜおー
なので元のIssueまで解決するなら excludeRules に追加する必要がありそうです
excludeRules = []convertRule{
{
//別の除外ルール
},
{
Conditions: convertConditions{
{
Type: convertTypeFeatures,
Value: []string{"名詞", "一般"},
},
{
Type: convertTypeSurface,
Value: []string{"ー"},
},
},
},
}
from ojosama.
リロードしてもらえればタイトル変わってますね
from ojosama.
Related Issues (20)
- 半角の!や?も扱うようにする HOT 1
- !が出現したときに ❗ などの絵文字に変換する HOT 16
- 笑いの表現を「おほほ」に変換する HOT 2
- 名詞+動詞(+助動詞)+終助詞の先頭の名詞を外す HOT 1
- ルール定義をある程度まとめられるようにする
- トークン進行方法の改善 HOT 7
- 二人称の変換ルールを追加する
- convertConditionsに評価方法のAny / Chainを指定できるようにする HOT 2
- 過去形に対応する
- 変換結果に絵文字を付与する/付与しないを任意で制御できるようにする
- issue_templateを作成する
- 循環的複雑度が一定値を超えるとCIをエラーにする
- textlint入れる
- 変な変換
- 乱数の初期化をしないようにする
- Bash補完
- Zsh補完
- Fish補完
- READMEにユースケースを書く
- Go 1.19のテストを追加
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ojosama.