• 締切済み

プログラムで文字を自動で変換するシステムを構築したいと思っています。

プログラムで文字を自動で変換するシステムを構築したいと思っています。 たとえば「私は元気です。しかし本日出席できず、すいませんでした。」 という文章を 「私は└(^0^)┘です。しかし本日出席できず、m(__)m。」 というように変換できるようにしたいです。 最終的には文章を読み込んで自動で変換して、テキストデータとして 書き出すような形にしたいと思っています。 ソースなどわかりやすく参考になるようなことでもいいので 教えていただけると幸いです。 よろしくお願いいたします。

みんなの回答

  • MIN06S
  • ベストアンサー率65% (15/23)
回答No.4

比較のやりやすさを考えると、言語は「日本語プログラミング言語なでしこ」を使ってみてはいかがでしょう? テキストデータの入力も、出力も簡単にできるので、そこでつまずくことはないと思います。 なでしこは日本語を直接扱えるのでこのような日本語のテキストデータを編集するのは得意です。 さらに、正規表現やワイルドカードを比較に簡単に用いることができるので、ほかの言語よりは構文解釈を簡単にできると思います。 方言などの対応は住んでる地域を設定しておくという方法ではどうでしょうか? ただ、この方法だと、「この地域はこの言い回し」のような方言のリサーチを行わないといけないので、時間がかかってしまいます。 まずは、方言、言い回しなどを考えないである程度の単語数でシステム自体を完成させて、それから少しずつ改良を加えていって実装していけばいいと思います。 参考URLになでしこのHPのURLを貼っておいたので見てみてください。 なでしこ自体、便利な言語なので、私は普段のちょっとした作業でも使っています。

参考URL:
http://nadesi.com/
  • yuipu
  • ベストアンサー率38% (18/47)
回答No.3

表現のあいまいさとかバリエーションをどのように判断するかは結構難しいですよね。 「すいませんでした」が「すみませんでした」、あるいは関西風の「すんません」だったり。 解釈プログラムの制限を理解したご自身の表現に限定という暗黙の入力ルールを設けるならなんとかできそうかしら。 Windowsの場合は str***などが用意されていますので、それらを使われてみては? http://msdn.microsoft.com/ja-jp/library/f0151s4x.aspx

  • trapezium
  • ベストアンサー率62% (276/442)
回答No.2

まじめに C で書くにしても、問題はエンコード合わせてから比較しなきゃいけないことぐらいで、後は力技で文字列比較していけばいいだけです。 文字コード認識したり変換したりは、OS とか使えるライブラリ次第だと思います。

回答No.1

> ソースなどわかりやすく参考になるようなことでもいいので > 教えていただけると幸いです。  基本機能としては処理的に難しいものじゃないので、やりたいことが明確なら自分で十分に調べられる範囲のものだと思いますが。何を知りたいのか具体的なものがないと……  それ以前にCなのかC++なのか、OSに依存した処理でいいのか、UIはどうなのかとか。  極端な話、処理の本体は自分で書かずにAWK等の既存のテキスト処理ツールを呼び出すだけとかいうインチキなプログラミングもありなわけですから。

関連するQ&A