Home About
Kotlin multiplatform 2.0.0 Kotlin/JS Hello, World!

ちょっと前に Kotlin multiplatform 1.9.22 Kotlin/JS Hello, World! を書いたのですが、2.0.0 が出たのでやりなおしです。

このあたりの https://kotlinlang.org/docs/js-project-setup.html 話です。

» Read More
InDesign ExtendScript で現在開いているドキュメントから画像やテキストを抽出する

久しぶりに ExtendScript を書く機会があったのですが、 処理させたいことのひとつが InDesignドキュメントにある画像全部を JPEG 保存することでした。 面倒かと思ったのですが、予想外に簡単だったのでコードをメモしておきます。

» Read More
カタログスペックテキストから特定の情報を抜き出す GPT-4o を使用

以前のエントリーでカタログスペックテキストから 日本語LLM ELYZA を使って情報を抜き出すことを試しました。 これを GPT-4oで試してみます。 今回は Python ではなく Kotlin スクリプトを使い、直接 OpenAI API にアクセスします。

Open AI API の Chat Completions API の使い方はこちらをご覧ください。

もし GPT-4o が十分に性能が高ければカタログスペックテキスト校正の支援ができるのではないか?と期待したり。

» Read More
LangChain RetrievalQA を使って兼好法師に質問するその3 GPT-4o を使う

GPT-4o ( gpt-4o-2024-05-13 ) が出たので、兼好法師に質問するときにこのモデルを使ってみた。 基本的には、前回のエントリー(LangChain RetrievalQA を使って兼好法師に質問するその2) と同じ。 ただし、実際にやってみると以前のコードのままでは肝心の Q&A する部分が 作動しなかったので、その部分は調整しました。

» Read More
Haskell / Parsec メモ

世の中はゴールデンウィーク。 このような心に余裕があるときにしかなかなか Haskell に取り組めない。 今日は、以前から使ってみたかった Parsec に入門した。 そのメモです。

» Read More
LangChain RetrievalQA を使って兼好法師に質問するその2 Multilingual-E5-base

今回は、 前回の Embeddings の計算を OpenAIのそれではなく、Multilingual-E5-base に代えて RetrievalQA してみます。 なお、RetrievalQA の処理自体は引き続き OpenAI の LLM を使用します。

対象とするコンテンツ( 現代語訳 徒然草 (吉田兼好著・吾妻利秋訳) )の準備やコードは (Embeddings 計算を除いて) 前回を踏襲します。

» Read More
LangChain RetrievalQA を使って兼好法師に質問する

現代語訳 徒然草 (吉田兼好著・吾妻利秋訳)LangChainをつかって 吉田兼好に人生の悩みを質問してみる。

現代語訳 徒然草 をデータとして RetrievalQA を使うことで、 最終的に次のような質問から回答を得ることができました。

・・・なかなか興味深い。

» Read More
Wacom One スタンダードペンを Android で使う場合のボタンの認識方法

wacom one standard

Galaxy Tab S6 Lite / S8+ で使うアプリを書いている。 このアプリ用にボタンが二個ついているペンがほしくなったので、 Wacom One スタンダードペンを購入してみた。 Android 側でボタンが二つとも認識できるか事前に確認せずに入手したので、 せっかく買ったのに・・・という事態になるという不安があったが、大丈夫でした。

» Read More
MS Excel でUTF-8 文字コードの CSVファイルを開く 文字化け回避 / SUBSTITUTE 増殖問題

CSVファイルの先頭に回避するには BOM をつけるだけです。

解決方法はこれ: https://stackoverflow.com/questions/60873673/how-to-add-a-utf-8-bom-in-kotlin

» Read More
GIMP Script-Fu JPEG としてエクスポートする

GIMP Script-Fu を使って 所定のディレクトリ内にある xcf ファイルを png にバッチ変換するというエントリーの追伸です。

PNG形式ではなく JPEG形式で出力する必要が生じたのでそれようのコードを書きました。

» Read More
BeautifulSoup を使って HTML のテーブルデータをCSVへ変換する

ネット上のドキュメントで一覧表をHTMLのテーブルデータとして 掲載されているが、表計算(エクセル)用のデータまたはCSVデータは 提供されていない、という場合の対処方法です。(覚え書き)

GPT-4 Vision API など使えば、そのHTMLまたはそれをPDFにしたデータを アップロードした上で「CSVデータに変換して」といえば済むのかと思ったのですが、 どうやらまだ(今のところは)そこまで簡単にはいかない模様。

ChatGPT Plus であればすでにその手のことができるようになっているかもしれません。試していません。

数年もたてば ブラウザに搭載された AI に「今見ているページをエクセルに変換して」といえば済む世界が来そう。

ただ・・・この手の処理で GPT のような LLM を使う場合の不安は、 一部が間違って変換されても気づかない、という問題です。 人間が手作業でやった場合、間違いが混入することはある(ヒューマンエラー)ので、 その作業を GPT 的なもので代用した場合には、 人間とGPT(的なもの)とどっちが間違い多いか?みたいな問いになるとは思う。

たとえば、データ内に価格情報があった場合に間違った値として変換されると場合によっては悲惨なことになる。

しかし、HTMLのテーブルデータがあるのであれば、 Python + BeautifulSoup を使うことで、CSVへの変換が可能。 この古典的なやり方ならば、 変換用のコードに書いたルール通りにHTMLデータができている限りは 変換後のデータに間違いないと確信できる、 という点において GPT的方式より優れている。

» Read More
Kotlin Native で XML をパースする (XmlUtil を使用)

JavaVM で XML を扱う場合に XmlPullParser を使う例を このエントリーXmlPullParser を使ってXMLをパースする で書きました。 今度はこれと同じような処理を Kotlin Native でやってみたので備忘録としてそれを書き残します。 XmlPullParser の代りに XmlUtilを使います。

そういえば、XmlUtil を使った例は以前のエントリー Kotlin Native (linuxX64) で XML を扱うで書きました。ここではシリアライゼーションしないで、 直接 XML をパースします。

» Read More