Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Duckling (•ө•) を使って時間、日付抽出をしてみた!

More than 1 year has passed since last update.

Duckling ってなに?

Ducklingとは、もともとClojureだったProjectがHaskellに移行し、Facebookの一部のプロジェクトが使用しているオープンソース自然言語テキスト分析の事です。

Duclkingの名前の由来は?

Ducklingは、もともと“Picsou”と呼ばれていました。“Picsou”はフランス版のドナルドダックのことで、なんでも食べてしまうところから名付けられました。後に英語のコミュニティに親しみやすくするため、ドナルドダックの“duck”と言語学(linguistic)のlingを取って“Duckling”と改名することにしました。

Duckling で何が出来るのか?

以下の情報を、自然言語のテキストから抽出出来ます。

  • 金額
  • クレジットカード番号
  • 単位
  • 距離
  • 時間間隔
  • メールアドレス
  • 数字
  • 順序
  • 電話番号
  • 数量
  • 気温
  • 時刻
  • URL
  • 体積

Ducklingのここがすごい!

抽出した情報の中に、誤字が多少混ざっていても上手に拾ってくれます。
以下サイトで試せます。
https://duckling.wit.ai/#faq

それでは実際に試してみましょう!

ここでは、Haskell環境構築は割愛させていただきます。
home brewを使うなり、cabalなりstackを使うなりご自由にどうぞ。

以下は、あと2分で会議がはじまるよー
あと2分で行くよー 等の文から抽出した例です。

$ stack repl --no-load
> :l Duckling.Debug
> debug (makeLocale EN $ Just US) "in two minutes" [This Time]
in|within|after <duration> (in two minutes)
-- regex (in)
-- <integer> <unit-of-duration> (two minutes)
-- -- integer (0..19) (two)
-- -- -- regex (two)
-- -- minute (grain) (minutes)
-- -- -- regex (minutes)
[Entity {dim = "time", body = "in two minutes", value = RVal Time (TimeValue (SimpleValue (InstantValue {vValue = 2013-02-12 04:32:00 -0200, vGrain = Second})) [SimpleValue (InstantValue {vValue = 2013-02-12 04:32:00 -0200, vGrain = Second})] Nothing), start = 0, end = 14}]

2分後がちゃんと抽出できました。
もっと便利な機能がありますので、機会があり次第アップデート、あるいは別記事で書きたいと思います。

以上
ありがとうございました。(•ө•) (•ө•) (•ө•)


Thanks
Mr, Julien Odent

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away