大阪電気通信大学

自然言語処理を用いた入力時間を短縮するタスク管理アプリケーションの開発

内容概要

現代ではスケジュール管理やタスク管理が日常生活や仕事の効率化に重要な役割を果たしており、多くの人々が既存のタスク管理アプリケーションを利用している。しかし、これらのアプリケーションはタスクの個別入力が必要で、時間や手間がかかるため、特に忙しいユーザーには負担となる。さらに、手動入力には誤りのリスクも伴い、スケジュール管理の精度が低下する可能性がある。

そこで本研究では、自然言語処理技術を用いて、ユーザーが入力したテキストからタスク名、日時、詳細情報を自動抽出するシステムを開発する。具体的には、Google Cloud Natural Language API を使用してテキストを解析し、エンティティ(タスク名、日時、イベントなど) を抽出する。解析結果を基にタスクを分類・ソートする。

アプリケーションの評価は、単文や重文、改行で区切られた2つ以上のタスク、改行なしで2つのタスクを入力する場合を検証した。その結果、入力に日付情報が不足している場合や、改行なしで入力された2つのタスクの処理には課題があり、補完処理やエラーハンドリングの強化、タスク分割アルゴリズムの改善が必要であることが明らかになった。一方で、全角・半角、午前・午後、省略形や曖昧な日時表現にも対応可能であることを示し、特に改行で区切られた2つ以上のタスクについては、それぞれを正確に抽出し、詳細情報を正しく表示できる性能を確認した。この結果、タスク管理の自動化における本システムの有効性を示すことができた。

図1 アプリケーションの動作例

はじめに

現代において、スケジュール管理やタスク管理は日常生活や仕事の効率を向上させるために欠かせない要素となっている。多くの人々がGoogle ToDo リスト、Microsoft ToDo、TickTick、Trello などの既存のタスク管理アプリケーションを利用している。これらのアプリケーションは、タスクの内容、日時、詳細情報を入力し、カテゴリを作成することができ、ユーザーのスケジュール管理をサポートする役割を果たしている。しかし、これらのアプリケーションでは、タスクを個別に入力する必要があり、特に忙しいスケジュールを管理する際には、タスクの追加作業が時間と労力を要するものとなっている。入力の手間が増えることで、ユーザーはタスク管理自体に時間を費やしてしまい、本来の業務に集中できないといった問題が生じる可能性がある。

既存のタスク管理アプリケーションでは、タスクの入力作業が煩雑であり、1つのタスクの作成には複数の項目を個別で入力する必要がある。そのため、手間がかかりスケジュール管理の負担となる場合がある。さらに、忙しいユーザーにとっては入力がストレスの原因とたり、アプリケーションの利用頻度が減少する恐れもある。また、手動で情報を入力する際には、誤った日時や詳細を登録してしまうリスクも存在し、結果としてスケジュール管理の精度が低下する問題がある。

そこで本研究では、自然言語処理を活用して、ユーザーが入力したテキストからタスクの内容、日時、詳細情報を自動で抽出し、新しいリストとタスクを自動生成するシステムを開発する。このシステムにより、ユーザーは1つの乳六ランにタスクの内容、日時、詳細を一括で入力できるため、タスクの作成時間を短縮し、スケジュール管理の効率を向上させることが期待できる。

関連研究

既存のタスク管理アプリケーションやプロジェクト管理ツールに関する調査を行いそれぞれの課題を分析する。

Google Todo リスト[1]は、GoogleカレンダーやGmailとの統合を強みとしており、シンプルなタスク管理を手狂するツールである。例えば、Gmail上で受信したメールから直接タスクを作成する機能や、Googleカレンダーにタスクを表示させてスケジュールを一元管理できる点がユーザーに支持されている。また、Googleアカウントを活用した同期機能により、異なるデバイス間でのシームレスな使用が可能である。一方で、タスクの自動生成機能や高度なテキスト解析機能が欠如しており、ユーザーが主導でタスクを追加する必要があるという課題がある。

