@nahisaho/katashiro-analyzer 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/factcheck/ClaimParser.d.ts +41 -0
- package/dist/factcheck/ClaimParser.d.ts.map +1 -0
- package/dist/factcheck/ClaimParser.js +149 -0
- package/dist/factcheck/ClaimParser.js.map +1 -0
- package/dist/factcheck/ConsistencyChecker.d.ts +56 -0
- package/dist/factcheck/ConsistencyChecker.d.ts.map +1 -0
- package/dist/factcheck/ConsistencyChecker.js +184 -0
- package/dist/factcheck/ConsistencyChecker.js.map +1 -0
- package/dist/factcheck/EvidenceCollector.d.ts +89 -0
- package/dist/factcheck/EvidenceCollector.d.ts.map +1 -0
- package/dist/factcheck/EvidenceCollector.js +222 -0
- package/dist/factcheck/EvidenceCollector.js.map +1 -0
- package/dist/factcheck/FactChecker.d.ts +81 -0
- package/dist/factcheck/FactChecker.d.ts.map +1 -0
- package/dist/factcheck/FactChecker.js +302 -0
- package/dist/factcheck/FactChecker.js.map +1 -0
- package/dist/factcheck/TrustedSourceRegistry.d.ts +47 -0
- package/dist/factcheck/TrustedSourceRegistry.d.ts.map +1 -0
- package/dist/factcheck/TrustedSourceRegistry.js +208 -0
- package/dist/factcheck/TrustedSourceRegistry.js.map +1 -0
- package/dist/factcheck/VerdictGenerator.d.ts +36 -0
- package/dist/factcheck/VerdictGenerator.d.ts.map +1 -0
- package/dist/factcheck/VerdictGenerator.js +154 -0
- package/dist/factcheck/VerdictGenerator.js.map +1 -0
- package/dist/factcheck/index.d.ts +15 -0
- package/dist/factcheck/index.d.ts.map +1 -0
- package/dist/factcheck/index.js +14 -0
- package/dist/factcheck/index.js.map +1 -0
- package/dist/factcheck/types.d.ts +265 -0
- package/dist/factcheck/types.d.ts.map +1 -0
- package/dist/factcheck/types.js +18 -0
- package/dist/factcheck/types.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/interpreter/CodeInterpreter.d.ts +119 -0
- package/dist/interpreter/CodeInterpreter.d.ts.map +1 -0
- package/dist/interpreter/CodeInterpreter.js +241 -0
- package/dist/interpreter/CodeInterpreter.js.map +1 -0
- package/dist/interpreter/CodeValidator.d.ts +57 -0
- package/dist/interpreter/CodeValidator.d.ts.map +1 -0
- package/dist/interpreter/CodeValidator.js +283 -0
- package/dist/interpreter/CodeValidator.js.map +1 -0
- package/dist/interpreter/ExecutionEngine.d.ts +73 -0
- package/dist/interpreter/ExecutionEngine.d.ts.map +1 -0
- package/dist/interpreter/ExecutionEngine.js +273 -0
- package/dist/interpreter/ExecutionEngine.js.map +1 -0
- package/dist/interpreter/ResultFormatter.d.ts +72 -0
- package/dist/interpreter/ResultFormatter.d.ts.map +1 -0
- package/dist/interpreter/ResultFormatter.js +187 -0
- package/dist/interpreter/ResultFormatter.js.map +1 -0
- package/dist/interpreter/SandboxManager.d.ts +111 -0
- package/dist/interpreter/SandboxManager.d.ts.map +1 -0
- package/dist/interpreter/SandboxManager.js +215 -0
- package/dist/interpreter/SandboxManager.js.map +1 -0
- package/dist/interpreter/SessionManager.d.ts +101 -0
- package/dist/interpreter/SessionManager.d.ts.map +1 -0
- package/dist/interpreter/SessionManager.js +184 -0
- package/dist/interpreter/SessionManager.js.map +1 -0
- package/dist/interpreter/index.d.ts +13 -0
- package/dist/interpreter/index.d.ts.map +1 -0
- package/dist/interpreter/index.js +13 -0
- package/dist/interpreter/index.js.map +1 -0
- package/dist/interpreter/types.d.ts +311 -0
- package/dist/interpreter/types.d.ts.map +1 -0
- package/dist/interpreter/types.js +91 -0
- package/dist/interpreter/types.js.map +1 -0
- package/dist/moa/AgentOrchestrator.d.ts +53 -0
- package/dist/moa/AgentOrchestrator.d.ts.map +1 -0
- package/dist/moa/AgentOrchestrator.js +164 -0
- package/dist/moa/AgentOrchestrator.js.map +1 -0
- package/dist/moa/ConsensusCalculator.d.ts +76 -0
- package/dist/moa/ConsensusCalculator.d.ts.map +1 -0
- package/dist/moa/ConsensusCalculator.js +221 -0
- package/dist/moa/ConsensusCalculator.js.map +1 -0
- package/dist/moa/MoAEngine.d.ts +97 -0
- package/dist/moa/MoAEngine.d.ts.map +1 -0
- package/dist/moa/MoAEngine.js +303 -0
- package/dist/moa/MoAEngine.js.map +1 -0
- package/dist/moa/ResponseAggregator.d.ts +65 -0
- package/dist/moa/ResponseAggregator.d.ts.map +1 -0
- package/dist/moa/ResponseAggregator.js +274 -0
- package/dist/moa/ResponseAggregator.js.map +1 -0
- package/dist/moa/TaskAnalyzer.d.ts +30 -0
- package/dist/moa/TaskAnalyzer.d.ts.map +1 -0
- package/dist/moa/TaskAnalyzer.js +116 -0
- package/dist/moa/TaskAnalyzer.js.map +1 -0
- package/dist/moa/index.d.ts +19 -0
- package/dist/moa/index.d.ts.map +1 -0
- package/dist/moa/index.js +18 -0
- package/dist/moa/index.js.map +1 -0
- package/dist/moa/types.d.ts +261 -0
- package/dist/moa/types.d.ts.map +1 -0
- package/dist/moa/types.js +70 -0
- package/dist/moa/types.js.map +1 -0
- package/dist/research/ConvergenceDetector.d.ts +37 -0
- package/dist/research/ConvergenceDetector.d.ts.map +1 -0
- package/dist/research/ConvergenceDetector.js +62 -0
- package/dist/research/ConvergenceDetector.js.map +1 -0
- package/dist/research/DeepResearchOrchestrator.d.ts +63 -0
- package/dist/research/DeepResearchOrchestrator.d.ts.map +1 -0
- package/dist/research/DeepResearchOrchestrator.js +283 -0
- package/dist/research/DeepResearchOrchestrator.js.map +1 -0
- package/dist/research/FindingIntegrator.d.ts +42 -0
- package/dist/research/FindingIntegrator.d.ts.map +1 -0
- package/dist/research/FindingIntegrator.js +239 -0
- package/dist/research/FindingIntegrator.js.map +1 -0
- package/dist/research/GapAnalyzer.d.ts +41 -0
- package/dist/research/GapAnalyzer.d.ts.map +1 -0
- package/dist/research/GapAnalyzer.js +145 -0
- package/dist/research/GapAnalyzer.js.map +1 -0
- package/dist/research/QueryGenerator.d.ts +38 -0
- package/dist/research/QueryGenerator.d.ts.map +1 -0
- package/dist/research/QueryGenerator.js +79 -0
- package/dist/research/QueryGenerator.js.map +1 -0
- package/dist/research/index.d.ts +14 -0
- package/dist/research/index.d.ts.map +1 -0
- package/dist/research/index.js +13 -0
- package/dist/research/index.js.map +1 -0
- package/dist/research/types.d.ts +215 -0
- package/dist/research/types.d.ts.map +1 -0
- package/dist/research/types.js +18 -0
- package/dist/research/types.js.map +1 -0
- package/dist/trend/ForecastEngine.d.ts +65 -0
- package/dist/trend/ForecastEngine.d.ts.map +1 -0
- package/dist/trend/ForecastEngine.js +260 -0
- package/dist/trend/ForecastEngine.js.map +1 -0
- package/dist/trend/TimeSeriesCollector.d.ts +42 -0
- package/dist/trend/TimeSeriesCollector.d.ts.map +1 -0
- package/dist/trend/TimeSeriesCollector.js +172 -0
- package/dist/trend/TimeSeriesCollector.js.map +1 -0
- package/dist/trend/TrendAnalyzer.d.ts +72 -0
- package/dist/trend/TrendAnalyzer.d.ts.map +1 -0
- package/dist/trend/TrendAnalyzer.js +291 -0
- package/dist/trend/TrendAnalyzer.js.map +1 -0
- package/dist/trend/TrendDetector.d.ts +67 -0
- package/dist/trend/TrendDetector.d.ts.map +1 -0
- package/dist/trend/TrendDetector.js +325 -0
- package/dist/trend/TrendDetector.js.map +1 -0
- package/dist/trend/VisualizationGenerator.d.ts +75 -0
- package/dist/trend/VisualizationGenerator.d.ts.map +1 -0
- package/dist/trend/VisualizationGenerator.js +294 -0
- package/dist/trend/VisualizationGenerator.js.map +1 -0
- package/dist/trend/index.d.ts +16 -0
- package/dist/trend/index.d.ts.map +1 -0
- package/dist/trend/index.js +18 -0
- package/dist/trend/index.js.map +1 -0
- package/dist/trend/types.d.ts +279 -0
- package/dist/trend/types.d.ts.map +1 -0
- package/dist/trend/types.js +17 -0
- package/dist/trend/types.js.map +1 -0
- package/package.json +4 -2
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VisualizationGenerator - 可視化データ生成
|
|
3
|
+
*
|
|
4
|
+
* @requirement REQ-ANALYZE-004
|
|
5
|
+
* @design DES-ANALYZE-004
|
|
6
|
+
* @task TASK-004
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* トレンドデータを可視化用のフォーマットに変換するクラス
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const vizGen = new VisualizationGenerator();
|
|
14
|
+
*
|
|
15
|
+
* const chartData = vizGen.generate({
|
|
16
|
+
* timeSeries: timeSeriesData,
|
|
17
|
+
* trends: detectedTrends,
|
|
18
|
+
* forecast: forecastData,
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export class VisualizationGenerator {
|
|
23
|
+
/**
|
|
24
|
+
* 可視化データを生成
|
|
25
|
+
*/
|
|
26
|
+
generate(input) {
|
|
27
|
+
return {
|
|
28
|
+
lineChart: this.generateLineChart(input.timeSeries, input.forecast),
|
|
29
|
+
heatmap: this.generateHeatmap(input.timeSeries),
|
|
30
|
+
pieChart: this.generatePieChart(input.timeSeries),
|
|
31
|
+
annotations: this.generateAnnotations(input.trends || []),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 折れ線グラフデータを生成
|
|
36
|
+
*/
|
|
37
|
+
generateLineChart(timeSeries, forecast) {
|
|
38
|
+
const labels = timeSeries.map((ts) => this.formatDate(ts.timestamp));
|
|
39
|
+
const datasets = [
|
|
40
|
+
{
|
|
41
|
+
label: '実績値',
|
|
42
|
+
data: timeSeries.map((ts) => ts.volume),
|
|
43
|
+
color: '#3498db',
|
|
44
|
+
type: 'line',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
label: '正規化スコア',
|
|
48
|
+
data: timeSeries.map((ts) => ts.normalizedScore),
|
|
49
|
+
color: '#2ecc71',
|
|
50
|
+
type: 'line',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
// 予測データがある場合は追加
|
|
54
|
+
if (forecast && forecast.predictions.length > 0) {
|
|
55
|
+
const forecastLabels = forecast.predictions.map((p) => this.formatDate(p.date));
|
|
56
|
+
labels.push(...forecastLabels);
|
|
57
|
+
// 予測値用のデータセット(実績値の後に続く)
|
|
58
|
+
const forecastValues = [...Array(timeSeries.length).fill(null), ...forecast.predictions.map((p) => p.value)];
|
|
59
|
+
const upperBoundValues = [...Array(timeSeries.length).fill(null), ...forecast.upperBound];
|
|
60
|
+
const lowerBoundValues = [...Array(timeSeries.length).fill(null), ...forecast.lowerBound];
|
|
61
|
+
datasets.push({
|
|
62
|
+
label: '予測値',
|
|
63
|
+
data: forecastValues,
|
|
64
|
+
color: '#9b59b6',
|
|
65
|
+
type: 'line',
|
|
66
|
+
});
|
|
67
|
+
datasets.push({
|
|
68
|
+
label: '予測上限',
|
|
69
|
+
data: upperBoundValues,
|
|
70
|
+
color: '#9b59b6',
|
|
71
|
+
type: 'area',
|
|
72
|
+
});
|
|
73
|
+
datasets.push({
|
|
74
|
+
label: '予測下限',
|
|
75
|
+
data: lowerBoundValues,
|
|
76
|
+
color: '#9b59b6',
|
|
77
|
+
type: 'area',
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return { labels, datasets };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* ヒートマップデータを生成
|
|
84
|
+
*/
|
|
85
|
+
generateHeatmap(timeSeries) {
|
|
86
|
+
// ソースごとにデータを集計
|
|
87
|
+
const sources = ['news', 'web', 'rss', 'academic', 'social'];
|
|
88
|
+
const matrix = [];
|
|
89
|
+
const labels = timeSeries.map((ts) => this.formatDate(ts.timestamp));
|
|
90
|
+
for (const source of sources) {
|
|
91
|
+
const row = timeSeries.map((ts) => ts.sourceBreakdown[source] || 0);
|
|
92
|
+
matrix.push(row);
|
|
93
|
+
}
|
|
94
|
+
// 最大値を取得(正規化用)
|
|
95
|
+
const maxValue = Math.max(...matrix.flat(), 1);
|
|
96
|
+
return {
|
|
97
|
+
xLabels: labels,
|
|
98
|
+
yLabels: sources,
|
|
99
|
+
values: matrix,
|
|
100
|
+
maxValue,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* 円グラフデータを生成
|
|
105
|
+
*/
|
|
106
|
+
generatePieChart(timeSeries) {
|
|
107
|
+
// ソース別の合計を計算
|
|
108
|
+
const sourceTotals = {};
|
|
109
|
+
for (const ts of timeSeries) {
|
|
110
|
+
for (const [source, count] of Object.entries(ts.sourceBreakdown)) {
|
|
111
|
+
sourceTotals[source] = (sourceTotals[source] || 0) + count;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const sourceColors = {
|
|
115
|
+
news: '#e74c3c',
|
|
116
|
+
web: '#3498db',
|
|
117
|
+
rss: '#f39c12',
|
|
118
|
+
academic: '#2ecc71',
|
|
119
|
+
social: '#9b59b6',
|
|
120
|
+
};
|
|
121
|
+
const labels = [];
|
|
122
|
+
const data = [];
|
|
123
|
+
const colors = [];
|
|
124
|
+
for (const [source, total] of Object.entries(sourceTotals)) {
|
|
125
|
+
if (total > 0) {
|
|
126
|
+
labels.push(this.formatSourceLabel(source));
|
|
127
|
+
data.push(total);
|
|
128
|
+
colors.push(sourceColors[source]);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return { labels, data, colors };
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* トレンドのアノテーションを生成
|
|
135
|
+
*/
|
|
136
|
+
generateAnnotations(trends) {
|
|
137
|
+
const annotations = [];
|
|
138
|
+
for (const trend of trends) {
|
|
139
|
+
switch (trend.type) {
|
|
140
|
+
case 'spike':
|
|
141
|
+
annotations.push({
|
|
142
|
+
type: 'spike',
|
|
143
|
+
position: trend.startDate,
|
|
144
|
+
label: `スパイク (${trend.magnitude.toFixed(0)}%増)`,
|
|
145
|
+
color: '#e74c3c',
|
|
146
|
+
});
|
|
147
|
+
break;
|
|
148
|
+
case 'rising':
|
|
149
|
+
annotations.push({
|
|
150
|
+
type: 'trend',
|
|
151
|
+
position: trend.startDate,
|
|
152
|
+
label: '上昇トレンド開始',
|
|
153
|
+
color: '#2ecc71',
|
|
154
|
+
});
|
|
155
|
+
break;
|
|
156
|
+
case 'falling':
|
|
157
|
+
annotations.push({
|
|
158
|
+
type: 'trend',
|
|
159
|
+
position: trend.startDate,
|
|
160
|
+
label: '下降トレンド開始',
|
|
161
|
+
color: '#e67e22',
|
|
162
|
+
});
|
|
163
|
+
break;
|
|
164
|
+
case 'emerging':
|
|
165
|
+
annotations.push({
|
|
166
|
+
type: 'event',
|
|
167
|
+
position: trend.startDate,
|
|
168
|
+
label: '新興トレンド検出',
|
|
169
|
+
color: '#9b59b6',
|
|
170
|
+
});
|
|
171
|
+
break;
|
|
172
|
+
case 'seasonal':
|
|
173
|
+
annotations.push({
|
|
174
|
+
type: 'event',
|
|
175
|
+
position: trend.startDate,
|
|
176
|
+
label: '季節性パターン',
|
|
177
|
+
color: '#3498db',
|
|
178
|
+
});
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return annotations;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* トピック比較用のマルチラインチャートを生成
|
|
186
|
+
*/
|
|
187
|
+
generateComparisonChart(comparison) {
|
|
188
|
+
const labels = [];
|
|
189
|
+
// 全トピックの日付を統合
|
|
190
|
+
for (const topicData of comparison.topics) {
|
|
191
|
+
for (const ts of topicData.data) {
|
|
192
|
+
const label = this.formatDate(ts.timestamp);
|
|
193
|
+
if (!labels.includes(label)) {
|
|
194
|
+
labels.push(label);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
labels.sort();
|
|
199
|
+
const colors = ['#3498db', '#e74c3c', '#2ecc71', '#f39c12', '#9b59b6'];
|
|
200
|
+
const datasets = comparison.topics.map((topicData, index) => {
|
|
201
|
+
const data = labels.map((label) => {
|
|
202
|
+
const ts = topicData.data.find((d) => this.formatDate(d.timestamp) === label);
|
|
203
|
+
return ts?.normalizedScore ?? null;
|
|
204
|
+
});
|
|
205
|
+
return {
|
|
206
|
+
label: topicData.topic,
|
|
207
|
+
data,
|
|
208
|
+
color: colors[index % colors.length] ?? '#3498db',
|
|
209
|
+
type: 'line',
|
|
210
|
+
};
|
|
211
|
+
});
|
|
212
|
+
return { labels, datasets };
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* 相関マトリクスを生成
|
|
216
|
+
*/
|
|
217
|
+
generateCorrelationMatrix(comparison) {
|
|
218
|
+
const topics = comparison.topics.map((t) => t.topic);
|
|
219
|
+
const matrix = [];
|
|
220
|
+
for (let i = 0; i < topics.length; i++) {
|
|
221
|
+
const row = [];
|
|
222
|
+
for (let j = 0; j < topics.length; j++) {
|
|
223
|
+
if (i === j) {
|
|
224
|
+
row.push(1);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
const topicI = comparison.topics[i];
|
|
228
|
+
const topicJ = comparison.topics[j];
|
|
229
|
+
if (!topicI || !topicJ) {
|
|
230
|
+
row.push(0);
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
const correlation = this.calculateCorrelation(topicI.data.map((d) => d.normalizedScore), topicJ.data.map((d) => d.normalizedScore));
|
|
234
|
+
row.push(correlation);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
matrix.push(row);
|
|
239
|
+
}
|
|
240
|
+
return {
|
|
241
|
+
xLabels: topics,
|
|
242
|
+
yLabels: topics,
|
|
243
|
+
values: matrix,
|
|
244
|
+
maxValue: 1,
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* 相関係数を計算
|
|
249
|
+
*/
|
|
250
|
+
calculateCorrelation(x, y) {
|
|
251
|
+
const n = Math.min(x.length, y.length);
|
|
252
|
+
if (n === 0)
|
|
253
|
+
return 0;
|
|
254
|
+
const xSlice = x.slice(0, n);
|
|
255
|
+
const ySlice = y.slice(0, n);
|
|
256
|
+
const xMean = xSlice.reduce((a, b) => a + b, 0) / n;
|
|
257
|
+
const yMean = ySlice.reduce((a, b) => a + b, 0) / n;
|
|
258
|
+
let numerator = 0;
|
|
259
|
+
let xSumSq = 0;
|
|
260
|
+
let ySumSq = 0;
|
|
261
|
+
for (let i = 0; i < n; i++) {
|
|
262
|
+
const xVal = xSlice[i] ?? 0;
|
|
263
|
+
const yVal = ySlice[i] ?? 0;
|
|
264
|
+
const xDiff = xVal - xMean;
|
|
265
|
+
const yDiff = yVal - yMean;
|
|
266
|
+
numerator += xDiff * yDiff;
|
|
267
|
+
xSumSq += xDiff * xDiff;
|
|
268
|
+
ySumSq += yDiff * yDiff;
|
|
269
|
+
}
|
|
270
|
+
const denominator = Math.sqrt(xSumSq * ySumSq);
|
|
271
|
+
return denominator === 0 ? 0 : numerator / denominator;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* 日付をフォーマット
|
|
275
|
+
*/
|
|
276
|
+
formatDate(date) {
|
|
277
|
+
const result = date.toISOString().split('T')[0];
|
|
278
|
+
return result ?? '';
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* ソースラベルをフォーマット
|
|
282
|
+
*/
|
|
283
|
+
formatSourceLabel(source) {
|
|
284
|
+
const labels = {
|
|
285
|
+
news: 'ニュース',
|
|
286
|
+
web: 'Web',
|
|
287
|
+
rss: 'RSS',
|
|
288
|
+
academic: '学術',
|
|
289
|
+
social: 'ソーシャル',
|
|
290
|
+
};
|
|
291
|
+
return labels[source] || source;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=VisualizationGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisualizationGenerator.js","sourceRoot":"","sources":["../../src/trend/VisualizationGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trend Analysis Module
|
|
3
|
+
*
|
|
4
|
+
* @module @nahisaho/katashiro-analyzer/trend
|
|
5
|
+
* @requirement REQ-ANALYZE-004
|
|
6
|
+
* @design DES-ANALYZE-004
|
|
7
|
+
* @task TASK-004
|
|
8
|
+
*/
|
|
9
|
+
export { TrendAnalyzer } from './TrendAnalyzer.js';
|
|
10
|
+
export { TimeSeriesCollector } from './TimeSeriesCollector.js';
|
|
11
|
+
export { TrendDetector } from './TrendDetector.js';
|
|
12
|
+
export { ForecastEngine } from './ForecastEngine.js';
|
|
13
|
+
export { VisualizationGenerator } from './VisualizationGenerator.js';
|
|
14
|
+
export type { TrendAnalysisQuery, TrendAnalysisResult, TrendAnalyzerConfig, TrendAnalysisError, TimeSeriesData, CollectionQuery, SampleDocument, DetectedTrend, TrendType, TrendDetectorConfig, TrendSummary, ForecastData, ForecastConfig, ForecastMethod, VisualizationData, LineChartData, HeatmapData, PieChartData, TopicComparison, TrendMetadata, TrendSource, TimeGranularity, } from './types.js';
|
|
15
|
+
export { DEFAULT_TREND_CONFIG } from './types.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/trend/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,YAAY,EAEV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAGlB,cAAc,EACd,eAAe,EACf,cAAc,EAGd,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,YAAY,EAGZ,YAAY,EACZ,cAAc,EACd,cAAc,EAGd,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,YAAY,EAGZ,eAAe,EAGf,aAAa,EACb,WAAW,EACX,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trend Analysis Module
|
|
3
|
+
*
|
|
4
|
+
* @module @nahisaho/katashiro-analyzer/trend
|
|
5
|
+
* @requirement REQ-ANALYZE-004
|
|
6
|
+
* @design DES-ANALYZE-004
|
|
7
|
+
* @task TASK-004
|
|
8
|
+
*/
|
|
9
|
+
// Main orchestrator
|
|
10
|
+
export { TrendAnalyzer } from './TrendAnalyzer.js';
|
|
11
|
+
// Component classes
|
|
12
|
+
export { TimeSeriesCollector } from './TimeSeriesCollector.js';
|
|
13
|
+
export { TrendDetector } from './TrendDetector.js';
|
|
14
|
+
export { ForecastEngine } from './ForecastEngine.js';
|
|
15
|
+
export { VisualizationGenerator } from './VisualizationGenerator.js';
|
|
16
|
+
// Default config
|
|
17
|
+
export { DEFAULT_TREND_CONFIG } from './types.js';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/trend/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,oBAAoB;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAyCrE,iBAAiB;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trend Analyzer - 型定義
|
|
3
|
+
*
|
|
4
|
+
* @requirement REQ-ANALYZE-004
|
|
5
|
+
* @design DES-ANALYZE-004
|
|
6
|
+
* @task TASK-004
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* トレンド分析クエリ
|
|
10
|
+
*/
|
|
11
|
+
export interface TrendAnalysisQuery {
|
|
12
|
+
/** 分析対象のキーワードまたはトピック */
|
|
13
|
+
topic: string;
|
|
14
|
+
/** 分析期間 */
|
|
15
|
+
dateRange: {
|
|
16
|
+
start: Date;
|
|
17
|
+
end: Date;
|
|
18
|
+
};
|
|
19
|
+
/** オプション設定 */
|
|
20
|
+
options?: {
|
|
21
|
+
/** 時間粒度 */
|
|
22
|
+
granularity?: TimeGranularity;
|
|
23
|
+
/** データソース */
|
|
24
|
+
sources?: TrendSource[];
|
|
25
|
+
/** 予測を含めるか */
|
|
26
|
+
includeForecast?: boolean;
|
|
27
|
+
/** 予測期間(期間数) */
|
|
28
|
+
forecastPeriods?: number;
|
|
29
|
+
/** 地域フィルター */
|
|
30
|
+
regions?: string[];
|
|
31
|
+
/** 言語フィルター */
|
|
32
|
+
languages?: string[];
|
|
33
|
+
};
|
|
34
|
+
/** 比較対象キーワード(オプション) */
|
|
35
|
+
compareTopics?: string[];
|
|
36
|
+
}
|
|
37
|
+
export type TimeGranularity = 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly';
|
|
38
|
+
export type TrendSource = 'news' | 'rss' | 'academic' | 'social' | 'web';
|
|
39
|
+
/**
|
|
40
|
+
* トレンド分析結果
|
|
41
|
+
*/
|
|
42
|
+
export interface TrendAnalysisResult {
|
|
43
|
+
/** 分析対象トピック */
|
|
44
|
+
topic: string;
|
|
45
|
+
/** 分析期間 */
|
|
46
|
+
dateRange: {
|
|
47
|
+
start: Date;
|
|
48
|
+
end: Date;
|
|
49
|
+
};
|
|
50
|
+
/** 時系列データ */
|
|
51
|
+
timeSeries: TimeSeriesData[];
|
|
52
|
+
/** 検出されたトレンド */
|
|
53
|
+
trends: DetectedTrend[];
|
|
54
|
+
/** トレンドサマリー */
|
|
55
|
+
summary: TrendSummary;
|
|
56
|
+
/** 比較分析(複数トピックの場合) */
|
|
57
|
+
comparison?: TopicComparison;
|
|
58
|
+
/** 予測データ(オプション) */
|
|
59
|
+
forecast?: ForecastData;
|
|
60
|
+
/** 可視化用データ */
|
|
61
|
+
visualization: VisualizationData;
|
|
62
|
+
/** メタ情報 */
|
|
63
|
+
metadata: TrendMetadata;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* 時系列データポイント
|
|
67
|
+
*/
|
|
68
|
+
export interface TimeSeriesData {
|
|
69
|
+
/** タイムスタンプ */
|
|
70
|
+
timestamp: Date;
|
|
71
|
+
/** 出現頻度/ボリューム */
|
|
72
|
+
volume: number;
|
|
73
|
+
/** 正規化スコア (0-100) */
|
|
74
|
+
normalizedScore: number;
|
|
75
|
+
/** センチメント (-1 to 1) */
|
|
76
|
+
sentiment?: number;
|
|
77
|
+
/** ソース別内訳 */
|
|
78
|
+
sourceBreakdown: Partial<Record<TrendSource, number>>;
|
|
79
|
+
/** サンプルドキュメント */
|
|
80
|
+
sampleDocs: SampleDocument[];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* サンプルドキュメント
|
|
84
|
+
*/
|
|
85
|
+
export interface SampleDocument {
|
|
86
|
+
/** タイトル */
|
|
87
|
+
title: string;
|
|
88
|
+
/** URL */
|
|
89
|
+
url: string;
|
|
90
|
+
/** 公開日時 */
|
|
91
|
+
publishedAt: Date;
|
|
92
|
+
/** ソース */
|
|
93
|
+
source: TrendSource;
|
|
94
|
+
/** 関連度スコア */
|
|
95
|
+
relevanceScore: number;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* 検出されたトレンド
|
|
99
|
+
*/
|
|
100
|
+
export interface DetectedTrend {
|
|
101
|
+
/** トレンドタイプ */
|
|
102
|
+
type: TrendType;
|
|
103
|
+
/** 開始時点 */
|
|
104
|
+
startDate: Date;
|
|
105
|
+
/** 終了時点 */
|
|
106
|
+
endDate: Date;
|
|
107
|
+
/** 信頼度 (0-1) */
|
|
108
|
+
confidence: number;
|
|
109
|
+
/** 変化の大きさ(%) */
|
|
110
|
+
magnitude: number;
|
|
111
|
+
/** 説明 */
|
|
112
|
+
description: string;
|
|
113
|
+
}
|
|
114
|
+
export type TrendType = 'rising' | 'falling' | 'spike' | 'plateau' | 'seasonal' | 'cyclical' | 'emerging';
|
|
115
|
+
/**
|
|
116
|
+
* トレンドサマリー
|
|
117
|
+
*/
|
|
118
|
+
export interface TrendSummary {
|
|
119
|
+
/** 支配的なトレンドタイプ */
|
|
120
|
+
dominantTrend: TrendType;
|
|
121
|
+
/** 信頼度 (0-1) */
|
|
122
|
+
confidence: number;
|
|
123
|
+
/** 成長率(期間全体、%) */
|
|
124
|
+
growthRate: number;
|
|
125
|
+
/** ピーク時期 */
|
|
126
|
+
peakPeriod: Date;
|
|
127
|
+
/** ピーク時の値 */
|
|
128
|
+
peakVolume: number;
|
|
129
|
+
/** トレンドの説明文 */
|
|
130
|
+
narrative: string;
|
|
131
|
+
/** キーインサイト */
|
|
132
|
+
keyInsights: string[];
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* トピック比較
|
|
136
|
+
*/
|
|
137
|
+
export interface TopicComparison {
|
|
138
|
+
/** 比較対象トピックとデータ */
|
|
139
|
+
topics: Array<{
|
|
140
|
+
topic: string;
|
|
141
|
+
data: TimeSeriesData[];
|
|
142
|
+
}>;
|
|
143
|
+
/** トピック間の相関 */
|
|
144
|
+
correlations: Array<{
|
|
145
|
+
topic1: string;
|
|
146
|
+
topic2: string;
|
|
147
|
+
correlation: number;
|
|
148
|
+
}>;
|
|
149
|
+
/** 比較サマリー */
|
|
150
|
+
comparisonSummary: string;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* 予測データ
|
|
154
|
+
*/
|
|
155
|
+
export interface ForecastData {
|
|
156
|
+
/** 予測手法 */
|
|
157
|
+
method: ForecastMethod;
|
|
158
|
+
/** 予測ポイント */
|
|
159
|
+
predictions: Array<{
|
|
160
|
+
date: Date;
|
|
161
|
+
value: number;
|
|
162
|
+
}>;
|
|
163
|
+
/** 上限境界 */
|
|
164
|
+
upperBound: number[];
|
|
165
|
+
/** 下限境界 */
|
|
166
|
+
lowerBound: number[];
|
|
167
|
+
/** 信頼水準 */
|
|
168
|
+
confidenceLevel: number;
|
|
169
|
+
/** モデル精度 (R²) */
|
|
170
|
+
accuracy: number;
|
|
171
|
+
}
|
|
172
|
+
export type ForecastMethod = 'linear' | 'exponential' | 'movingAverage';
|
|
173
|
+
export interface ForecastConfig {
|
|
174
|
+
/** 予測期間数 */
|
|
175
|
+
periods: number;
|
|
176
|
+
/** 予測手法 */
|
|
177
|
+
method: ForecastMethod;
|
|
178
|
+
/** 信頼水準 */
|
|
179
|
+
confidenceLevel: number;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* 可視化データ
|
|
183
|
+
*/
|
|
184
|
+
export interface VisualizationData {
|
|
185
|
+
/** 折れ線グラフデータ */
|
|
186
|
+
lineChart: LineChartData;
|
|
187
|
+
/** ヒートマップデータ(時間×ソース) */
|
|
188
|
+
heatmap: HeatmapData;
|
|
189
|
+
/** 円グラフ(ソース別シェア) */
|
|
190
|
+
pieChart: PieChartData;
|
|
191
|
+
/** アノテーション */
|
|
192
|
+
annotations: Array<{
|
|
193
|
+
type: 'spike' | 'trend' | 'event';
|
|
194
|
+
position: Date;
|
|
195
|
+
label: string;
|
|
196
|
+
color: string;
|
|
197
|
+
}>;
|
|
198
|
+
}
|
|
199
|
+
export interface LineChartData {
|
|
200
|
+
labels: string[];
|
|
201
|
+
datasets: Array<{
|
|
202
|
+
label: string;
|
|
203
|
+
data: (number | null)[];
|
|
204
|
+
color: string;
|
|
205
|
+
type: 'line' | 'area';
|
|
206
|
+
}>;
|
|
207
|
+
}
|
|
208
|
+
export interface HeatmapData {
|
|
209
|
+
xLabels: string[];
|
|
210
|
+
yLabels: string[];
|
|
211
|
+
values: number[][];
|
|
212
|
+
maxValue: number;
|
|
213
|
+
}
|
|
214
|
+
export interface PieChartData {
|
|
215
|
+
labels: string[];
|
|
216
|
+
data: number[];
|
|
217
|
+
colors: string[];
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* メタデータ
|
|
221
|
+
*/
|
|
222
|
+
export interface TrendMetadata {
|
|
223
|
+
/** 使用されたソース */
|
|
224
|
+
sources: TrendSource[];
|
|
225
|
+
/** 時間粒度 */
|
|
226
|
+
granularity: TimeGranularity;
|
|
227
|
+
/** 総データポイント数 */
|
|
228
|
+
dataPoints: number;
|
|
229
|
+
/** 分析実行日時 */
|
|
230
|
+
analysisTimestamp: Date;
|
|
231
|
+
/** 処理時間(ミリ秒) */
|
|
232
|
+
processingTimeMs: number;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* トレンド分析エラー
|
|
236
|
+
*/
|
|
237
|
+
export interface TrendAnalysisError {
|
|
238
|
+
code: TrendAnalysisErrorCode;
|
|
239
|
+
message: string;
|
|
240
|
+
details?: unknown;
|
|
241
|
+
}
|
|
242
|
+
export type TrendAnalysisErrorCode = 'INVALID_INPUT' | 'COLLECTION_FAILED' | 'INSUFFICIENT_DATA' | 'ANALYSIS_FAILED' | 'COMPARISON_FAILED' | 'FORECAST_FAILED' | 'TIMEOUT' | 'UNKNOWN_ERROR';
|
|
243
|
+
/**
|
|
244
|
+
* 内部用: 収集クエリ
|
|
245
|
+
*/
|
|
246
|
+
export interface CollectionQuery {
|
|
247
|
+
topic: string;
|
|
248
|
+
startDate: Date;
|
|
249
|
+
endDate: Date;
|
|
250
|
+
granularity: TimeGranularity;
|
|
251
|
+
sources: TrendSource[];
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* TrendDetector設定
|
|
255
|
+
*/
|
|
256
|
+
export interface TrendDetectorConfig {
|
|
257
|
+
sensitivityThreshold: number;
|
|
258
|
+
minDataPoints: number;
|
|
259
|
+
detectSeasonality: boolean;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* TrendAnalyzer設定
|
|
263
|
+
*/
|
|
264
|
+
export interface TrendAnalyzerConfig {
|
|
265
|
+
maxSources: number;
|
|
266
|
+
defaultGranularity: TimeGranularity;
|
|
267
|
+
forecastPeriods: number;
|
|
268
|
+
enableCaching: boolean;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* デフォルト設定
|
|
272
|
+
*/
|
|
273
|
+
export declare const DEFAULT_TREND_CONFIG: {
|
|
274
|
+
readonly granularity: TimeGranularity;
|
|
275
|
+
readonly sources: TrendSource[];
|
|
276
|
+
readonly forecastPeriods: 7;
|
|
277
|
+
readonly lookbackDays: 30;
|
|
278
|
+
};
|
|
279
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/trend/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trend Analyzer - 型定義
|
|
3
|
+
*
|
|
4
|
+
* @requirement REQ-ANALYZE-004
|
|
5
|
+
* @design DES-ANALYZE-004
|
|
6
|
+
* @task TASK-004
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* デフォルト設定
|
|
10
|
+
*/
|
|
11
|
+
export const DEFAULT_TREND_CONFIG = {
|
|
12
|
+
granularity: 'daily',
|
|
13
|
+
sources: ['news', 'web'],
|
|
14
|
+
forecastPeriods: 7,
|
|
15
|
+
lookbackDays: 30,
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/trend/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgWH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,WAAW,EAAE,OAA0B;IACvC,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,CAAkB;IACzC,eAAe,EAAE,CAAC;IAClB,YAAY,EAAE,EAAE;CACR,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nahisaho/katashiro-analyzer",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "KATASHIRO Analyzer - 分析・推論パッケージ",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -20,7 +20,9 @@
|
|
|
20
20
|
"test": "vitest run"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@nahisaho/katashiro-core": "*"
|
|
23
|
+
"@nahisaho/katashiro-core": "*",
|
|
24
|
+
"@nahisaho/katashiro-collector": "*",
|
|
25
|
+
"@nahisaho/katashiro-knowledge": "*"
|
|
24
26
|
},
|
|
25
27
|
"author": "nahisaho",
|
|
26
28
|
"license": "MIT",
|