
No.8ベストアンサー
- 回答日時:
そうなると、自分でツールを開発するしかなさそうですね。
形態素解析で分割してから比較するような感じで。
今さら聞けない「自然言語処理(NLP)」とは?
https://ainow.ai/natural_language_processing/
Python, Janomeで日本語の形態素解析、分かち書き(単語分割)
https://note.nkmk.me/python-janome-tutorial/
形態素解析をして日本語の文章を単語区切りにする方法
https://ai-kenkyujo.com/2017/10/02/word/
度々のご回答、アドバイス、ありがとうございます。
やはり自作するしかなさそうですか・・・
期待するものに近いことができそうなライブラリがGoogleにありそうですし、それを使って自作するか、
別途、アドバイスいただいた統計・推定を行う方向で検討してみます。
お手数をお掛けし申し訳ございませんでした。
No.9
- 回答日時:
統計学を利用して推定するのもありですね。
① 差異のある行数をカウント
② ①の行から無作為に選ぶ
③ ②で選んだ行ごとの間違い文字をカウント
④ ②で選んだ行ごとの文字数をカウント
③ 全体数を統計学で推定する
No.7
- 回答日時:
こういうやつですか?
文章差分表示(文字単位)
https://crocro.com/tools/item/diff_char.html
2014年度メディアで取り上げられている話題で注目された、オンラインの Diff ツール
その名もdifff
https://freesoft-100.com/review/difff.html
テキスト比較ツール difff《デュフフ》ver.6.1
https://difff.jp/
度々のご回答、ありがとうございます。
これも差異判定の仕方としては、WinMerge同様に想定通りなのですが、
差異のある文字数の表示まではしてくれ無さそうで・・・
申し訳ございません・・・
No.6
- 回答日時:
WinMergeで出来そうな気がします。
差分データを作って文字数をWordとかで数えられます。
WinMergeで差分(不一致)データのみ表示させる方法
http://write-remember.com/archives/5180/
ご回答、ありがとうございます。
WinMergeで差異のある行数を把握するところまでは見つけられているのですが、
更にその中で、差異のある文字数(厳密でなくても可)を把握できないかと・・・
No.5
- 回答日時:
それですと似ている文章ならば可能ですが、大きく違うものは1文字ずつ比較しなおさないといけないので時間ばかりかかり不可能です。
ずれる範囲を十文字以内とかに限定して良いならば可能かもしれませんが難しいですね。だから無かったのだと思います。例えば行数が同じ文章を1行単位で比較ならば割と簡単に出来そうですが、改行が殆ど無いとかだとやはり無理ですけどね。
具体的に言うと「あいうえおかきくけこ」と「あいうえお~かきくけこ」(「~」は何万文字)の場合「かきくけこ」で出てくるまで調べ直さないといけないのが明白です。途中に「かきく」なんてものが有ったら「けこ」も同時に調べないといけないとか考えただけでも嫌になります
度々のご回答、ありがとうございます。
やはり無さそうですよね・・・
難しい&差異の定義が難しそうですもんね・・・
お手数をかけして申し訳ございませんでした。
No.4
- 回答日時:
> 差異のある文字数が幾つあるか
例えば、
「ABCDEFG」
「ABBCDEFG」
は何文字違う事になるの?
Bが1個多いって数えるなら1か所だし。
上の行を基準に比較するならC~Gの5か所。
下の行が基準ならB~Gの6か所。
「abc
def」
「ab
cdef」
の違いを、
3文字目のcと改行コードの1バイト目の0x0d
4文字目の改行コードの1バイト目の0x0dと改行コードの2バイト目の0x0a
5文字目の改行コードの2バイト目の0x0aとc
の3か所だって事でOKなら、コマンドラインのFCコマンドを/bオプションでバイナリ比較すれば、違う個所を一覧してくれるので、FINDコマンドで「:」をカウントとか。