Microsoft To Do[2]は、直感的なインターフェースと「My Daly」機能を中心に設計されたタスク管理ツールである。「My Day」では、その日のタスクに焦点を当て、ユーザーが集中すべき作業を明確にすることを目指している。また、Microsoft365との統合により、他のMicrosoft製品との連携がスムーズであり、ビジネス環境での利用に適している。しかし、Google Todotoと同様に、タスクを自動生成する機能が搭載されていないため、タスクの追加はユーザーが主導で行う必要がある。

Trello[3]は、カンバン方式をベースとして視覚的なタスク管理ルールであり、柔軟なワークフローの設計が可能である。ユーザーはボード、リスト、カードを利用して、タスクの進捗状況を視覚的に追跡することができる。このシンプルかつ効果的なデザインにより、個人からチームまで幅広い用途で利用されている。一方で、Trelloの主な操作はドラッグ&ドロップや手動電タスク追加に依存しており、テキスト解析を用いたタスクの自動生成は提供されていない。

Notion[4]は、ノート作成、データベース構築、タスク管理など、さまざま多機能と統合したオールインワンツールである。その高いカスタマイズ性と柔軟性により、個人のタスク管理からチームのプロジェクト管理まで幅広く対応可能である。ユーザーはテンプレートやスクリプトを活用して自分専用のワークスペースを作成できる点が大きな魅力である。しかし、その自由度の高さゆえに、タスクの自動生成や高度なテキスト解析機能は兵十ンでは提供されておらず、これらの機能を実現するにはユーザー自身がカスタマイズを行う必要がある。

TickTick[5]は、タスク管理に加え、カレンダー表示やリマインダー機能を備えたアプリケーションであり、時間管理を効率的に行うための機能が充実している。特に、ポモドーロタイマーやハビットトラッカーといった生産性向上を支援する機能が含まれている点が特徴的である。しかし、日本後を含む高度な自然言語処理解析やタスクの自動生成機能には対応しておらず、テキスト解析を活用した効率的なタスク管理は実現できていない。

最後に、既存のタスク管理アプリケーションと本研究で開発するアプリケーションについて、表1にまとめる。既存のアプリケーションでは、タスクの自動生成やテキスト解析機能、高度な時間解析機能が搭載されておらず、ユーザーが主導でタスクを追加する必要があるという課題があった。それに対して、本研究で開発するアプリケーションは、ユーザーの入力を自然言語処理と正規表現を用いて分析し、タスクやスケジュールを自動生成する機能を備えている。これにより、従来の課題であった手動入力の手間を大幅に軽減し、効率的かつ正確なタスク管理を可能としている。

タスク管理アプリの機能比較

表1 各タスク管理アプリケーションの機能比較

機能 Google ToDo Microsoft To Do Trello Notion TickTick 本アプリケーション
カレンダーや他ツールとの連携 △(外部連携可能) △(APIで対応可能) ×
タスクの自動生成機能 × × × × ×
テキスト解析機能 × × × × ×
高度な時間解析機能 × × × × ×
手動入力の手間削減 × × × × ×

開発アプリケーションの構成

アプリケーションの構成は図2に示す。ユーザーが入力したテキストは、React(バージョン18.2.0)を使用したフロントエンドで受け付けられ、そのデータはバックエンドに送信される。バックエンドでは、Node.js(バージョン20.17.0)を使用して構築されたサーバーが、Express(バージョン4.21.0)を利用してテキストを受け取り、処理を行う。

バックエンドの処理では、まずGoogle Cloud Natural Language API を利用してテキスト解析を行う。この解析では、アプリケーションは入力されたテキストを効率的に解析しタスク生成に必要な情報を抽出する。また、正規表現を使用して日本語特有の日時表現を解析し、日付や時間を適切に取得する。これらの解析結果に基づいてタスクを生成し、タスクリストを構築する。

生成されたタスクリストは再びバックエンドからフロントエンドに送信され、リスト形式で画面上に表示される。ユーザーは、生成されたタスクを管理しやすい形で確認できるようになっており、それぞれのタスクにはタイトル、日時、詳細情報が含まれている。このような構成により、アプリケーションは効率的にユーザーの入力を処理し、必要な情報を抽出して提示する機能を提供し
ている。

