diff --git a/app/src/app.rs b/app/src/app.rs index 48975a9..8ad7839 100644 --- a/app/src/app.rs +++ b/app/src/app.rs @@ -1,5 +1,4 @@ -use crate::cli::args::{CliArgs, Command}; -use crate::cli::handlers::resolve_command; +use crate::commands::{CliArgs, Command, resolve_command}; use crate::config::AppConfig; use crate::container::Container; use anyhow::Result; diff --git a/app/src/cli.rs b/app/src/cli.rs deleted file mode 100644 index 79a457e..0000000 --- a/app/src/cli.rs +++ /dev/null @@ -1,5 +0,0 @@ -pub mod args; -pub mod commands; -pub mod defaults; -pub mod handlers; -pub mod traits; diff --git a/app/src/cli/args.rs b/app/src/cli/args.rs deleted file mode 100644 index e7a0f38..0000000 --- a/app/src/cli/args.rs +++ /dev/null @@ -1,168 +0,0 @@ -use crate::cli::defaults; -use crate::cli::traits::ConfigurableCommand; -use anyhow::Result; -use clap::{Args as ClapArgs, Parser, Subcommand}; -use config::ConfigBuilder; -use config::builder::DefaultState; -use std::path::PathBuf; - -#[derive(Parser, Debug)] -#[command(author, version, about)] -pub struct CliArgs { - #[command(flatten)] - pub global: GlobalArgs, - - #[command(subcommand)] - pub command: Command, -} - -#[derive(ClapArgs, Debug)] -pub struct GlobalArgs { - /// Path to config file - #[arg(short, long, default_value = "config.toml")] - pub config: PathBuf, - - #[arg(long, help = defaults::HELP_LOG)] - pub log_level: Option, -} - -#[derive(Subcommand, Debug, Clone)] -pub enum Command { - /// Start the application server - Server(ServerArgs), - - /// Decode a word using given system - Decode(DecodeArgs), - - /// Encode a number using given system - Encode(EncodeArgs), - - /// Import dictionary - ImportDict(ImportDictArgs), -} - -#[derive(ClapArgs, Debug, Clone)] -pub struct ServerArgs { - #[arg(short, long, help = defaults::HELP_PORT)] - pub port: Option, -} - -impl ConfigurableCommand for ServerArgs { - fn apply_defaults( - &self, - builder: ConfigBuilder, - ) -> Result> { - builder - .set_default("server.host", defaults::HOST)? - .set_default("server.port", defaults::PORT) - .map_err(Into::into) - } - - fn apply_overrides( - &self, - builder: ConfigBuilder, - ) -> Result> { - let mut builder = builder; - if let Some(port) = self.port { - builder = builder.set_override("server.port", port)?; - } - Ok(builder) - } -} - -#[derive(ClapArgs, Debug, Clone)] -pub struct DecodeArgs { - #[arg(long, help = defaults::HELP_DEC_SYSTEM)] - pub system: Option, - - #[arg(long, help = defaults::HELP_DEC_INPUT)] - pub input: String, -} - -impl ConfigurableCommand for DecodeArgs { - fn apply_defaults( - &self, - builder: ConfigBuilder, - ) -> Result> { - builder - .set_default("decoder.system", defaults::SYSTEM_NAME)? - .set_default("decoder.input", "") - .map_err(Into::into) - } - - fn apply_overrides( - &self, - builder: ConfigBuilder, - ) -> Result> { - let mut builder = builder; - if let Some(ref system) = self.system { - builder = builder.set_override("decoder.system", system.clone())?; - } - builder = builder.set_override("decoder.input", self.input.clone())?; - Ok(builder) - } -} - -#[derive(ClapArgs, Debug, Clone)] -pub struct EncodeArgs { - #[arg(long, help = defaults::HELP_ENC_SYSTEM)] - pub system: Option, - - #[arg(long, help = defaults::HELP_ENC_INPUT)] - pub input: String, -} - -impl ConfigurableCommand for EncodeArgs { - fn apply_defaults( - &self, - builder: ConfigBuilder, - ) -> Result> { - builder - .set_default("encoder.system", defaults::SYSTEM_NAME)? - .set_default("encoder.input", "") - .map_err(Into::into) - } - - fn apply_overrides( - &self, - builder: ConfigBuilder, - ) -> Result> { - let mut builder = builder; - if let Some(ref system) = self.system { - builder = builder.set_override("encoder.system", system.clone())?; - } - builder = builder.set_override("encoder.input", self.input.clone())?; - Ok(builder) - } -} - -#[derive(ClapArgs, Debug, Clone)] -pub struct ImportDictArgs { - #[arg(long, help = defaults::HELP_IMPORT_DICT_NAME)] - pub name: String, - - #[arg(long, help = defaults::HELP_IMPORT_DICT_INPUT)] - pub path: String, -} - -impl ConfigurableCommand for ImportDictArgs { - fn apply_defaults( - &self, - builder: ConfigBuilder, - ) -> Result> { - builder - .set_default("import_dict.name", defaults::IMPORT_DICT_NAME)? - .set_default("import_dict.path", defaults::IMPORT_DICT_PATH) - .map_err(Into::into) - } - - fn apply_overrides( - &self, - builder: ConfigBuilder, - ) -> Result> { - builder - .set_override("import_dict.name", self.name.clone())? - .set_override("import_dict.path", self.path.clone()) - .map_err(Into::into) - } -} diff --git a/app/src/cli/commands.rs b/app/src/cli/commands.rs deleted file mode 100644 index 5b766bb..0000000 --- a/app/src/cli/commands.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub mod decode; -pub mod encode; -pub mod import_dict; -pub mod server; diff --git a/app/src/cli/commands/decode.rs b/app/src/cli/commands/decode.rs deleted file mode 100644 index e492d8f..0000000 --- a/app/src/cli/commands/decode.rs +++ /dev/null @@ -1,22 +0,0 @@ -use applib::application::config::DecoderConfig; -use applib::core::sys_major::decoder::Decoder; -use applib::core::sys_major::{self as major, LenValueMap}; -use applib::core::traits::SystemDecoder; -use applib::system::System; -use std::sync::Arc; - -pub async fn run(config: DecoderConfig) { - let decoder: Box = match config.system { - System::MajorPl => Box::new(Decoder::new(major::rules_pl::get_rules())), - System::MajorEn => Box::new(Decoder::new(major::rules_en::get_rules())), - // _ => { - // eprintln!("Unknown system: {:?}", config.system); - // return; - // } - }; - - match decoder.decode(&config.input) { - Ok(result) => println!("{:?}", result), - Err(e) => eprintln!("Error: {}", e), - } -} diff --git a/app/src/cli/commands/encode.rs b/app/src/cli/commands/encode.rs deleted file mode 100644 index 9ecb49f..0000000 --- a/app/src/cli/commands/encode.rs +++ /dev/null @@ -1,36 +0,0 @@ -use applib::application::config::EncoderConfig; -use applib::core::sys_major::encoder::Encoder; -use applib::core::sys_major::{self as major, LenValueMap}; -use applib::core::traits::{DictRepository, SystemEncoder}; -use applib::system::System; -use tracing::debug; - -pub async fn run(config: EncoderConfig, dict: &dyn DictRepository) { - debug!("Running encoder with config {:?}", config); - - let system_encoder: Box = match config.system { - System::MajorPl | System::MajorEn => { - let decoder = major::Decoder::new(match config.system { - System::MajorPl => major::rules_pl::get_rules(), - System::MajorEn => major::rules_en::get_rules(), - // _ => unreachable!(), - }); - let stream = dict.stream_batches(100).await.unwrap(); - let lvmap = LenValueMap::from_stream(stream, &decoder).await.unwrap(); - Box::new(Encoder::new(lvmap)) - } // _ => { - // eprintln!("Unknown system: {:?}", config.system); - // return; - // } - }; - - let result = system_encoder.encode(&config.input); - - match result { - Ok(res) => { - let json = serde_json::to_string_pretty(&res).expect("JSON serialization failed"); - println!("{}", json); - } - Err(e) => eprintln!("Error encoding: {:?}", e), - } -} diff --git a/app/src/cli/commands/import_dict.rs b/app/src/cli/commands/import_dict.rs deleted file mode 100644 index 057be2c..0000000 --- a/app/src/cli/commands/import_dict.rs +++ /dev/null @@ -1,12 +0,0 @@ -use anyhow::Result; -use applib::DictImporter; -use applib::application::config::ImportDictConfig; - -pub async fn run(config: ImportDictConfig, importer: DictImporter) -> Result<()> { - // Importer expects an impl DictSource - // We need to create a DictSource from the path - use applib::infrastructure::json_file_dict_source::JsonFileDictSource; - let source = JsonFileDictSource::new(&config.path)?; - importer.import(source).await?; - Ok(()) -} diff --git a/app/src/cli/commands/server.rs b/app/src/cli/commands/server.rs deleted file mode 100644 index d5fa916..0000000 --- a/app/src/cli/commands/server.rs +++ /dev/null @@ -1,6 +0,0 @@ -use applib::application::config::ServerConfig; -use std::future::Future; - -pub async fn run(config: ServerConfig, signal: impl Future + Send + 'static) { - applib::presentation::server::run(config, signal).await; -} diff --git a/app/src/cli/handlers.rs b/app/src/cli/handlers.rs deleted file mode 100644 index 4423c40..0000000 --- a/app/src/cli/handlers.rs +++ /dev/null @@ -1,81 +0,0 @@ -use crate::cli::args::{Command, DecodeArgs, EncodeArgs, ImportDictArgs, ServerArgs}; -use crate::cli::commands; -use crate::cli::traits::ConfigurableCommand; -use crate::config::AppConfig; -use crate::container::Container; -use anyhow::Result; -use async_trait::async_trait; -use tokio::signal; -use tracing::{info, warn}; - -#[async_trait] -pub trait CommandExecutor { - async fn execute(&self, config: &AppConfig, container: &Container) -> Result<()>; -} - -// AppCommand must be dyn-compatible. ConfigurableCommand is already dyn-compatible. -// CommandExecutor is dyn-compatible because of #[async_trait]. -pub trait AppCommand: ConfigurableCommand + CommandExecutor {} - -impl AppCommand for T {} - -pub fn resolve_command(command: &Command) -> &dyn AppCommand { - match command { - Command::Server(args) => args, - Command::Decode(args) => args, - Command::Encode(args) => args, - Command::ImportDict(args) => args, - } -} - -#[async_trait] -impl CommandExecutor for ServerArgs { - async fn execute(&self, config: &AppConfig, _container: &Container) -> Result<()> { - let config = config.server.as_ref().expect("Server config not set"); - commands::server::run(config.clone(), wait_for_shutdown_signal()).await; - Ok(()) - } -} - -#[async_trait] -impl CommandExecutor for DecodeArgs { - async fn execute(&self, config: &AppConfig, _container: &Container) -> Result<()> { - let config = config.decoder.as_ref().expect("Decoder config not set"); - commands::decode::run(config.clone()).await; - Ok(()) - } -} - -#[async_trait] -impl CommandExecutor for EncodeArgs { - async fn execute(&self, config: &AppConfig, container: &Container) -> Result<()> { - let config = config.encoder.as_ref().expect("Encoder config not set"); - let repo = container.create_dict_repo("demo_pl").await?; - commands::encode::run(config.clone(), repo.as_ref()).await; - Ok(()) - } -} - -#[async_trait] -impl CommandExecutor for ImportDictArgs { - async fn execute(&self, config: &AppConfig, container: &Container) -> Result<()> { - let config = config - .import_dict - .as_ref() - .expect("ImportDict config not set"); - let importer = container.create_dict_importer(&config.name).await?; - commands::import_dict::run(config.clone(), importer).await?; - Ok(()) - } -} - -async fn wait_for_shutdown_signal() { - match signal::ctrl_c().await { - Ok(()) => { - info!("Received shutdown signal (SIGINT/SIGTERM)"); - } - Err(err) => { - warn!("Failed to listen for shutdown signal: {}", err); - } - } -} diff --git a/app/src/cli/traits.rs b/app/src/cli/traits.rs deleted file mode 100644 index 18f4de6..0000000 --- a/app/src/cli/traits.rs +++ /dev/null @@ -1,14 +0,0 @@ -use anyhow::Result; -pub use config::ConfigBuilder; -pub use config::builder::DefaultState; - -pub trait ConfigurableCommand { - fn apply_defaults( - &self, - builder: ConfigBuilder, - ) -> Result>; - fn apply_overrides( - &self, - builder: ConfigBuilder, - ) -> Result>; -} diff --git a/app/src/commands.rs b/app/src/commands.rs new file mode 100644 index 0000000..d8ad6f7 --- /dev/null +++ b/app/src/commands.rs @@ -0,0 +1,81 @@ +pub mod decode; +pub mod encode; +pub mod import_dict; +pub mod server; + +use crate::config::AppConfig; +use crate::container::Container; +use crate::defaults; +use anyhow::Result; +use async_trait::async_trait; +use clap::Subcommand; +use clap::{Args as ClapArgs, Parser}; +use config::ConfigBuilder; +use config::builder::DefaultState; +use std::path::PathBuf; + +#[derive(Subcommand, Debug, Clone)] +pub enum Command { + /// Start the application server + Server(server::ServerArgs), + + /// Decode a word using given system + Decode(decode::DecodeArgs), + + /// Encode a number using given system + Encode(encode::EncodeArgs), + + /// Import dictionary + ImportDict(import_dict::ImportDictArgs), +} + +pub fn resolve_command(command: &Command) -> &dyn AppCommand { + match command { + Command::Server(args) => args, + Command::Decode(args) => args, + Command::Encode(args) => args, + Command::ImportDict(args) => args, + } +} + +#[derive(Parser, Debug)] +#[command(author, version, about)] +pub struct CliArgs { + #[command(flatten)] + pub global: GlobalArgs, + + #[command(subcommand)] + pub command: Command, +} + +#[derive(ClapArgs, Debug)] +pub struct GlobalArgs { + /// Path to config file + #[arg(short, long, default_value = "config.toml")] + pub config: PathBuf, + + #[arg(long, help = defaults::HELP_LOG)] + pub log_level: Option, +} + +pub trait ConfigurableCommand { + fn apply_defaults( + &self, + builder: ConfigBuilder, + ) -> Result>; + fn apply_overrides( + &self, + builder: ConfigBuilder, + ) -> Result>; +} + +#[async_trait] +pub trait CommandExecutor { + async fn execute(&self, config: &AppConfig, container: &Container) -> Result<()>; +} + +// AppCommand must be dyn-compatible. ConfigurableCommand is already dyn-compatible. +// CommandExecutor is dyn-compatible because of #[async_trait]. +pub trait AppCommand: ConfigurableCommand + CommandExecutor {} + +impl AppCommand for T {} diff --git a/app/src/commands/decode.rs b/app/src/commands/decode.rs new file mode 100644 index 0000000..cebf929 --- /dev/null +++ b/app/src/commands/decode.rs @@ -0,0 +1,64 @@ +use crate::commands::{ClapArgs, CommandExecutor, ConfigurableCommand}; +use crate::config::AppConfig; +use crate::container::Container; + +use crate::defaults; +use anyhow::Result; +use applib::core::sys_major::decoder::Decoder; +use applib::core::sys_major::{self as major}; +use applib::core::traits::SystemDecoder; +use applib::system::System; +use async_trait::async_trait; +use config::ConfigBuilder; +use config::builder::DefaultState; + +#[derive(ClapArgs, Debug, Clone)] +pub struct DecodeArgs { + #[arg(long, help = defaults::HELP_DEC_SYSTEM)] + pub system: Option, + + #[arg(long, help = defaults::HELP_DEC_INPUT)] + pub input: String, +} + +impl ConfigurableCommand for DecodeArgs { + fn apply_defaults( + &self, + builder: ConfigBuilder, + ) -> Result> { + builder + .set_default("decoder.system", defaults::SYSTEM_NAME)? + .set_default("decoder.input", "") + .map_err(Into::into) + } + + fn apply_overrides( + &self, + builder: ConfigBuilder, + ) -> Result> { + let mut builder = builder; + if let Some(ref system) = self.system { + builder = builder.set_override("decoder.system", system.clone())?; + } + builder = builder.set_override("decoder.input", self.input.clone())?; + Ok(builder) + } +} + +#[async_trait] +impl CommandExecutor for DecodeArgs { + async fn execute(&self, config: &AppConfig, _container: &Container) -> Result<()> { + let config = config.decoder.as_ref().expect("Decoder config not set"); + + let decoder: Box = match config.system { + System::MajorPl => Box::new(Decoder::new(major::rules_pl::get_rules())), + System::MajorEn => Box::new(Decoder::new(major::rules_en::get_rules())), + }; + + match decoder.decode(&config.input) { + Ok(result) => println!("{:?}", result), + Err(e) => eprintln!("Error: {}", e), + } + Ok(()) // TODO: Map decode result + } +} diff --git a/app/src/commands/encode.rs b/app/src/commands/encode.rs new file mode 100644 index 0000000..2f3ab10 --- /dev/null +++ b/app/src/commands/encode.rs @@ -0,0 +1,83 @@ +use applib::core::sys_major::encoder::Encoder; +use applib::core::sys_major::{self as major, LenValueMap}; +use applib::core::traits::SystemEncoder; +use applib::system::System; +use tracing::debug; + +use crate::commands::{ClapArgs, CommandExecutor, ConfigurableCommand}; +use crate::config::AppConfig; +use crate::container::Container; + +use crate::defaults; +use anyhow::Result; +use async_trait::async_trait; +use config::ConfigBuilder; +use config::builder::DefaultState; + +#[derive(ClapArgs, Debug, Clone)] +pub struct EncodeArgs { + #[arg(long, help = defaults::HELP_ENC_SYSTEM)] + pub system: Option, + + #[arg(long, help = defaults::HELP_ENC_INPUT)] + pub input: String, +} + +impl ConfigurableCommand for EncodeArgs { + fn apply_defaults( + &self, + builder: ConfigBuilder, + ) -> Result> { + builder + .set_default("encoder.system", defaults::SYSTEM_NAME)? + .set_default("encoder.input", "") + .map_err(Into::into) + } + + fn apply_overrides( + &self, + builder: ConfigBuilder, + ) -> Result> { + let mut builder = builder; + if let Some(ref system) = self.system { + builder = builder.set_override("encoder.system", system.clone())?; + } + builder = builder.set_override("encoder.input", self.input.clone())?; + Ok(builder) + } +} + +#[async_trait] +impl CommandExecutor for EncodeArgs { + async fn execute(&self, config: &AppConfig, container: &Container) -> Result<()> { + let config = config.encoder.as_ref().expect("Encoder config not set"); + let repo = container.create_dict_repo("demo_pl").await?; + + debug!("Running encoder with config {:?}", config); + + let system_encoder: Box = match config.system { + System::MajorPl | System::MajorEn => { + let decoder = major::Decoder::new(match config.system { + System::MajorPl => major::rules_pl::get_rules(), + System::MajorEn => major::rules_en::get_rules(), + // _ => unreachable!(), + }); + let stream = repo.stream_batches(100).await.unwrap(); + let lvmap = LenValueMap::from_stream(stream, &decoder).await.unwrap(); + Box::new(Encoder::new(lvmap)) + } + }; + + let result = system_encoder.encode(&config.input); + + match result { + Ok(res) => { + let json = serde_json::to_string_pretty(&res).expect("JSON serialization failed"); + println!("{}", json); + } + Err(e) => eprintln!("Error encoding: {:?}", e), + } + + Ok(()) + } +} diff --git a/app/src/commands/import_dict.rs b/app/src/commands/import_dict.rs new file mode 100644 index 0000000..32d1043 --- /dev/null +++ b/app/src/commands/import_dict.rs @@ -0,0 +1,57 @@ +use crate::commands::{ClapArgs, CommandExecutor, ConfigurableCommand}; +use crate::config::AppConfig; +use crate::container::Container; +use crate::defaults; +use anyhow::Result; +use async_trait::async_trait; +use config::ConfigBuilder; +use config::builder::DefaultState; + +#[derive(ClapArgs, Debug, Clone)] +pub struct ImportDictArgs { + #[arg(long, help = defaults::HELP_IMPORT_DICT_NAME)] + pub name: String, + + #[arg(long, help = defaults::HELP_IMPORT_DICT_INPUT)] + pub path: String, +} + +impl ConfigurableCommand for ImportDictArgs { + fn apply_defaults( + &self, + builder: ConfigBuilder, + ) -> Result> { + builder + .set_default("import_dict.name", defaults::IMPORT_DICT_NAME)? + .set_default("import_dict.path", defaults::IMPORT_DICT_PATH) + .map_err(Into::into) + } + + fn apply_overrides( + &self, + builder: ConfigBuilder, + ) -> Result> { + builder + .set_override("import_dict.name", self.name.clone())? + .set_override("import_dict.path", self.path.clone()) + .map_err(Into::into) + } +} + +#[async_trait] +impl CommandExecutor for ImportDictArgs { + async fn execute(&self, config: &AppConfig, container: &Container) -> Result<()> { + let config = config + .import_dict + .as_ref() + .expect("ImportDict config not set"); + let importer = container.create_dict_importer(&config.name).await?; + + // Importer expects an impl DictSource + // We need to create a DictSource from the path + use applib::infrastructure::json_file_dict_source::JsonFileDictSource; + let source = JsonFileDictSource::new(&config.path)?; + importer.import(source).await?; + Ok(()) + } +} diff --git a/app/src/commands/server.rs b/app/src/commands/server.rs new file mode 100644 index 0000000..d561be1 --- /dev/null +++ b/app/src/commands/server.rs @@ -0,0 +1,60 @@ +use crate::commands::{ClapArgs, CommandExecutor, ConfigurableCommand}; +use crate::config::AppConfig; +use crate::container::Container; + +use crate::defaults; +use anyhow::Result; +use async_trait::async_trait; +use config::ConfigBuilder; +use config::builder::DefaultState; +use tokio::signal; +use tracing::{info, warn}; + +#[derive(ClapArgs, Debug, Clone)] +pub struct ServerArgs { + #[arg(short, long, help = defaults::HELP_PORT)] + pub port: Option, +} + +impl ConfigurableCommand for ServerArgs { + fn apply_defaults( + &self, + builder: ConfigBuilder, + ) -> Result> { + builder + .set_default("server.host", defaults::HOST)? + .set_default("server.port", defaults::PORT) + .map_err(Into::into) + } + + fn apply_overrides( + &self, + builder: ConfigBuilder, + ) -> Result> { + let mut builder = builder; + if let Some(port) = self.port { + builder = builder.set_override("server.port", port)?; + } + Ok(builder) + } +} + +#[async_trait] +impl CommandExecutor for ServerArgs { + async fn execute(&self, config: &AppConfig, _container: &Container) -> Result<()> { + let config = config.server.as_ref().expect("Server config not set"); + applib::presentation::server::run(config.clone(), wait_for_shutdown_signal()).await; + Ok(()) + } +} + +async fn wait_for_shutdown_signal() { + match signal::ctrl_c().await { + Ok(()) => { + info!("Received shutdown signal (SIGINT/SIGTERM)"); + } + Err(err) => { + warn!("Failed to listen for shutdown signal: {}", err); + } + } +} diff --git a/app/src/config.rs b/app/src/config.rs index 3ab080a..34dac32 100644 --- a/app/src/config.rs +++ b/app/src/config.rs @@ -1,11 +1,9 @@ +use crate::commands::{ConfigurableCommand, GlobalArgs}; use anyhow::{Context, Result}; +use applib::application::config::*; use config::{Config, Environment, File}; use serde::Deserialize; -use crate::cli::args::GlobalArgs; -use crate::cli::traits::ConfigurableCommand; -use applib::application::config::*; - #[derive(Debug, Deserialize, Clone)] pub struct AppConfig { #[serde(default)] diff --git a/app/src/cli/defaults.rs b/app/src/defaults.rs similarity index 100% rename from app/src/cli/defaults.rs rename to app/src/defaults.rs diff --git a/app/src/main.rs b/app/src/main.rs index fee53f5..f51bc56 100644 --- a/app/src/main.rs +++ b/app/src/main.rs @@ -1,7 +1,8 @@ mod app; -pub mod cli; +mod commands; mod config; mod container; +mod defaults; use anyhow::Result; use app::Application; diff --git a/lib/src/core/sys_major/encoder.rs b/lib/src/core/sys_major/encoder.rs index 596f789..7bfc84b 100644 --- a/lib/src/core/sys_major/encoder.rs +++ b/lib/src/core/sys_major/encoder.rs @@ -1,5 +1,3 @@ -use core::num; - use crate::core::{ entities::{EncodedPart, EncodedSplit, EncodedValue}, errors::CodecError, diff --git a/lib/src/core/sys_major/lvmap.rs b/lib/src/core/sys_major/lvmap.rs index f2c2c49..6ade916 100644 --- a/lib/src/core/sys_major/lvmap.rs +++ b/lib/src/core/sys_major/lvmap.rs @@ -1,10 +1,10 @@ use crate::core::{ - DictRepository, SystemDecoder, + SystemDecoder, entities::DecodedLength, errors::{CodecError, RepositoryError}, }; -use futures::{Stream, StreamExt, TryStreamExt}; -use std::{collections::HashMap, hash::Hash, num::ParseIntError}; +use futures::{Stream, StreamExt}; +use std::{collections::HashMap, num::ParseIntError}; use thiserror::Error; // We store words by encoded number length, then encoded value @@ -20,9 +20,6 @@ use thiserror::Error; // - 45: // - word: oral -// Words are fetched from DictRepository in batches -const DEFAULT_DICT_BATCH_SIZE: usize = 100; - #[derive(Error, Debug)] pub enum LenValueMapError { #[error("value parsing error: {0}")] @@ -137,12 +134,10 @@ impl LenValueMap { mod tests { use super::*; use crate::core::{entities::*, errors::*}; - use async_trait::async_trait; use futures::stream; use std::collections::HashMap; - use mockall::{Sequence, automock}; use mockall::{mock, predicate::*}; const TEST_WORD_1: &str = "test_word_1"; @@ -293,16 +288,6 @@ mod tests { // --- build --- - fn dict_with_words(words: &[&str]) -> Dict { - let mut dict = Dict::new("default".into()); - - for (i, word) in words.iter().enumerate() { - dict.add_entry(DictEntry::new(Some(i as u64), word.to_string())); - } - - dict - } - #[tokio::test] async fn test_from_stream_success() { // 1. Setup Mocks (Same as before) @@ -362,37 +347,4 @@ mod tests { ), } } - - // #[tokio::test] - // async fn test_build_multiple_batches() { - // let mut repo = MockRepo::new(); - // let mut decoder = MockDecoder::new(); - // let mut seq = Sequence::new(); - - // decoder - // .expect_decode() - // .returning(|word| mock_decoding(word)); - - // repo.expect_fetch_many() - // .times(1) // Explicitly expect 1 call - // .in_sequence(&mut seq) // Enforce order - // .returning(|_, _| Ok(dict_with_words(&[TEST_WORD_1]))); - - // repo.expect_fetch_many() - // .times(1) // Explicitly expect 1 call - // .in_sequence(&mut seq) // Enforce order - // .returning(|_, _| Ok(dict_with_words(&[TEST_WORD_3]))); // word with different decoded length - - // repo.expect_fetch_many() - // .times(1) - // .in_sequence(&mut seq) - // .returning(|_, _| Ok(Dict::new("default_dict".into()))); - - // let data = LenValueMap::build(&decoder, &repo, 1) - // .await - // .unwrap() - // .into_data(); - - // assert_eq!(data.len(), 2); - // } } diff --git a/lib/src/infrastructure/sqlite_dict_repository.rs b/lib/src/infrastructure/sqlite_dict_repository.rs index d2e794e..6915716 100644 --- a/lib/src/infrastructure/sqlite_dict_repository.rs +++ b/lib/src/infrastructure/sqlite_dict_repository.rs @@ -1,8 +1,8 @@ use crate::core::entities::{Dict, DictEntry}; use crate::core::errors::RepositoryError; use crate::core::traits::DictRepository; +use futures::TryStreamExt; use futures::stream::BoxStream; -use futures::{StreamExt, TryStreamExt}; use sqlx::{Row, SqlitePool, sqlite::SqliteConnectOptions}; use std::collections::HashMap; diff --git a/resources/dsr1ll70_pl_demo.json b/resources/dsr1ll70_pl_demo.json new file mode 100644 index 0000000..d4514aa --- /dev/null +++ b/resources/dsr1ll70_pl_demo.json @@ -0,0 +1,8612 @@ +[ + { + "word": "to", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "co", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "rok", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "czas", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "człowiek", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "raz", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "wszystko", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "życie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "dzień", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "miejsce", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "praca", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "osoba", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "dziecko", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "coś", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "sprawa", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "Polska", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "pan", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "strona", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "nic", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "świat", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "dom", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "koniec", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "kobieta", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "chwila", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "miasto", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "głowa", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "oko", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "sposób", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "kto", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "słowo", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "ręka", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "prawo", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "ktoś", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "droga", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "pani", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "część", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "państwo", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "sytuacja", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "kraj", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "rzecz", + "metadata": { + "type": "noun", + "score": 1 + } + }, + { + "word": "mężczyzna", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "problem", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "stan", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "nikt", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "rodzina", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "ojciec", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "historia", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "przypadek", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "zmiana", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "władza", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "książka", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "głos", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "firma", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "szkoła", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "godzina", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "matka", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "uwaga", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "cel", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wojna", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wiek", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "środek", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "grupa", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "temat", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "bóg", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "początek", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "Warszawa", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "związek", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wszyscy", + "metadata": { + "type": "noun", + "score": 1 + } + }, + { + "word": "pomoc", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "siła", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "przykład", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "miesiąc", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "twarz", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "śmierć", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "pytanie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "pieniądz", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "kościół", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "prawda", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "woda", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "ciało", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "powód", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "moment", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "rząd", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "mieszkaniec", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "samochód", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "sąd", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "spotkanie", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "myśl", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "informacja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "ruch", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "drzwi", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "film", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "ulica", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "rozmowa", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "projekt", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "system", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "decyzja", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "prezydent", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "działanie", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "tydzień", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "zdanie", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "możliwość", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "ziemia", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "kultura", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "rada", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "udział", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "rynek", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "zasada", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "program", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "Polak", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "rodzic", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "język", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "mieszkanie", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "noc", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "pracownik", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "większość", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "polityka", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wynik", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "tysiąc", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Europa", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "rola", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "pokój", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "punkt", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "dziewczyna", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "zespół", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "ustawa", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "badanie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "żona", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "okres", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "wzgląd", + "metadata": { + "type": "noun", + "score": 1 + } + }, + { + "word": "góra", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "obraz", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "policja", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "granica", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "plan", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "autor", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "walka", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "serce", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "teren", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wartość", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "forma", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "zdjęcie", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "ogół", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "dłoń", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "postać", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "ksiądz", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "liczba", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "cena", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "fakt", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "Jan", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "mama", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "szpital", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "nadzieja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "brak", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "sztuka", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "rozwój", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "miłość", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "akcja", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "gmina", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "podstawa", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "syn", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "poziom", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "proces", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "rodzaj", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "budynek", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "wniosek", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "noga", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "gra", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "Rosja", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "wpływ", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "spółka", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "mąż", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "minister", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "umowa", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "lekarz", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "koszt", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "okno", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "okazja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wrażenie", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "ściana", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "potrzeba", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "szansa", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "partia", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "odpowiedź", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "centrum", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "kolej", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "pomysł", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "światło", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "relacja", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "połowa", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "minuta", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "działalność", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "Paweł", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "szczęście", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "organizacja", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "kwestia", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "prezes", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "członek", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "kierunek", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "budowa", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "krok", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "znaczenie", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "wolność", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "tekst", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "imię", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "sens", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "brat", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "wypadek", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "dyrektor", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "szef", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "rzeczywistość", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "przepis", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "doświadczenie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wydarzenie", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "powrót", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "córka", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "ramię", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "telefon", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "środowisko", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "urząd", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "zdrowie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "usta", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "służba", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "list", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "przestrzeń", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "pies", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "Andrzej", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "wzrok", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "ciąg", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "zwierzę", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "próba", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "element", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "efekt", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "klub", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "stopień", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "pamięć", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "zadanie", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "kontakt", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Piotr", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "choroba", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "stanowisko", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "kolega", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "przyjaciel", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "dokument", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "PiS", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "tytuł", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "pora", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "nauka", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "społeczeństwo", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "obowiązek", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "pewność", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "klasa", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "inwestycja", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wieczór", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "bezpieczeństwo", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "scena", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "bohater", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "charakter", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wybory", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "krew", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "stół", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "auto", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "medium", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "mecz", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "ramy", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "linia", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "rozwiązanie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "ofiara", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "policjant", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "muzyka", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "komisja", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "palec", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "Żyd", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "sklep", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "duch", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "gość", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "siostra", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "właściciel", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "typ", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "źródło", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "ochrona", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "drzewo", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "zakres", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "kierowca", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "wysokość", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "żołnierz", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "wiedza", + "metadata": { + "type": "noun", + "score": 1 + } + }, + { + "word": "łóżko", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "numer", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "włos", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "Kraków", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "gazeta", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "nazwa", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "materiał", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "powietrze", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wybór", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "polityk", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "klient", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "los", + "metadata": { + "type": "noun", + "score": 1 + } + }, + { + "word": "przyszłość", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "opinia", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "las", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "dzieło", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wrzesień", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "warunki", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "zakład", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "wieś", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "chłopiec", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "bank", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "poczucie", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "grudzień", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "sukces", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "pozycja", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "instytucja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "jednostka", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "znak", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "produkcja", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "kontrola", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "maj", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "moc", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wiara", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "opowieść", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "nazwisko", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "styczeń", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "współpraca", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "porządek", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "pole", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "naród", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "marzec", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Niemcy", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "gospodarka", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "pacjent", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "wzrost", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "złoty", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "chłopak", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "sala", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "pojęcie", + "metadata": { + "type": "noun", + "score": 1 + } + }, + { + "word": "Anna", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "sieć", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "skutek", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "model", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wersja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "milion", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "sierpień", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "czerwiec", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "oddział", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "mowa", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "ból", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "przedstawiciel", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "dana", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "termin", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "teatr", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "Adam", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "Marek", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "uczeń", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "kwiecień", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "profesor", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "metr", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "emocja", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "interes", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "przedmiot", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "postępowanie", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "kuchnia", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "racja", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "Jezus", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "zachód", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "funkcja", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "październik", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "spojrzenie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "usługa", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "przyczyna", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "praktyka", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "produkt", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "lipiec", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "wiersz", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "okolica", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "lista", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "perspektywa", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "powiat", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "kwota", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "stosunek", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "karta", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "radny", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "listopad", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "dowód", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "świadomość", + "metadata": { + "type": "noun", + "score": 1 + } + }, + { + "word": "kara", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "Maria", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "powieść", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "spokój", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wyrok", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "sprzedaż", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "artysta", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "ślad", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "widok", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "słońce", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "wątpliwość", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "premier", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "unia", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "niebo", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "obszar", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "tradycja", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "energia", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "nagroda", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "obywatel", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "literatura", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "sen", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "zachowanie", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "pojazd", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "nauczyciel", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "Michał", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "USA", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "dodatek", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "reszta", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "Krzysztof", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "ośrodek", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "dziennikarz", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "Tomasz", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "pismo", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "obiekt", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "realizacja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "trakt", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "podróż", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "błąd", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "natura", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "skóra", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "zdarzenie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "zakup", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "kolor", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "ocena", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "artykuł", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "metoda", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "impreza", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "plac", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "zarząd", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "zagrożenie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "para", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "pociąg", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "przekonanie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "nos", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "uczestnik", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "biuro", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "obrona", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "istota", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wiadomość", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "różnica", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "uniwersytet", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "gwiazda", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "wsparcie", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "region", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "podatek", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "płyty", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "obecność", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "Jerzy", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "uśmiech", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "układ", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "sędzia", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "styl", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "Niemiec", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "idea", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "pisarz", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "całość", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "konkurs", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Marcin", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "warunek", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "dobro", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "opieka", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "obóz", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "wspomnienie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "trasa", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "zabawa", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "miara", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "uczucie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "niedziela", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "przeszłość", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wizyta", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "zgoda", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "Stanisław", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "dół", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "wojsko", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "oferta", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wspólnota", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "luty", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "ministerstwo", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "czytelnik", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "doktor", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "stacja", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "dusza", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "święto", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "drużyna", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "sprawiedliwość", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "czoło", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "kryzys", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wino", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "babcia", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "Robert", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "strach", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "konsekwencja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "atak", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "studia", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "morze", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "koncert", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "ucho", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "Ewa", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "wywiad", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "płyta", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "Szczecin", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "Jacek", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "prokuratura", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "towarzystwo", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "broń", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "dyskusja", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "etap", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "muzeum", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "alkohol", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "budżet", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "utwór", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "bok", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Ukraina", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "kawa", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "dziewczynka", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "konflikt", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "procent", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "fragment", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "więzienie", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "podłoga", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "wizja", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "telewizja", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "armia", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "propozycja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "zainteresowanie", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "fundusz", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "jazda", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "treść", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "sezon", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "podmiot", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "kształt", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "park", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "król", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "suma", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "stopa", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "cisza", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "młodzież", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "Józef", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "sobota", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "wyjazd", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "dostęp", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "poeta", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "facet", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "znajomy", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "radość", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "pokolenie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "przedsiębiorca", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "akt", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "wnętrze", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "kategoria", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "poseł", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "dźwięk", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "rewolucja", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "wola", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "robota", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "południe", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "odpowiedzialność", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "świadek", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "ogień", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "skład", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "kandydat", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "wymiar", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "Kaczyński", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "papier", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "skala", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "okoliczność", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "struktura", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "rzeka", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "tajemnica", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "twórca", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "wiatr", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "tata", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "ilość", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "sąsiad", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "Francja", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "zarzut", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "stolica", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "reakcja", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "but", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "województwo", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "wina", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "student", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "kawałek", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "papież", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "widzenie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "powierzchnia", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "funkcjonariusz", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "seks", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Tadeusz", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "urzędnik", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "raport", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "hotel", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "Gdańsk", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "ogród", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "szczyt", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "dziadek", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "kwiat", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "partner", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "sprzęt", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "kino", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "koło", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "jakość", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "postawa", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "solidarność", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "analiza", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "zjawisko", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "placówka", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "organ", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "wyraz", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wystawa", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "strefa", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "sejm", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "Wrocław", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "fala", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "konieczność", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "kariera", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wschód", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "kłopot", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "przemysł", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "fundacja", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "towar", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "aktor", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "kredyt", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "krzyż", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "mistrz", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "euro", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "narzędzie", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "pogląd", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "tył", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "lokal", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "cień", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "zapach", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "małżeństwo", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "PO", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "stowarzyszenie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "kontekst", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "kamień", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "urządzenie", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "internet", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "tłum", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "wyjście", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "cóż", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "grunt", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "rzecznik", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Karol", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "Jarosław", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "korytarz", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "tożsamość", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "tło", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wydział", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "strata", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "instytut", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "pracodawca", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "radio", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "odcinek", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "ryzyko", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "mur", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "kampania", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "producent", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "zwycięstwo", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "lider", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "UE", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "cecha", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "gaz", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "powstanie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "opozycja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "pomieszczenie", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "piątek", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "kilometr", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "Agnieszka", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "sekunda", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "fotel", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "gatunek", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "transport", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "lato", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "pierś", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "gest", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "biskup", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "ząb", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "ekspert", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "pas", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "trener", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "Poznań", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "zawodnik", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "szczegół", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "lek", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "brama", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "blok", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "burmistrz", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "prokurator", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "bilet", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "bieg", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "silnik", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "nieruchomość", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "brzeg", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "salon", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "śmiech", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "opłata", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "cud", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "łza", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "ton", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "piłka", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "przerwa", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "hasło", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "Jakub", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "pełnia", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "baza", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "dach", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "koncepcja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "operacja", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "zakaz", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "kot", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "festiwal", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "demokracja", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "religia", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "kurs", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "liga", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "krzesło", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "marzenie", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "Chiny", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "wiosna", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "Moskwa", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "zima", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "autobus", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "jedzenie", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "edukacja", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "spór", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "porozumienie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "zajęcia", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "poezja", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "ochota", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "technologia", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "umysł", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "samorząd", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "kartka", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "Alicja", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "czynność", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "Stany", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "przemoc", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "dochód", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "połączenie", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "komórka", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "maszyna", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "butelka", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "marka", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "samolot", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "teoria", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "ubranie", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "wypowiedź", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "piosenka", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "umiejętność", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "reguła", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "koń", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "podział", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "inicjatywa", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "biznes", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "ekran", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "cmentarz", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "kolano", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "wzór", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "adres", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "Ameryka", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "odpad", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "wróg", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "ptak", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "kieszeń", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "konferencja", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "zawód", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "protest", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "dziś", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "schody", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "trud", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "dziennik", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "papieros", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "Wojciech", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "szacunek", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "klucz", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "atmosfera", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "symbol", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "sport", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "przewodniczący", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "mózg", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "koleżanka", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "platforma", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "pomnik", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "wyspa", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "przeciwnik", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "widz", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "śledztwo", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "owoc", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "przedsiębiorstwo", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "roślina", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "przyjemność", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "wyzwanie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "argument", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "kolejka", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "restauracja", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "opis", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "wydatek", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "piwo", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "kąt", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "ciąża", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "komitet", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Chrystus", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "dzielnica", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "poniedziałek", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "myślenie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "uchwała", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "zło", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "konto", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "grób", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "strategia", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "masa", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "pasażer", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "modlitwa", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wynagrodzenie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "Łódź", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "ścieżka", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "miejscowość", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "statek", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "dziedzina", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "lęk", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "setka", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "twórczość", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "remont", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "sfera", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "obawa", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "komputer", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "śnieg", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "oficer", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "reforma", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "piętro", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "zbrodnia", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wyprawa", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "seria", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "branża", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "Stefan", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "komenda", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "osiedle", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "majątek", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "gabinet", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "mechanizm", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "portal", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "świadczenie", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "katastrofa", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "ślub", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "Rosjanin", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Maciej", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "Grzegorz", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "organizm", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wyobraźnia", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "deszcz", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "wakacje", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "mięso", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "ulga", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "komunikacja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "Rafał", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "siedziba", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "porównanie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "procedura", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "gospodarz", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "jesień", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "zdolność", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "specjalista", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "zamek", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "fotografia", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "uczelnia", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "pałac", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "Paryż", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "dolar", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "wysiłek", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "zbiór", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "lektura", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "biblioteka", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "stolik", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "Lech", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "założenie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "port", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "klatka", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "scenariusz", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "norma", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "handel", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "cokolwiek", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "podejście", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "agencja", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Mateusz", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "herbata", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "zapis", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "fabryka", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "grzech", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "mapa", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "napięcie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "próg", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "społeczność", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "aktywność", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "rozporządzenie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "Joanna", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "chęć", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "wejście", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "szyba", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "nastrój", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "kasa", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "piłkarz", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "działacz", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "Janusz", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "oddech", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "organizator", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "robotnik", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "izba", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "lud", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "sygnał", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "milczenie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "otoczenie", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "spacer", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "msza", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "szereg", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "sesja", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Kazimierz", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "prośba", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "obiad", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "dzieciństwo", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "kamienica", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "łazienka", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "Małgorzata", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "pobyt", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "inwestor", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "czyn", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "filozofia", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "emerytura", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "elita", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "straż", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "zaufanie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "lekcja", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "zabieg", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "sektor", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "zysk", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wyjątek", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "kamera", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "wymiana", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "książę", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "spadek", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "zwrot", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "dekada", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "korzyść", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "smak", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "obsługa", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "zamiar", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "misja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wielkość", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "własność", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "brzuch", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "sprawca", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "most", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "oczekiwanie", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "interpretacja", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "cierpienie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "reżyser", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "przestępstwo", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "Łukasz", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "mnóstwo", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "Zbigniew", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "komentarz", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "epoka", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "księga", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "galeria", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "przód", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "kość", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "tor", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "ojczyzna", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "inny", + "metadata": { + "type": "noun", + "score": 1 + } + }, + { + "word": "Śląsk", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "test", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "bramka", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "ekipa", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "szyja", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "miasteczko", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "data", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "rezultat", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "skarb", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "generał", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "czynnik", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "naukowiec", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "chleb", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "stawka", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "północ", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "administracja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "finanse", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "publikacja", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Henryk", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "PRL", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "spektakl", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "rower", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "Aleksander", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "Wisła", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "prasa", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "status", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "przyjaciółka", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "dworzec", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "pragnienie", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "kierownik", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "warstwa", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "mina", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "uroczystość", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "standard", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "kapitan", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "ciemność", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "ryba", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "infrastruktura", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "krytyka", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "debata", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "policzek", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "publiczność", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "płeć", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "prędkość", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "śmieć", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "lotnisko", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "biurko", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "ucieczka", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "upadek", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "kapitał", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "Katowice", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "tragedia", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "Monika", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "dwór", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "Katarzyna", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "ubezpieczenie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "rozdział", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "tryb", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "kibic", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "czwartek", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "temperatura", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "wizerunek", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "chłop", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "rachunek", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "RP", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Antoni", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "środa", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "napis", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "koronawirus", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "technika", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "przedszkole", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "pogoda", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "wybuch", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "sumienie", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "prezent", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Marta", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "taniec", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "spodnie", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "nóż", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "cykl", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "finał", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "gracz", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "proboszcz", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Mikołaj", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "parlament", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "przełom", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "oblicze", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "turysta", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "stadion", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "redakcja", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "lewica", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "konkurencja", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "konstrukcja", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "węgiel", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "dystans", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "utrata", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "przywódca", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "klimat", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "poparcie", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "wątek", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "zwolennik", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "konstytucja", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "trawa", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "opór", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "gospodarstwo", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "gardło", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "niepokój", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "zależność", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "ciotka", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "tempo", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "odmiana", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wstęp", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "niepodległość", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "Putin", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "narracja", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "autorka", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "działka", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "jezioro", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "terapia", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "ograniczenie", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "Amerykanin", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "występ", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "waga", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "Tusk", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "ludność", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "parafia", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "Magda", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "drewno", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "dramat", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "obrót", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "dialog", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "panna", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "chory", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Wałęsa", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "teza", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "kolacja", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "rocznica", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "wygląd", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "dzieje", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "przygoda", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "odległość", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "Wiktor", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "znajomość", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "Berlin", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "wtorek", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "grono", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "weekend", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Włochy", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "pochodzenie", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "rano", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "kontrakt", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "porażka", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "przyroda", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "liść", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "historyk", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "stosunki", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "Dorota", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "skrzydło", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "Brytania", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "Ryszard", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "Londyn", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "koszula", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "wykonawca", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "Tomek", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "serial", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "oświadczenie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "aparat", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "podatnik", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "chodnik", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "bar", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "zasługa", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "przystanek", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "deklaracja", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "trudność", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "złość", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "barwa", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "moda", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "Ania", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "magazyn", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "paliwo", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "świadectwo", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "interwencja", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "motyw", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "Wanda", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "urlop", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "akademia", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "marszałek", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "strój", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "przejście", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "reklama", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "Mariusz", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "wydanie", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "żart", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "rejon", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "kanał", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "odwaga", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "pozór", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "prąd", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "dorosły", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "ławka", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "dług", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "nienawiść", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "Franciszek", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "potencjał", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "hala", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "pobliże", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "szkolenie", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "komunista", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "Duda", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "Julia", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "terytorium", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "torba", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "odniesienie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "śniadanie", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "anioł", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "Dawid", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "kodeks", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "wydawnictwo", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "nagranie", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "dno", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "lustro", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "krąg", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "maska", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "pielęgniarka", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "edycja", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "talent", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "towarzysz", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "wycieczka", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "troska", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "humor", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "plaża", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "muzyk", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "instrument", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "strażnik", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "mit", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "album", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "VAT", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "przeciwieństwo", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "rana", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "deska", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "przyjaźń", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "przedsięwzięcie", + "metadata": { + "type": "noun", + "score": 3 + } + }, + { + "word": "boisko", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "lot", + "metadata": { + "type": "noun", + "score": 6 + } + }, + { + "word": "szklanka", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "parking", + "metadata": { + "type": "noun", + "score": 9 + } + }, + { + "word": "aspekt", + "metadata": { + "type": "noun", + "score": 4 + } + }, + { + "word": "przychód", + "metadata": { + "type": "noun", + "score": 2 + } + }, + { + "word": "legenda", + "metadata": { + "type": "noun", + "score": 5 + } + }, + { + "word": "trybunał", + "metadata": { + "type": "noun", + "score": 7 + } + }, + { + "word": "półka", + "metadata": { + "type": "noun", + "score": 8 + } + }, + { + "word": "Lwów", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "Hiszpania", + "metadata": { + "type": "noun", + "score": 10 + } + }, + { + "word": "leczenie", + "metadata": { + "type": "noun", + "score": 4 + } + } +] \ No newline at end of file diff --git a/resources/example_dict.json b/resources/example_dict.json new file mode 100644 index 0000000..81beb7a --- /dev/null +++ b/resources/example_dict.json @@ -0,0 +1,12 @@ +[ + {"word": "hello", "metadata": {"type": "greeting", "language": "english"}}, + {"word": "world", "metadata": {"type": "noun", "language": "english"}}, + {"word": "rust", "metadata": {"type": "programming_language", "paradigm": "systems"}}, + {"word": "programming", "metadata": {"type": "verb", "context": "computing"}}, + {"word": "database", "metadata": {"type": "noun", "context": "data_storage"}}, + {"word": "sqlite", "metadata": {"type": "database_engine", "features": ["embedded", "sql"]}}, + {"word": "json", "metadata": {"type": "data_format", "standard": "RFC 8259"}}, + {"word": "import", "metadata": {"type": "verb", "context": "data_operations"}}, + {"word": "dictionary", "metadata": {"type": "noun", "context": "reference"}}, + {"word": "example", "metadata": {"type": "noun", "usage": "demonstration"}} +] \ No newline at end of file