C#でKuromojiを利用して形態素解析を試してみる

こんにちは。beaglesoftの真鍋です。

ちょっとC#で形態素解析をしたいと思いましてLucene.Net.Analysis.Kuromojiを利用してみました。

www.nuget.org

むかしC#で形態素解析をしたときにはNMeCabを利用しました。

www.nuget.org

とても便利に使わせていただきましたが、残念ながらdotnet coreに対応していません。そのため、以前Javaで利用したことのあるKuromojiのdotnet版がないかなぁと沙汰していたところLucene.Net.Analysis.Kuromojiにたどり着きました。

動作させてみる

テストコードを参考にとりあえず動作するものを作ってみました。いろいろと試してみたのですが、サンプルにあった辞書ファイルを読み込んで辞書の内容で取得できることを試しています。

$ dotnet run

対象の文字列:関西国際空港
---
ICharTermAttribute=>関西
ITermToBytesRefAttribute#BytesRef=>[]
IOffsetAttribute#StartOffset=>0
IOffsetAttribute#EndOffset=>2
IPositionIncrementAttribute=>1
IPositionLengthAttribute=>1
IBaseFormAttribute#GetBaseForm=>
IPartOfSpeechAttribute#GetPartOfSpeech=>テスト名詞
IReadingAttribute#GetReading=>カンサイ
IReadingAttribute#GetPronunciation=>
IInflectionAttribute#GetInflectionForm=>
IInflectionAttribute#GetInflectionType=>
---
---
ICharTermAttribute=>国際
ITermToBytesRefAttribute#BytesRef=>[]
IOffsetAttribute#StartOffset=>2
IOffsetAttribute#EndOffset=>4
IPositionIncrementAttribute=>1
IPositionLengthAttribute=>1
IBaseFormAttribute#GetBaseForm=>
IPartOfSpeechAttribute#GetPartOfSpeech=>テスト名詞
IReadingAttribute#GetReading=>コクサイ
IReadingAttribute#GetPronunciation=>
IInflectionAttribute#GetInflectionForm=>
IInflectionAttribute#GetInflectionType=>
---
---
ICharTermAttribute=>空港
ITermToBytesRefAttribute#BytesRef=>[]
IOffsetAttribute#StartOffset=>4
IOffsetAttribute#EndOffset=>6
IPositionIncrementAttribute=>1
IPositionLengthAttribute=>1
IBaseFormAttribute#GetBaseForm=>
IPartOfSpeechAttribute#GetPartOfSpeech=>テスト名詞
IReadingAttribute#GetReading=>クウコウ
IReadingAttribute#GetPronunciation=>
IInflectionAttribute#GetInflectionForm=>
IInflectionAttribute#GetInflectionType=>
---

ちょっと見づらいですが、関西国際空港が単語単位で分解されています。

ソースコード

ソースコードは以下のようになります。

github.com

KuromojiSample

辞書ファイル

辞書ファイルはテストコードで使用されていたものをそのまま利用しています。

gistdada679d34a0f668c0517abc1cc3f714

さいごに

dotnetはJavaに比べるとライブラリが少ないという印象があるのですが、探せばいろいろあることが最近わかってきました。もっとアンテナの感度と探索範囲を広げるようにしないととおもいました。

作者の方に感謝です。

スラスラわかるC# 第2版

スラスラわかるC# 第2版

地図を使ってメモを作成する

こんにちは。ビーグルソフトの真鍋です。

ここ1ヶ月ほど地図を使ったアプリケーションを作っています。ようやっと7割くらいできてきました。

今回やろうとしていることは、地図の特定の位置にマーカーなどを作成してそのマーカーにメモと画像を設定するというものです。

↓こんなかんじです。 Image from Gyazo

他にも円や線を引くこともできます。

  • おおたかの森駅から300メートル圏内 Image from Gyazo

  • おおたかの森浄水場からおおたかの森駅までの道のり Image from Gyazo

もう少しで地図を利用して便利になる機能を提供できそうです。

気軽に請求書を作成できるサービス(Girafa)を公開しました

こんにちは。ビーグルソフトの真鍋です。

このたび、社内で利用していました請求書作成サービス(Girafaといいます)の機能の一部を公開するしました!

f:id:beaglesoft:20181119071621p:plain 新規に請求書を作成 Girafa

guida.girafa.info

Girafaの特徴

  • できることは請求書を作成してPDFとしてダウンロードするだけの機能しかありません。
  • 入力した内容がプレビュー画面にすぐに反映されます。プレビュー画面の内容がPDFの内容となるため入力した内容とダウンロードしたPDFが違うということがなくなります。
  • 請求書の宛名を含めることができるので郵送で宛名を用意する必要がありません。

簡単な請求書であればぱぱっと作成できるのでご利用いただければと思います。また、こちらのご利用は無料となっています。

操作イメージ

f:id:beaglesoft:20181119070811g:plain
請求書を作成してみます

さいごに

請求書の発行から郵送まで行ってくれるサービスは世の中にたくさんあります。とはいえ、もっとライトに請求書の発行を行いたいと言うシーンも有るのではないかと思います。

そんなちょっと請求書を発行したいときに利用していただければと思います。

もし何かお問合せがございましたらこちらのフォームからご連絡ください。

docs.google.com