図2 アプリケーションの構成

実装した機能

タスクの入力と生成

ユーザーが入力したテキストをもとに、タスクを生成する機能を図3に示す。この機能では、自然言語処理を活用して入力された情報を分析し、タスク名、日時、詳細所法といった要素を抽出する。コリにより、ユーザーがテキストを入力するだけで、複数の要素を正確に含むタスクリストが同的に生成され、効率的なタスク管理が可能となる。

(a)タスクの入力
(b)生成されたタスク
図3 タスクの入力と生成

時間解析

タスクに関連する日時情報を正確に取得するために、正規表現を用いた時間解析機能を図4に示す。この機能は、入力テキスト内に含まれる時間や日付に関する表現を特定し、それを標準的な形式に経関しタスクに適用するものである。標準的な形式とは、「YYYY/MM/DD hh:mm」の形式を指す。具体的には、年、月、日で日付を表し、その後に24時間制の時刻を「時:分」の形式で表記する。図4の(a)で、日時を含むタスクを入力し図4の(b)で、それが解析されて正確な形式で表示される様子を示している。正規表現を活用することで多様な形式の日時表現に柔軟に対応可能となっている。

(a) タスクを入力
(b) 日時を解析したタスクの表示
図4 正規表現で日時を解析しタスクを表示

タスク名クリックで元の文章表示

タスク名をクリックすることで、タスクのセク制限となった入力テキストを確認できる機能を実装している。図5に、この機能の具体例を示す。図5の(a)「タスクを追加」をした場合「オンライン会議」というタスク名をクリックすると図5の(b)「元の文章を表示」のようにものと文章を表示する。この機能は、タスクに関連する詳細情報を必要に応じて即座に山荘で切る点で、ユーザー体験の向上に寄与している。特に、タスクを管理する際に、その背景や文脈を再確認する必要がある場合、この機能は非常に有用である。また、タスク名と元の文章を一貫して関連付けることで、誤解や情報の欠落を防ぎ、管理プロセス全体の信頼性を高めている。

(a) タスクを追加
(b) 元の文章を表示
図5 タスク名をクリックで元の文章を表示

自動ソート

タスクリストの視認性と整理を確保するために、タスクが追加されるたびにリストを自動的にソートする機能の例を図6に示す。この機能は、タスクの期限に基づいてリストの序列を最適化し、ユーザーが必要なタスクを迅速に見つけられるようにするものである。図6の(a)で「1つ目のタスク」を追加し、図6の(b)で「2つ目のタスク」を追加した場合、タスクが期限順に自動的に整理される。自動ソートは、手動で並べ替えを行う必要がなく、タスクの内容や期限に応じてリストが常に適切に整理された状態を保つ。これにより、タスクリストの可読性が向上し、スムーズなタスク管理を可能にしている。

(a) 1つ目のタスクを追加
(b) 2つ目のタスクを追加
図6 自動ソートされた結果

アプリケーションの評価

単文で1つのタスクを入力した場合、十分で1つのタスクを入力した場合、改行で区切られた2つ以上のタスクを入力した場合、改行で区切ることなく2つのタスクを入力した場合があるケースにおいて、Todoを作成できるかを評価する。各ケースにおいてタスク名が正しく表示されるか、正規表現が適切に動作しているかを確認し、成功したテスト結果及び失敗したテスト結果を示す。

単文にタスク1つ

1つの文に1つのタスクが入っている場合の評価を行う。表2に、評価に使用した例文とその結果を示す。

表2 単文にタスク1 つの場合の評価

表2 単文にタスク1 つの場合の評価

例文 結果
1 2024年12月11日午前10時30分に会議です。 Pass
2 2024年12月15日午後13時40分に打ち合わせがあります。 Pass
3 12月10日18時00分までに資料作成をしてください。 Pass
4 2024年12月12日午後15時00分にミーティングです。 Pass
5 2024年12月10日午後15時に発表があります。 Pass
6 2024年12月13日に会議の報告会があります。 Pass
7 明日14時30分に会議を予定しています。 Pass
8 来週の月曜日午前9時に会議を開始します。 Pass
9 来週、火曜日に課題締め切り。 Fail
10 課題演習締め切り。 Fail