ご回答、ありがとうございます。
>例えば、
> 「ABCDEFG」
> 「ABBCDEFG」
>は何文字違う事になるの?
1か所として判定したいです。
判定のイメージは、比較ツール「winmerge」のイメージで出来ればと。
なのでFCコマンドだと、違うって判定が多くなりすぎてしまって・・・
スミマセン・・・
No.2
- 回答日時:
あまり一般的でない用途なので、そういうプログラムはない可能性が高いですね。
テキストファイルを比較して、一致する文字数と一致しなかった文字数を出力するプログラムは難しくありません。
Perlを使うのなら、まずファイルAを読み込んで、各文字をキーにして連想配列を作ります。
次にファイルBを読み込んで、各文字をキーにして連想配列の存在をチェックして、もしその連想配列が存在すればその文字は両方のファイルに存在する、その連想配列が存在しなければその文字はファイルBにしか存在しない。
読み込むファイルの順序を変えて同様にすれば、ファイルBに存在して、ファイルAに存在しない文字はわかります。
行数にして20行程度のスクリプトです。
もし、Perlスクリプトを走らせられる環境があるなら、書いてもかまいませんが。
ご回答、ありがとうございます。
やはり無さそうですか・・・
プログラムを組むのが得意ではないので、既存のツールがあればと思ったのですが・・・
No.1
- 回答日時:
作るのは簡単なんですが、例えば途中で1文字追加した場合、その後全てずれてしまいますよね。
それより前の文字数と以降の文字数(たまたま合った文字は合致の方へカウント)で良いのでしょうか?また比較ですが文字単位でしょうか?それともバイト単位でしょうか?
ご回答、ありがとうございます。
比較は文字単位を考えています。
途中で文字の挿入があった場合、その後の文字は合っているので、挿入された文字数分をカウントできれば良いかなと。
比較ツール「winmerge」のイメージで、差異文字数カウントができればと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Notionが、テーブルビューを一...
-
Excel csvから開くと上限文字数...
-
ペイントでのテキスト修正
-
イラストレーターで、円に沿っ...
-
webでのファイル名の文字数につ...
-
フォトショップで、スキャナ取...
-
1MBでドレくらいの文章を書くこ...
-
スペイン語で「i」や「o」の上...
-
イラレでの文字。文字の高さよ...
-
フォトショップエレメンツ3.0で...
-
4個の文字a,b,b,cから3個の文字...
-
ラテン文字(aなどの上に点が二...
-
フォトショップの文字ツールで...
-
イラストレーターで、文字ツー...
-
A4のレポート用紙1枚で2000文字...
-
Lotsu Notes7 同一文章内リン...
-
Word 文字が勝手に消えていく
-
パソコンスクリーンの文字が小...
-
「~文字以内でまとめなさい」...
-
Illustratorで上付き・下付き文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Notionが、テーブルビューを一...
-
Excel csvから開くと上限文字数...
-
A4のレポート用紙1枚で2000文字...
-
1MBでドレくらいの文章を書くこ...
-
フォトショップで、スキャナ取...
-
スペイン語で「i」や「o」の上...
-
イラストレーターで、文字ツー...
-
Inkscapeで文字を変形するには
-
イラストレーターで、円に沿っ...
-
ドキュワークス文書にて、フリ...
-
VB6 String型変数の文字数制限
-
10分間で1200文字打てる...
-
ペイントでのテキスト修正
-
添削文字の色の変更(一太郎)
-
イラストレイターでの文字間隔
-
パソコンソフトのシリアルナンバー
-
英文の字下げ、について
-
ラテン文字(aなどの上に点が二...
-
Lotsu Notes7 同一文章内リン...
-
作ったマクロを複数のシートで...
おすすめ情報
色々とご回答、アドバイス、ありがとうございました。
テキスト比較をして、削除された文字数、追加された文字数をカウントしてくれるサイトがあったので、そちらを使ってみようと思います。
http://lab.hidetake.org/diff/
皆様、お手数をおかけして申し訳ございませんでした。