nuriyev commited on
Commit
8bb6d15
·
1 Parent(s): e4ab884

overview readme

Browse files
Files changed (1) hide show
  1. README.md +69 -6
README.md CHANGED
@@ -1,8 +1,71 @@
1
- ## TODO
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
- - add adversarial training example
4
- - user mentions alternative or criteria he doesn't want to include
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
6
- - handle missing data from user_query
7
- - by asking follow-up questions
8
- - or by making assumptions based on context
 
 
 
1
+ # Z-Number Decision Matrix Extraction
2
+
3
+ How do you make decisions when your reasoning is messy and contains uncertainty, subjectivity, or contradictions? This project leverages large language models fine-tuned to extract Z-number decision matrix from natural language narrative. The extracted matrix is then analyzed using z-number-based Multi-Criteria Decision-Making (MCDM) methods (TOPSIS, PROMETHEE).
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ python text2mcdm.py --query "Your decision problem here" --method topsis
9
+ ```
10
+
11
+ **Arguments:**
12
+
13
+ | Argument | Default | Description |
14
+ |----------|---------|-------------|
15
+ | `--query`, `-q` | (built-in example) | Decision narrative |
16
+ | `--method` | `topsis` | MCDM algorithm: `topsis` or `promethee` |
17
+
18
+ **Example:**
19
+
20
+ ```bash
21
+ python text2mcdm.py --query "I'm trying to decide between taking a train, flying, or driving for my upcoming trip from Paris to Amsterdam, and I need to figure out what actually matters here. Environmental impact is absolutely my top priority, like I cannot stress this enough, I've been trying to reduce my carbon footprint all year and this is non-negotiable for me. The train is obviously amazing for this, planes are a disaster environmentally, and driving alone isn't great either but better than flying I guess. Cost matters somewhat but honestly I have some savings and this is a special trip so I'm not going to stress about it too much—trains are reasonable, flights can be cheap with budget airlines, driving with gas and tolls probably adds up. Comfort is kind of important to me since I get motion sick and anxious in certain situations, and trains are super relaxing with legroom and wifi, planes make me nervous and cramped, cars are fine but I'd be exhausted from driving. Time efficiency barely matters since I'm not in a rush at all and I'm taking the whole week off anyway—I know planes are fastest at like an hour, trains take about 3 hours, driving is maybe 5 hours, but whatever, I have time. Oh and reliability is pretty important because I absolutely cannot miss my friend's wedding ceremony on Saturday, and trains are almost always on time, flights get delayed constantly especially budget ones, and driving you could hit traffic or car trouble." --method topsis
22
+ ```
23
+
24
+ **Output:**
25
+
26
+ Extracted decision matrix:
27
 
28
+ | | environmental_impact | travel_cost | comfort_level | time_efficiency | reliability |
29
+ |---|---|---|---|---|---|
30
+ | type | benefit | cost | benefit | benefit | benefit |
31
+ | train | 5:5 | -3:4 | 4:4 | 2:5 | 5:5 |
32
+ | flight | 1:5 | -2:4 | 2:4 | 5:5 | 2:4 |
33
+ | driving | 3:4 | -4:3 | 3:3 | 3:4 | 3:3 |
34
+ | weight | 5:5 | 3:4 | 4:4 | 1:5 | 5:5 |
35
+
36
+ Ranking (TOPSIS):
37
+
38
+ ```
39
+ 1. train
40
+ 2. driving
41
+ 3. flight
42
+ ```
43
+
44
+ ## Directory Structure
45
+
46
+ ```
47
+ .
48
+ ├── data/ # Training data
49
+ ├── helpers/ # Helper modules
50
+ ├── outputs/ # Model checkpoints
51
+ ├── qwen3_finetune.ipynb # Fine-tuning notebook
52
+ ├── znum_data_gen.py # Data generation script
53
+ ├── validate_znum.py # Data validation script
54
+ └── text2mcdm.py # Inference and MCDM analysis
55
+ ```
56
+
57
+ ## Data Generation
58
+
59
+ `znum_data_gen.py` generates training data using the Gemini API. `validate_znum.py` validates the generated data. See `--help` for options.
60
+
61
+ ## Model
62
+
63
+ Fine-tuned model: [`nuriyev/Qwen3-4B-znum-decision-matrix`](https://huggingface.co/nuriyev/Qwen3-4B-znum-decision-matrix)
64
+
65
+ ## TODO
66
 
67
+ - Add adversarial training examples
68
+ - Handle cases where the user mentions alternatives or criteria to exclude
69
+ - Handle missing data from user queries
70
+ - By asking follow-up questions
71
+ - Or by making assumptions based on context