成功した結果

全角と半角で日時を入力した場合、どちらの形式でも正しく解析され、タスクが作成されることを確認した。年が省略させた場合でも現在の都市が自動的に保管され、午前・午後の表現が省略されても適切に日時が解釈されている。分や時間が省略された場合も正しく解釈され、タスクが作成される。また、時間が省略された際に「0:00:00」と表示される。しかし、これは使用通りに動作している。「来週の月曜日」や「明日」などの曖昧な日時表現にも対応し、正確に日時を抽出しタスクを作成できている。

失敗した結果

図7に、タスク生成が失敗した場合の生成されたタスクを示す。例文9および例文10は、日付情報が不足している。日付が完全に入力されていない場合、アプリケーションは一部のタスクに対して正確な日時を割り当てることができないことが分かった。例えば、「課題演習締め切り」のタスクでは、日付が入力されていなかったため、デフォルトの日時(1970/1/1)が設定されている。この結果から、日付情報の不足がある場合の処理改善が必要である。

(a) 単文にタスク1つで日付の途中に読点を入力した場合の結果
(b) 単文にタスク1つで日付を入力しない場合の結果
図7 単文にタスク1つで日付情報が不足した場合のテスト結果

まとめ

以上から、アプリケーションは全角・半角、午前・午後、あいまいな日時表現に対しては適切に対応できていることがわかる。しかし、日付情報が不完全な場合や特定の日時表現に対する補完処理については改善が求められる。

重文にタスク1つ

入力が、複数の文でその中にタスク1 つある場合の評価を行う。評価に使用した例文とその結果を表3に示す。

表3 重文にタスク1つの場合の評価

表3 重文にタスク1つの場合の評価

例文 結果
11 2024年12月12日午前10時00分から会議があります。この会議では新規プロジェクトの方針が議論されるため、参加者は資料を確認し質問事項を準備してください。 Pass
12 2024年12月14日午前11時30分午後3時から打ち合わせがあります。この打ち合わせではプレゼン資料の最終確認が行われるため、必要な修正を完了しておいてください。 Pass
13 12月13日午前9時30分からプロジェクト進捗会議があります。進行中のタスクを整理し、成果や課題をまとめて会議で発表できるように準備してください。 Pass
14 2024年12月12日10時20分上司にレポートを提出してください。提出後にレビューを受ける予定のため、内容に誤りがないか最終確認してください。 Pass
15 2024年12月10日午前9時にワークショップがあります。参加者に配布する資料を読み込み、当日のディスカッションに備えて意見をまとめておいてください。 Pass
16 2024年12月13日からオンラインミーティングがあります。リンクを確認し、接続テストを行って事前に環境を整備してください。 Pass
17 明日14時30分から新プロジェクト説明会があります。会議資料を確認し、プロジェクト内容について質問や提案を考えておいてください。 Pass
18 来週の水曜日午前10時30分に進捗報告ミーティングがあります。現在の進捗状況を詳細にまとめ、必要な資料を準備しておいてください。 Pass
19 来週、火曜日の15時に課題締め切りに関するミーティングがあります。課題の進捗状況を確認する予定です。 Fail
20 部門全体の会議があります。部門内の重要なトピックに関して自分の意見を整理してください。 Fail

成功した結果

全角および半角で日時を入力した場合、どちらの形式でも正しく解析され、タスクが作成された。年が省略されている場合でも現在の年が補完され、午前・午後が省略されても適切に解析されている。分や時間が入力されなくても正しく解釈され、タスクを生成できる。また、時間が省略される場合でも仕様通り「0:00:00」と表示される。「来週の月曜日」や「明日」といった曖昧な表現も正確に解析され、タスクとして登録される。

失敗した結果

図8に、タスク生成が失敗した場合の生成されたタスクを示す。例文19 および20 は、日付情報が不足している。日付が完全に入力されていない場合、一部のタスクに対して正確な日時を割り当てることができないことが分かった。例えば、「会議」のタスクでは日付が入力されていなかったため、デフォルトの日時(1970/1/1)が設定されてしまった。このようなケースでは、日付情報が欠落している場合に正しいエラーハンドリングや補完処理が必要である。

(a) 重文にタスクが1つで日付表現に読点を含む場合の結果
(b) 重文にタスクが1つで日付を入力しない場合の結果
図8 重文にタスクが1つで日付情報が不足した場合のテスト結果

まとめ

以上から、アプリケーションは全角・半角、午前・午後、曖昧な日時表現に対しては適切に対応できていることがわかる。しかし、日付情報が不完全な場合や特定の日時表現に対する補完処理については改善が求められる。

重文にタスクが2つ以上(タスクの区切りに改行あり)

改行で区切られたの2 つ以上のタスクを入力した場合の評価を行う。評価に使用した例文とその結果を表3、表4 に示す。

(a) 改行で区切られた2つのタスクを入力した場合

表3 改行で区切られた2つ以上のタスクを入力した場合の評価(1/2)

(a) 改行で区切られた2つのタスクを入力した場合

# 例文 結果
21 2024年12月18日9時30分から、重要な会議が予定されています。この会議では、プロジェクトの進捗状況について話し合います。 Pass
22 2024年12月20日午前11時に、資料確認のための会議があります。会議では、提出予定のレポートに関する詳細を確認します。 Pass
(b) 改行で区切られた3つのタスクを入力した場合

(b) 改行で区切られた3つのタスクを入力した場合

# 例文 結果
23 2024年12月22日10時00分に、クライアントとの打ち合わせが予定されてい ます。会議では、進行中のプロジェクトについて重要な議論を行います。 Pass
24 2024年12月24日午前9時30分に、チームミーティングがあります。これで は、今後のスケジュールについて話し合います。 Pass
25 2024年12月26日午後2時に、リーダーシップ会議が開催されます。会議では、 来年度の目標設定について議論します。 Pass
(a) 改行で区切られた4つのタスクを入力した場合

表4 改行で区切られた2つ以上のタスクを入力した場合の評価(2/2)

(a) 改行で区切られた4つのタスクを入力した場合

# 例文 結果
26 2024年12月28日午前10時に、開発チームとのミーティングがあります。このミーティングでは、最新の進捗と今後のタスクについて確認します。 Pass
27 2024 年12 月30 日午後3 時に、プロジェクトの最終確認会議が予定されています。会議では、締め切り前の最終調整が行われます。 Pass
28 2025年1月2日午前9時に、新年の最初の会議があります。会議では、今年の戦略と重点施策について議論します。 Pass
29 2025年1月4日午後1時に、クライアントとオンライン会議を開催します。会議では、新しい提案書についてのフィードバックを受けます。 Pass
(b) 改行で区切られた5つのタスクを入力した場合

(b) 改行で区切られた5つのタスクを入力した場合

# 例文 結果
30 2025年1月6日午前10時に、プロジェクトチームの定例会議が開催されます。この会議では、各メンバーの進捗状況を確認します。 Pass
31 2025年1月8日午後2時に、マーケティング戦略の見直し会議があります。この会議では、新しいキャンペーンの方向性と予算案について議論します。 Pass
32 2025年1月10日午前11時に、進捗報告会が開催されます。この会議では、各部門からの進捗報告を受け、問題点を共有します。 Pass
33 2025年1月12日午前9時に、開発チームの会議があります。会議では、現在進行中のプロジェクトの問題点を解決し、次のステップを決定します。 Pass
34 2025年1月14日午後4時に、部門間調整会議があります。この会議では、各部署の予定やリソースの配分について確認します。 Pass

成功した結果

改行で区切られた複数のタスクを入力した場合でも、アプリケーションはそれぞれのタスクを正確に抽出し、詳細情報を正しく表示することが確認できた。

失敗した結果

改行で区切られた2 つ以上のテストケースにおいて、使用した例文のタスクはすべて正しく抽出され、詳細情報も期待通りに表示された。そのため、このテストケースでは失敗した結果は確認されていません。

まとめ

改行で区切られた2 つ以上のタスクを解析する機能は、正規表現を用いた時間情報の抽出やエンティティ抽出機能によって実現している。本テストケースにおいては、改行で区切られた2 つ以上を含む文章を正確に解析できることが確認できた。ただし、入力の形式が大幅に異なる場合や、予期しないフォーマット(例:改行が不足している、特定の日時形式が含まれていない)では失敗が発生する可能性がある。そのため、今後さらに多様な入力形式に対応や、特殊な改行形式や誤字を含む文章への対応、入力ミスを補完する機能などの改善が求められる。

重文にタスク2 つ(タスクの区切りに改行なし)

改行で区切ることなく、複数のタスクを入力した場合の評価を行う。評価に使用した例文とその結果を表5に示す。

表5 改行なしで2つのタスクを入力した場合の評価

表5 改行なしで2つのタスクを入力した場合の評価

例文 結果
35 2024年12月15日10時00分に会議があります。その後15時30分にプレゼンテーションがあります。 Fail
36 2024年12月18日9時30分に会議があります。14時00分にレビュー会議があります。 Fail
37 12月20日午前11時に資料確認です。午後3時にオンライン会議を予定しています。 Fail
38 2024年12月22日10時に報告書提出です。14時30分にクライアントとの打ち合わせがあります。 Fail
39 2024年12月24日午前9時に会議があります。午後5時にワークショップがあります。 Fail
40 2024年12月26日に資料送付をします。その後に上司と打ち合わせがあります。 Fail
41 明日10時にプロジェクト会議をします。翌日14時に報告書提出の予定です。 Fail
42 来週の木曜日午前10時に会議があります。午後3時にタスクレビューがあります。 Fail
43 2024年12月29日午後2時30分にレビュー会議を実施します。その後4時30分に総括会議があります。 Fail
44 タスク整理と進捗確認が必要です。その後、クライアントへの報告があります。 Fail

図9–13 に、タスク生成が失敗した場合の生成されたタスクを示す。このケースでは、すべて
の場合で失敗をしている。

図9は、日時が全角や半角で入力された場合の結果である。日時が異なる形式で入力されていても、アプリケーションはタスクを生成することができた。しかし、タスクを1 つにまとめてしまい、複数のタスクを個別に生成することができなかった。

(a) 改行で区切ることなく2つのタスクを入力した場合で日時を全角で入力した場合の結果
(b) 改行で区切ることなく2つのタスクを入力した場合で日時を半角で入力した場合の結果
図9 改行で区切ることなく2つのタスクを入力した場合で日時を全角・半角で入力した場合のテスト結果

図10は、年や午前・午後の表現を省略した場合の結果である。年が省略されたり、午前・午後が記載されていない場合でも、タスクが1 つにまとめられ、複数のタスクを個別に処理することができなかった。

(a) 改行で区切ることなく2つのタスクを入力した場合で年を入力しない場合の結果
(b) 改行で区切ることなく2つのタスクを入力した場合で午前・午後を入力しない場合の結果
図10 改行で区切ることなく2つのタスクを入力した場合で年および午前・午後を省略した場合のテスト結果

図11は、分や時間が入力されない場合の結果である。分や時間が省略された場合でも、タスクを生成することができた。しかし、タスクが1 つにまとめられたままで、複数のタスクが適切に分割されていないことが確認された。

(a) 改行で区切ることなく2つのタスクを入力した場合で分を入力しない場合の結果
(b) 改行で区切ることなく2つのタスクを入力した場合で時間を入力しない場合の結果
図11 改行で区切ることなく2つのタスクを入力した場合で分および時間を省略した場合のテスト結果

図12は、曖昧な日時表現に対する結果である。曖昧な日時(「明日」「来週」など)の表現が含まれていても、タスクを生成することができた。しかし、タスクは1 つにまとめられ、個別に処理することができなかった。

(a) 改行で区切ることなく2つのタスクを入力した場合で曖昧な日時の表現の場合の結果(1/2)
(b) 改行で区切ることなく2つのタスクを入力した場合で曖昧な日時の表現の場合の結果(2/2)
図12 改行で区切ることなく2つのタスクを入力した場合で曖昧な日時表現のテスト結果

図13は、日付情報が不足した場合の結果である。タスクは生成されるが例文43 および44 は日付が完全に入力されていないため、正確な日時を割り当てることができないことが分かった。日付情報が完全に入力されていないためアプリケーションはタスクを正しく処理できず、デフォルトの日付(1970/1/1)が設定されるなど、適切な処理が行われていなかった。また、タスクは1 つにまとめられ、個別に処理することができなかった。

(a) 改行で区切ることなく2 つのタスクを入力した場合で日付表現に読点を含む場合の結果
(b) 改行で区切ることなく2 つのタスクを入力した場合で日付を入力しない場合の結果
図13 改行で区切ることなく2つのタスクを入力した場合で日付情報が不足した場合のテスト結果

以上から、アプリケーションは改行で区切ることなく2 つのタスクを含む文章において、タスクを個別に生成することができなかったため、タスクの分割処理が不十分であることがわかる。そして、日付情報が完全に入力されていない場合に適切な補完処理が行われないなど、エラーハンドリングにも改善が必要である。

実験のまとめ

これらの実験結果を総合的に評価すると、アプリケーションは全角・半角、午前・午後、省略された日時や曖昧な日時表現に対して適切に対応できることが確認された。また、改行で区切られた2 つ以上のタスクを入力した場合にも、それぞれのタスクを正確に抽出し、詳細情報を正しく表示する能力があることが示された。一方で、日付情報が不足している場合や、改行で区切ることなく2 つのタスクを個別に生成する必要があるケースでは処理が不十分であることも判明した。これにより、補完処理やエラーハンドリングの強化、およびタスク分割の改善が、今後の課題として明確になった。

まとめと今後の課題

本研究では、タスク管理アプリケーションの開発を行い、ユーザーが入力した文章からタスク情報を抽出し、タスクリストとして管理するシステムを開発した。本システムでは、Google CloudNatural Language API を利用したテキスト解析を基に、タスク名、日時、詳細情報を自動で抽出する。加えて、タスク名や詳細情報をクリックすることで、元の文章を確認できる機能も実装し、ユーザーの利便性を高めた。さらに、タスクの並び順や追加時の自動ソート機能なども導入し、システム全体の使い勝手を向上させた。これにより、タスク管理がより直感的で効率的になることを目指した。

本アプリケーションは、タスク抽出や管理の基本的な機能を実現したが、いくつかの課題も残っている。今後は、以下の点について改善を加えることが考えられる。現在のタスク抽出の精度は、特に日付や時刻の解析において限界があり、正規表現に依存している部分も多いため、より高度な自然言語処理技術を導入することで精度を向上させる必要がある。例えば、文脈を考慮した日時抽出や、より複雑なタスク内容に対応できるような技術の導入が求められる。

また、他の外部サービスとの連携の強化が今後の目標である。ユーザーが日常的に使用するメールサービスやカレンダーアプリとの連携を進めることで、より効率的にタスクを管理できるようにすることが考えられる。これにより、ユーザーが手動で入力しなくても、受信したメールやカレンダーイベントから自動でタスクが生成されるような機能を実現できる。

参考文献

[1] Google, Google todo リスト, https://calendar.google.com/calendar/u/0/r/tasks, Accessed: 2024-12-12.
[2] Microsoft, Microsoft to do: List & tasks, https://to-do.microsoft.com, Accessed:2024-12-12.
[3] Atlassian, Trello, https://trello.com, Accessed: 2024-12-12.
[4] I. Notion Labs, Notion, https://www.notion.so, Accessed: 2024-12-12.
[5] A. Inc., Ticktick: Todo & task list, https://www.ticktick.com, Accessed: 2024-12-12.23.

作者プロフィール

新谷隆大

大阪電気通信大学 総合情報学部 情報学科 3年 高速ネットワーク研究室所属

コメント