1 Introduction

In the last decade, the arithmetic of formal concept analysis (FCA) is considered as one of the prominent tools for data analysis and processing tasks (Wille 1982). The mathematical background of FCA is based on applied abstract algebra and its properties (Ganter and Wille 1999). To mimic with uncertainty and vagueness in the fuzzy attributes its mathematics augmented with unipolar single-valued (Burusco and Fuentes-Gonzalez 1994; Antoni et al. 2014; Bělohlávek 1998) and interval-valued fuzzy space (Burusco and Fuentes-Gonzales 2001; Djouadi and Prade 2010; Singh et al. 2016). In case the data sets contain bipolar fuzzy attributes (or information) (Djouadi and Prade 2009)Footnote 1 the properties of bipolar fuzzy graphs (Alcalde et al. 2015; Singh and Kumar 2014a, b) and vague graphs (Singh 2017b, d) are introduced (Singh 2017e). To handle the indeterminacy in fuzzy attributes based on their acceptation, rejection and uncertain parts (Hu 2014; Li et al. 2017), this information can be graphically analyzed using the three-way decision space (Singh 2017a) for approximating the possibility of uncertain regions (Dubois and Prade 2015; Yao 2004, 2017) based on their truth, indeterminacy and falsity membership function. Beyond the connection among these available approaches one of the common objectives is that all of these methods are proposed to extract some of the meaningful information from the given data sets. The problem arises while investigating the pattern (i.e., formal concepts) in the given contexts of bipolar fuzzy attributes. Recently, one of the approaches is introduced (Singh and Kumar 2014a, b) for generating the bipolar fuzzy concepts based on user-required subset of attributes which takes exponential time. It means the available approaches become irrelevant when the given bipolar fuzzy context is larger from a given threshold. The reason is subset based attributes method provides huge number of concepts makes the harder to understand or read the concept lattice for knowledge-processing tasks (Kumar and Singh 2014). This scalability issue decelerates the practical applications of FCA in various fields (Bělohlávek 1998; Singh and Gani 2015). To resolve this issue one of the suitable ways is to try to select some of the similar or closed important bipolar concepts based on user-required information granulation (Li et al. 2015, 2017). In this direction some of the researchers have paid the attention toward utilizing the algebra of granular computing (Pedrycz 2013; Pedrycz and Chen 2015) for knowledge reduction tasks (Wu et al. 2009; Zhang et al. 2007) in FCA with binary (Bělohlávek 1998; Dias and Viera 2013; Formica 2008), fuzzy (Klawonn and Castro 1995; Singh and Kumar 2012; Singh and Gani 2015; Zadeh 1971), interval-valued (Singh et al. 2016; Singh 2017c; Yao 2017) and bipolar fuzzy space (Singh and Kumar 2014b; Singh 2017e). Motivated from these recent studies the current paper focuses on reducing the time complexity for drawing the bipolar fuzzy concepts and its concepts using the properties of next neighbor and Euclidean distance at different information granules.

Table 1 The categorization of uncertainty and vagueness in data with fuzzy attributes

The bipolar information is used to exist in each day of our daily life (Singh 2017d, e) for quantifying the information (Zhang 2017). The reason is basic unit of human thought does not mimic with binary values, i.e., 0 and 1. In most of the cases human thought depends on the defined boundary for the given information for characterizing its acceptation and rejection part (Pandey et al. 2016; Singh 2017d). It means the bipolarity is an unavoidable condition dealing with uncertainty and vagueness in fuzzy attributes (Alcalde et al. 2015; Singh and Kumar 2014a) which changes at each given phase of time (Singh 2017b). In general the bipolar information can be classified into pass or fail (i.e., true or false) basis as shown in Table 1. The major factor is these two regions co-exist simultaneously in the given bipolar fuzzy regions [− 1, 0) \(\times \) (0, 1] (Dubois and Prade 2012; Lee 2000). In this case distinguishing the positive or negative regions simultaneously is difficult tasks while processing the bipolar queries (Delgado et al. 2016). The reason is bipolarity, and its meaning may change from one phase of time to another as discussed in Singh (2017b). It is better to represent them using properties of bipolar fuzzy set J defined in a non-empty set Z having the form \(\textit{J}=\left\{ (z, \mu ^{P}(z),\mu ^{N}(z))|z\in Z \right\} \) where \(\mu ^{P}:\textit{Z}\rightarrow [0, 1]\) and \(\mu ^{N}:\textit{Z}\rightarrow [-\,1, 0]\) are mappings (Zhang 1994; Zhang and Zhang 2004). The positive membership degree \(\mu ^{P}(z)\) represents somewhat satisfaction degree of attributes, whereas negative membership degree \(\mu ^{N}(z)\) represents implicit counter property (Akram 2011, 2013). The obtained bipolar fuzzy set can be visualized using the vertices and edges of a defined bipolar fuzzy graph \(\textit{G} = (\textit{I}, \textit{J})\) where \(\textit{I} = (\mu ^{P}_{I}, \mu ^{N}_{I})\) is a bipolar fuzzy set on vertices (V) and \(\textit{J}=(\mu ^{P}_{J}, \mu ^{N}_{J})\) is a bipolar fuzzy set on edges (E), such that (Yang et al. 2013)

$$\begin{aligned} \mu ^{P}_{J}(\left\{ v_{1}, v_{2} \right\} )\le & {} \hbox {min}\left( \mu ^{P}_{I}(v_{1}), \mu ^{P}_{I}(v_{2}))\,( \forall (v_{1}, v_{2}) \in V \times V\right) ,\\ \mu ^{N}_{J}(\left\{ v_{1}, v_{2} \right\} )\ge & {} \hbox {max}\left( \mu ^{N}_{I}(v_{1}), \mu ^{N}_{I}(v_{2}))( \forall (v_{1}, v_{2}) \in V \times V\right) ,\\ \mu ^{P}_{J}(\left\{ v_{1}, v_{2} \right\} )= & {} \mu ^{N}_{J}(\left\{ v_{1}, v_{2}\right\} )= 0 \forall (v_{1}, v_{2}) \in (V \times V-E).\\ \end{aligned}$$

Recently, the calculus of bipolar fuzzy graph is utilized in applied lattice theory for data analysis and processing tasks (Singh and Kumar 2014a) with its potential applications (Singh and Kumar 2014b). Subsequently, it is applied in mathematical morphology (Bloch 2011), preference modeling (Franco et al. 2013), query processing (Tamani et al. 2011), information retrieval (Zadrozny et al. 2012) and social network analysis (Akram 2013). One of the method s is proposed to deal with bipolar fuzzy context in Singh and Kumar (2014b) which takes exponential time. It generates huge number of concepts in small variance of positive and negative membership value. To deal with this problem recently, Singh (2017e) tried to reduce the vague concept lattice (Singh 2017d) using the properties of granular computing. Similarly, other methods are proposed in FCA with binary (Bělohlávek and Macko 2011; Dias and Viera 2013), fuzzy (Klawonn and Castro 1995; Zadeh 1971; Singh and Gani 2015), composed contexts (Singh 2016) for processing the (Mao 2017; Zhang et al. 2007) bipolar queries (Delgado et al. 2016). It can be observe that all of the available approaches for handling the bipolar (Singh and Kumar 2014a, b) or vague (Singh 2017d, e) context take exponential time complexity. Due to that these approaches become opaque in extracting some of the interesting pattern in bipolar fuzzy context to solve the particular problems. To achieve this goal current paper focuses on navigating the bipolar fuzzy concept lattice using the properties of next neighbor and Euclidean distance as it is considered as one of the best possible measurements (Li et al. 2007; Singh 2017e). The motivation is to read the bipolar cognitive concept in more comprehensive manner and visualize them in the concept lattice for adequate knowledge-processing tasks. The objective is to select some of the user-interested bipolar fuzzy concept at the given threshold. In addition, the proposed method is illustrated with an example and the obtained results are compared with recently published subset-based bipolar concepts lattice method (Singh and Kumar 2014a, b). In this way, function of the proposed method is distinct from any of the available approaches in FCA with bipolar fuzzy settings by the following points:

  1. (i)

    The proposed method provides a way to reduce the time complexity for drawing the bipolar fuzzy concept lattice within \(\hbox {O}(|C|{\cdot }n{\cdot }m^{2})\) computational costs.

  2. (ii)

    The proposed method provides multiple ways to find the closest bipolar fuzzy concepts based on their computed Euclidean distance at user-required granulation within \(\hbox {O}(2{\cdot }m^{2})\) time complexity.

The above-mentioned outputs can be considered as one of the significant outputs of the proposed method toward bipolar fuzzy concept learning and its effective visualization.

Rest of the paper is organized as follows: Sect. 2 provides a brief background about FCA with bipolar fuzzy setting. Section 3 includes the proposed methods to draw the bipolar fuzzy concept lattice and its reduction at user-defined information granules. Section 4 contains illustration of the proposed method, whereas Sect. 5 provides discussions. Section 6 includes conclusions followed by acknowledgements and references.

2 Formal concept analysis with bipolar fuzzy setting

In this section some of the basic definitions related to FCA with bipolar fuzzy setting is given for knowledge-processing tasks as given below:

Definition 1

(Formal fuzzy context) (Burusco and Fuentes-Gonzalez 1994): A formal fuzzy context is a triplet \(\mathbf F = (\textit{X}, \textit{Y}, \tilde{R}\)), where X is a set of objects, Y is a set of attributes and \(\tilde{R}\) is an L-relation between X and Y, \(\tilde{R}\): \(\textit{X}\times \textit{Y} \rightarrow \textit{L}\). Each relation \(\tilde{R}(\textit{x},\textit{y})\in L\) represents the membership value at which the object \(x\in \textit{X}\) has the attribute \(y\in \textit{Y}\) in [0, 1] where L is a support set of some complete residuated lattice L.

Definition 2

(Residuated lattice) (Liu et al. 2012; Pollandt 1997): It is a basic structure of truth degrees \(\mathbf L =(L,\wedge ,\vee ,\otimes ,\rightarrow ,0,1)\) where 0 and 1 represent least and greatest elements, respectively. L is a complete residuated lattice iff:

  1. 1.

    \((L,\wedge ,\vee ,0,1)\) is a complete lattice.

  2. 2.

    \((L,\otimes ,1)\) is a commutative monoid.

  3. 3.

    \(\otimes \) and \(\rightarrow \) are adjoint operators (called as multiplication and residuum, respectively), that is \( a \otimes b \le c\) iff \(a\le b\rightarrow c, \forall a,b,c\in \textit{L}\). The operators \(\otimes \) and \(\rightarrow \) are defined distinctly by Lukasiewicz, Gödel and Goguen t-norms and their residua. In this paper Gödel t-norm and their residua are used as given below:

Gödel:

  • \(a \otimes b = \hbox {min} \,(\textit{a}, \textit{b})\),

  • \(a \rightarrow b = 1\) if \(a \le b\), otherwise b.

Definition 3

(Bipolar fuzzy context) (Singh and Kumar 2014b): A bipolar fuzzy context is represented as \(\mathbf F = (\textit{X}, \textit{Y}, \tilde{R}\)) where X is a set of objects, Y is a set of bipolar attributes and \(\tilde{R}\) represents bipolar relationship among them defined in bipolar [\({-}\) 1, 0) \(\times \) (0, 1]. Each bipolar relation represents a positive and negative membership value at which the object \(x\in \textit{X}\) has the attribute \(y\in \textit{Y}\) in [\({-}\) 1, 0] \(\times \) [0, 1]. A bipolar fuzzy relation defined as a mapping \(\tilde{R}=(\mu ^{P}_{\tilde{R}}, \mu ^{N}_{\tilde{R}}):\textit{X}\times \textit{Y}\rightarrow [-\,1, 0]\times [0, 1]\) where \(\mu ^{P}_{\tilde{R}}(x_{1},y_{1})\in [0,1]\) and \(\mu ^{N}_{\tilde{R}}(x_{1},y_{1})\in [-\,1,0]\).

Definition 4

(Formal fuzzy concepts) (Bělohlávek 1998): For any L-set \(\textit{A}\in L^{\tiny {\textit{X}}}\) of objects, and \(\textit{B} \in L^{\tiny {\textit{Y}}}\) of attributes we can define L-set \(\textit{A}^{\uparrow }\in L^{\tiny {\textit{Y}}}\) of attributes and L-set \(\textit{B}^{\downarrow }\in L^{\tiny {\textit{X}}}\) of objects as follows (Dubois and Prade 2012, 2015):

  1. 1.

    \(\textit{A}^{\uparrow } (y)=\wedge _{x\in {\textit{X}}}( \textit{A}(x) \rightarrow \tilde{R}(\textit{x},\textit{y}))\),

  2. 2.

    \(\textit{B}^{\downarrow } (x)=\wedge _{y\in {\textit{Y}}}( \textit{B}(y) \rightarrow \tilde{R}(\textit{x},\textit{y}))\).

The \(\textit{A}^{\uparrow } (x)\) is interpreted as the L-set of attribute y\(\in \textit{Y}\) shared by all objects from A. Similarly, \(\textit{B}^{\downarrow } (x)\) is interpreted as the L-set of all objects \(\textit{x}\in \textit{X}\) having the attributes from B in common. The formal fuzzy concepts are a pair of satisfying \(\textit{A}^{\uparrow }=\textit{B}\) and \(\textit{B}^{\downarrow }=\textit{A}\), where fuzzy set of objects A called as extent and fuzzy set of attributes B is called as intent.

Definition 5

(Bipolar fuzzy concepts) (Singh and Kumar 2014b): a bipolar fuzzy concepts can be discovered using the \(\downarrow \) on bipolar fuzzy set of attributes \((B,(\mu ^{P}(B),\mu ^{N}(B)))^{\downarrow }\) to find its covering bipolar fuzzy set of objects set \((\textit{A},(\mu ^{P}(A),\mu ^{N}(A)))\). Now, apply the \(\uparrow \) on obtained bipolar fuzzy set of objects \((\textit{A},(\mu ^{P}(A),\mu ^{N}(A)))^{\uparrow }\) to find their common attribute set \((B,(\mu ^{P}(B),\mu ^{N}(B)))\). The obtained pair of objects and attributes set (A, B) is called as bipolar fuzzy concepts iff:

$$\begin{aligned}&\left( B,(\mu ^{P}(B),\mu ^{N}(B))\right) ^{\downarrow }=\left( \textit{A}, \mathrm{min}(\mu ^{P}(A),\mu ^{N}(A))\right) \quad \hbox {and},\\&\left( \textit{A},(\mu ^{P}(A),\mu ^{N}(A))\right) ^{\uparrow }=\left( B, \mathrm{min}(\mu ^{P}(B),\mu ^{N}(B))\right) . \end{aligned}$$

The (\(\downarrow \)) operator can be applied on the set of bipolar fuzzy attributes to find the maximal covering objects while integrating the information from positive and negative membership value. Consequently, the operator (\(\uparrow \)) can be applied on the bipolar fuzzy set constituted by these covered objects set resulting from integrating the positive and negative membership value among objects and attributes set. It means (\(\downarrow \), \(\uparrow \)) provides a pair of maximal bipolar fuzzy set of objects and attributes with respect to integrating the information from them. After that, any bipolar fuzzy set of attributes (or objects) cannot be found which can make the membership value of the obtained pair bigger, if the pair of the set of objects and the set constituted by its covered attributes forms a bipolar formal fuzzy concept.

Definition 6

(Partial ordering of fuzzy concepts) (Bělohlávek 1998): a formal fuzzy concept is a maximal rectangle of a given fuzzy context F filled with membership value between [0, 1], which is an ordered pair of two sets (A, B), where \(\textit{A}\subseteq \)X is called as fuzzy extent, and \(\textit{B}\subseteq \)Y is called as fuzzy intent. The set of formal fuzzy \(\hbox {concepts}(C)\), generated from a given fuzzy formal context F, defines the partial ordering principle, i.e., \((\textit{A}_{1},\textit{B}_{1})\le (\textit{A}_{2},\textit{B}_{2})\Longleftrightarrow \textit{A}_{1}\subseteq \textit{A}_{2}(\Longleftrightarrow \textit{B}_{2}\subseteq \textit{B}_{1})\) for every fuzzy formal concept.

Definition 7

(Partial ordering of bipolar fuzzy concepts) (Bloch 2011; Hu 2014): The partial ordering among bipolar fuzzy concepts can be defined using Pareto ordering. Let us suppose two bipolar fuzzy concepts (\(A_1, B_1\)) and (\(A_2, B_2\)); then they define partial ordering as \(\hbox {follows:}(\textit{A}_{1},\textit{B}_{1})\le (\textit{A}_{2},\textit{B}_{2})\Longleftrightarrow (\mu ^{P}_{A_1}(x) \le \mu ^{P}_{A_2}(x))\) and \((\mu ^{N}_{A_1}(x) \ge \mu ^{N}_{A_2}(x))\)\(\forall \)\(x \in X\) (\( \Longleftrightarrow \)\( (\mu ^{P}_{B_2}(y) \le \mu ^{P}_{B_1}(y))\) and \((\mu ^{N}_{B_2}(y) \ge \mu ^{N}_{B_1}(y))\)\(\forall \)\(y \in Y\)).

\(\textit{I}=(\mu ^{P}_{I}, \mu ^{N}_{I})\) and \(\textit{J}=(\mu ^{P}_{J}, \mu ^{N}_{J})\) then \((\mu ^{P}_{I}, \mu ^{N}_{I}) \le (\mu ^{P}_{J}, \mu ^{N}_{J})\) iff \(\forall \)\(z \in Z\)\((\mu ^{P}_{I}(z) \le \mu ^{P}_{J}(z))\) and \((\mu ^{N}_{I}(z) \ge \mu ^{N}_{J}(z))\).

Definition 8

(Complete lattice) (Ganter and Wille 1999): In the complete lattice there exist an infimum and a supremum for any given two formal concepts as given below:

  • \(\wedge _{j\in J}(A_{j}, B_{j})=(\bigcap _{j\in J} A_{j}, (\bigcup _{j\in J}B_{j})^{\downarrow \uparrow })\),

  • \(\vee _{j\in J} (A_{j}, B_{j})=((\bigcup _{j \in J} A_{j})^{\uparrow \downarrow },\bigcap _{j\in J} B_{j})\).

Definition 9

(Bipolar fuzzy complete lattice) (Akram 2011; Lee 2000): In a bipolar fuzzy complete lattice together with partial ordering there exist an infimum and supremum for each bipolar fuzzy set \(\textit{I}=(\mu ^{P}_{I}(z), \mu ^{N}_{I}(z))\) and \(\textit{J}=(\mu ^{P}_{J}(z), \mu ^{N}_{J}(z))\) as given below:

  • \((\mu ^{P}_{I}(z), \mu ^{N}_{I}(z))\)\(\wedge \)\((\mu ^{P}_{J}(z), \mu ^{N}_{J}(z))=\hbox {(min(}\mu ^{P}_{I}(z)), \mu ^{P}_{J}(z)\hbox {), max(}\mu ^{N}_{I}(z)), \mu ^{N}_{J}(z)\)),

  • \((\mu ^{P}_{I}(z), \mu ^{N}_{I}(z))\)\(\vee \)\((\mu ^{P}_{J}(z), \mu ^{N}_{J}(z))=\hbox {(max(}\mu ^{P}_{I}(z)), \mu ^{P}_{J}(z)\hbox {), min(}\mu ^{N}_{I}(z)), \mu ^{N}_{J}(z)\)).

Definition 10

(Bipolar fuzzy complete graph) (Akram 2013; Yang et al. 2013): a bipolar fuzzy graph \(\textit{G}=(\textit{I}, \textit{J})\) is complete iff:

$$\begin{aligned}&\mu ^{P}_{J}(\left\{ v_{1}, v_{2}\right\} )=\hbox {min}\left( \mu ^{P}_{I}(v_{1}), \mu ^{P}_{I}(v_{2})\right) \quad \hbox {and},\\&\mu ^{N}_{J}(\left\{ v_{1}, v_{2}\right\} ) =\hbox {max}\left( \mu ^{N}_{I}(v_{1}), \mu ^{N}_{I}(v_{2})\right) \end{aligned}$$

for all \(v_{1}, v_{2}\)\(\in \textit{V}\) and \((v_{1}, v_{2}) \in V \times V\).

Example 1

Let us suppose, a graph G having set of vertices \(\textit{V}=(v_{1}, v_{2}, v_{3}\)) and set of edges \(\textit{E}=(v_{1}v_{2}, v_{2}v_{3}, v_{3}v_{1}\)). The bipolar fuzzy set based on given vertices I and their edges E can be written through the properties of bipolar fuzzy set as shown in Tables 2 and 3. These sets can be visualized through a fuzzy complete graph shown in Fig. 1. Now, the problem is that how to extract some meaningful information from these types of data set is a main concern. To solve this problem, a method is proposed in the next section using the properties of concept lattice and Euclidean distance.

Table 2 A bipolar fuzzy subset of V for Example 1
Table 3 A bipolar fuzzy subset of E for Example 1
Fig. 1
figure 1

A bipolar fuzzy complete graph representation for Tables 2 and 3

It can be observed that the bipolar fuzzy concept lattice and its graphical structure visualization give a precise way for handling bipolar information, due to which, recently, some of the researchers tried to introduce a method for discovery of bipolar fuzzy concepts using the user-defined subset of attributes (Singh and Kumar 2014a). In this process, a problem is addressed that navigating the bipolar fuzzy concept lattice becomes complex when its size becomes larger even for small variance in positive and negative membership value. This creates an issue while analyzing the bipolar fuzzy concept lattice for adequate analysis of knowledge-processing tasks. To conquer this problem, the current paper aimed at choosing some of the similar bipolar fuzzy concepts based on their next neighbor and Euclidean distance at user-interested level of granulation. In this regard two methods are proposed in the next section of this paper.

3 Proposed methods

It is well known that human does not mimic like machines in a binary format. Many times the decision or opinion of humans thought is based on bipolar information which contains positive and negative information, simultaneously. In this case, dealing with bipolar fuzzy attribute is computationally and mathematically expensive tasks. The problem arises when an expert wants to visualize the bipolar fuzzy attributes data sets in a graph for better understanding and navigating the bipolar fuzzy concept lattice to find the closest pattern. The reason is some times the size of bipolar concept lattice used to be huge even for small context which become very hard and complicate for traversing the bipolar fuzzy concepts. To solve this problem, two methods are proposed in this section based on properties of next neighbor and Euclidean distance.

3.1 A proposed method for generating the bipolar fuzzy concepts using next neighbor

In general, the data set can be written in the form of bipolar fuzzy context \(\mathbf F = (\textit{X}, \textit{Y}, \tilde{R})\) for knowledge-processing tasks. The calculus of FCA provides bipolar fuzzy concepts and its lattice structure to achieve this goal. The pair (A, B) is called as bipolar fuzzy concept iff: \((\textit{A}, (\mu ^{P}(A),\mu ^{N}(A)))= \textit{B}^{\downarrow }\) and \((B,(\mu ^{P}(B),\mu ^{N}(B)))= \textit{A}^{\uparrow }\). In general, the concepts having maximal acceptance of bipolar fuzzy attributes are used to consider as more important. The current paper considers (0, 1) positive regions for generating the bipolar fuzzy concepts using the properties of next neighbor algorithm as given below:

  • Step (1) The first concept can be generated using all the objects set \((X, (\mu ^{P}(X),\mu ^{N}(X))\) and finding its covering attributes using the \(\uparrow \) as given below:

    $$\begin{aligned} \left( X, (\mu ^{P}(X),\mu ^{N}(X))\right) ^{\uparrow }=\left( y_{j}, (\mu ^{P}(y_{j}),\mu ^{N}(y_{j}))\right) . \end{aligned}$$

    The bipolar fuzzy membership value for the obtained attributes can be computed using the properties of bipolar fuzzy set as follows

    $$\begin{aligned}&\hbox {min }\left( y_{j},\mu ^{P}(y_{j})\right) \quad \hbox {and},\\&\hbox {max }\left( y_{j},\mu ^{N}(y_{j})\right) . \end{aligned}$$

    Similarly, \(\downarrow \) can be applied to find its covering objects to find the maximal pair of object and attributes closed with Galois connection.

  • Step (2) The lower neighbor of this concept can be discovered using the uncovered attributes from the given set of attributes \(:S_k=y_{m}-y_{j}\) where \(j\le m\) and \(k \le |m-j|\).

  • Step (3) In general a set (\(s_{k}\)) can be considered as lower neighbors of attributes set \(y_{j}\) iff it contains exactly one extra uncovered attribute from the given attributes set, i.e., \(s_{k}\) for \(k=1\) to \(k=|m-j|\), i.e., \(y_{j} \cup s_{k}\). The covering objects set can be found using the Galois connection (\(\downarrow \)), i.e., \(\left( y_{k}, (\mu ^{P}(y_{k}),\mu ^{N}(y_{k}))\right) ^{\downarrow }= \left( x_{i}, (\mu ^{P}(x_{i}),\mu ^{N}(x_{i})\right) \). The membership value for the obtained objects set can be computed as follows:

    min \(\left( x_{i},\mu ^{P}(x_{i})\right) \) and max \(\left( x_{i},\mu ^{N}(x_{i})\right) \)

  • Step (4) Now, apply the operator (\(\uparrow \)) on the obtained objects set, i.e., \(\left( x_{i}, (\mu ^{P}(x_{i}),\mu ^{N}(x_{i}))\right) ^{\uparrow }\) to find its covering attributes set. If the obtained membership values of obtained attributes is equal to initially considered bipolar fuzzy subset of attributes, i.e., \(\left( y_{k}, (\mu ^{P}(y_{k}),\mu ^{N}(y_{k}))\right) \). In this case obtained pair of objects and attributes set represents a lower neighbor of given node. Similarly, other lower neighbors can be computed.

  • Step (5) The next neighbor is the distinct concepts from all the generated lower neighbor with maximal bipolar fuzzy membership value.

  • Step (6) Draw the edges among the current concepts and its next neighbor.

  • Step (7) Similarly, compute the next neighbor for each of the concepts.

  • Step (8) Stop the algorithm when all the unmarked attributes are covered.

  • Step (9) Draw the edges among each of the generated next neighbor which gives the hierarchically ordered visualization of bipolar fuzzy concepts in a concept lattice structure.

Table 4 Proposed algorithm for generating bipolar fuzzy concepts using next neighbor

The pseudocode for the proposed algorithm is shown in Table 4. The proposed algorithm generates the bipolar fuzzy concept based on its lower neighbor as shown in Step 1. The lower neighbor can be discovered via joining one of the uncovered attributes in the previous concepts as shown in Steps 2–4. The lower neighbors having distinct and maximal bipolar fuzzy membership value can be considered as next neighbor concepts as shown in Step 5. The generated next neighbor can be connected with its parent concepts via edges of defined bipolar fuzzy graph as shown in Table 6. Similarly, all the next neighbor can be generated and added to the graph-based concept lattice as shown in Steps 6–9. This is one of the major advantages of the proposed method while building the bipolar concept lattice and extracting its lower neighbor concepts for the practical applications.

3.1.1 Complexity

Let the number of objects (\(|X|) = \textit{n}\) and the number of attributes \((|Y|) = \textit{m}\) in the given bipolar fuzzy context. To generate the bipolar concepts the proposed algorithm finds lower neighbor which takes \(\hbox {O}(n{\cdot }m)\) time. From the generated lower neighbor removal of non-maximal lower neighbor concepts takes at most \(\hbox {O}(n{\cdot }m^{2})\) complexity. Hence, the overall complexity for the proposed method to generate the bipolar fuzzy concepts is \(\hbox {O}(|C|{\cdot }n{\cdot }m^{2})\) where C is lower neighbor concepts. It can be observed that the proposed method takes less computation when compared to subset-based bipolar concept generation (Singh and Kumar 2014b). However, the proposed method provides an easier way to draw the bipolar fuzzy concept lattice using their next neighbor but unable to extract some of the bipolar fuzzy concepts at user-defined granulation. To deal with this problem, another method is proposed in the next section by utilizing the properties of Euclidean distance and granular computing.

3.2 A proposed method for finding similar bipolar concepts using Euclidean distance

It can be observed that the proposed method in previous section generates several bipolar fuzzy concepts via small changes in positive and negative membership value. In this case the multi-decision-making and knowledge-processing tasks become decelerated in context of time complexity. To deal with this problem, a method is to refine the bipolar fuzzy concepts based on their distance metric defined by user or expert to solve the particular problem. Toward this direction recently, mathematics of granular computing is used for decomposition of bipolar fuzzy context (Singh and Kumar 2012, 2014b) for its application in various fields for decision-making process (Singh 2017c, e; Khan et al. 2017). This paper aimed at finding some of the similar bipolar fuzzy concepts at user-defined granulation for their computed similarity. To achieve this goal, the properties of Euclidean distance are utilized in this paper, as it is considered as one of the best possible measurements of similarity among various methods in interval-valued space (Li et al. 2007). The bipolar fuzzy concepts contain positive and negative membership values for each intent and extent, simultaneously. Hence, the proposed method computes the Euclidean distance for both positive and negative membership value, independently. This is one of the significant improvements of the proposed method in precise measurements of the similarity in bipolar concepts. The steps of the proposed method are as follows:

  • Step (1) Let us suppose two bipolar fuzzy concepts: \((A_{1}, B_{1})\) and \((A_{2}, B_{2})\).

  • Step (2) The formal concept is a pair of extent (set of objects, i.e., A) or intent (set of attributes, i.e., B). In this case either extent or intent can be considered for computing the similarity. Let us suppose the intent \(\left( B_{1}, (\mu ^{P}(B_{1}),\mu ^{N}(B_{1}))\right) \) and \(\left( B_{2}, (\mu ^{P}(B_{2}),\mu ^{N}(B_{2}))\right) \).

  • Step (3). The Euclidean distance between the given bipolar fuzzy concept can be computed using their intent as follows:

    1. (i).

      \(\mu ^{P} (E_d (B_1, B_2))\)= \( \sqrt{(\mu ^{P}(B_{1})-\mu ^{P}(B_{2}))^{2}}\).

    2. (ii).

      \(\mu ^{N} (E_d (B_1, B_2))\)= \( \sqrt{(\mu ^{N}(B_{1})-\mu ^{N}(B_{2}))^{2}}\).

    The bipolar Euclidean distance can be written as follows:

    $$\begin{aligned} E_{d} (B_{1}, B_{2})=\left( \mu ^{P} (E_d (B_1, B_2)\right) , \mu ^{N} (E_d (B_1, B_2))) \end{aligned}$$
  • Step (4) The average bipolar Euclidean distance can be computed as follows:

    1. (i).

      \(\mu ^{P}_{E_{AD}(B_{1}, B_{2})}= \frac{\sum \mu ^{P} (E_d (B_1, B_2))}{ \mathrm{max}(|B_{1}|, |B_{2}|)}\)

    2. (ii).

      \(\mu ^{N}_{E_{AD}(B_{1}, B_{2})}= \frac{\sum \mu ^{N} (E_d (B_1, B_2))}{ \mathrm{max}(|B_{1}|, |B_{2}|)}\)

    where \(|B_1|\) and \(|B_2|\) represent the number of attributes in the set \(B_{1}\) and \(B_{2}\), respectively. Now, the average bipolar Euclidean distance can be represented as follows:

    $$\begin{aligned} E_{AD} (B_{1}, B_{2})=\left( \mu ^{P}_{E_{AD}(B_{1}, B_{2})}, \mu ^{N}_{E_{AD}(B_{1}, B_{2})}\right) \end{aligned}$$
  • Step (5) Similarly, the bipolar distance among each of the attributes available in the intent can be computed, i.e., for each \(j\in m\).

  • Step (6) Now, the similar bipolar fuzzy concepts can be selected based on user-defined \((\alpha , \beta )\)-cut for the computed average bipolar Euclidean distance. In general two concepts can be considered as similar when its bipolar distance means positive and negative membership value is close to (0, 0).

  • Step (7) The (\(\alpha , \beta \))-cut for the bipolar average distance can be computed as follows:

    $$\begin{aligned}&E_{AD} (B_{1}, B_{2}) (\alpha , \beta ) =\left\{ \left( \mu ^{P}_{E_{AD}(B_{1}, B_{2})}, \mu ^{N}_{E_{AD}(B_{1}, B_{2})}\right) \right. \nonumber \\&\quad \left. |\mu ^{P}_{E_{AD}(B_{1}, B_{2})} \ge \alpha , \mu ^{N}_{E_{AD}(B_{1}, B_{2})} \le \beta \right\} \end{aligned}$$

    where \(j=1,2,3,\ldots , m\),

  • Step (8) The concept having lowest distance is considered as more similar. In this case the chosen \((\alpha , \beta )\)-cut may vary for different users. Let us suppose a user want to select 90% similar concept. In this case user can set \((\alpha , \beta )=(0.1,0.1)\).

  • Step (9) Subsequently, other bipolar fuzzy concepts can be selected at different granulation of their computed distance. Interpret the obtained concepts for the knowledge-processing task.

  • Step (10) Similarly, the average bipolar distance can be computed using the extent also. The proposed method constituted in form of an algorithm steps as shown in Table 5.

Definition 10

(Euclidean distance) (Li et al. 2007; Singh 2017e): the proposed method computes the similar bipolar fuzzy concepts which follows the following properties:

  1. (i)

    Reflexive properties:

    $$\begin{aligned} E_d(B_1, B_2)=1\Leftrightarrow B_1=B_2 \end{aligned}$$
  2. (ii)

    Symmetry properties:

    $$\begin{aligned} E_{d}(B_1, B_2)=E_{d}(B_2, B_1) \end{aligned}$$
  3. (iii)

    If \(B_1 \subseteq B_2 \subseteq B_3\), then

    $$\begin{aligned}&E_{d}(B_1, B_3) \le E_{d}(B_1, B_2)\quad \hbox {and}\\&E_{d}(B_1, B_3) \le E_{d}(B_2, B_3)\quad \hbox {and} \end{aligned}$$
  4. (iv)

    Contrariety properties, i.e., \(E_{d}(B_1, B_2)=0\) iff \(B_1=B_2\) or vice versa.

Table 5 Proposed algorithm for computing similar bipolar fuzzy concepts at different granulations

3.2.1 Complexity

Let us suppose the number of attributes in the given bipolar fuzzy context is m (or number of objects is n). The proposed algorithm computes Euclidean distance using their attributes (or objects) set which takes \(\hbox {O}(m *m\)) (or \(\hbox {O}(n *n\))). The \((\alpha , \beta )\)-cut can be computed in \(\hbox {O}(m{\cdot }n + m{\cdot }n)\) time complexity. Let us suppose \(\hbox {max}(m,n)=m\). In this case the total computational cost of the proposed method is O \((2{\cdot }m^2)\). In this way the proposed method is computationally less expensive when dealing with bipolar fuzzy concept lattice reduction when compared to other available approaches in bipolar fuzzy space (Singh and Kumar 2014a, b).

4 Illustrations

In this section step-by-step demonstration of the proposed method shown in Tables 4 and 5 is discussed with an illustrative example.

4.1 Bipolar fuzzy concept generation using next neighbor

In recent time, dealing with bipolar fuzzy attributes is considered as one of the major issues for the researchers of data analytics in several research fields (Singh 2018; Zhang 2017). Due to that, the algebra of bipolar fuzzy set (Lee 2000; Zhang 1994; Zhang and Zhang 2004) and its graphs (Akram 2011, 2013; Yang et al. 2013) are recently incorporated with concept lattice theory (Singh and Kumar 2014b) for precise analysis of bipolar fuzzy attributes in various fields (Franco et al. 2013; Tamani et al. 2011; Zadrozny et al. 2012). The bipolar fuzzy graph representation of concept lattice provided the most suitable mathematical tool for empirically analyzing the bipolar fuzzy contexts. One of the major advantages of this mathematical tool is that it provides some interesting bipolar fuzzy patterns which are closed with Galois connection. This output helps more in knowledge extraction in refining the meaningful pattern for multi-decision-making process. However, generating the bipolar fuzzy concepts and drawing the bipolar concept lattice structure is a major issue. To overcome this issue, a method is proposed in Sect. 3.1 to discover the bipolar fuzzy concepts based on their next neighbors. In this way the proposed is also helpful in drawing the bipolar fuzzy concept lattice when compared to subset-based approach (Singh and Kumar 2014b). The most interesting part is that it takes less computational time also for completing these tasks, i.e., \(\hbox {O}(|C|{\cdot }n{\cdot }m^{2})\) where C is lower neighbor concepts. To illustrate the proposed method an example is adapted from Singh and Kumar (2014b) for comparing the obtained results.

Example 2

Let us suppose, a company manufactures some set of cars (i.e., objects) \(=\) (\(x_1\), \(x_2\), \(x_3\), \(x_4\)) based on the following parameters, i.e., \(y_1=\hbox {Cost}\), \(y_2=\hbox {Beautiful},y_3=\hbox {Fuel efficient}\), \(y_4= \hbox {Modern technology and }y_5=\hbox {Luxurious}\). The company want to analyze the suitability of cars for more production to improve its profit. To achieve this goal, the company can take helps from the feedback given by users who came to purchase the given cars. It is well known that the human provides their opinion beyond the binary values. The users used to provide their opinion based on bipolar space which contains acceptance and rejection part to purchase the car based on the given parameters: (\(y_1=\hbox {Costly}\), \(y_2=\hbox {Beautiful}\), \(y_5=\hbox {Luxurious}\)). The bipolar opinion given by user for the given set of cars can be written using the properties of bipolar fuzzy set for further analysis of these preferences as given below:

  1. (i)

    \(x_1=\{(0.4, -\,0.5)/y_{1}+(0.5, -\,0.5)/y_{2}+(0.7, 0.0)//y_{3} \}\).

  2. (ii)

    \(x_2=\{(0.6, -\,0.3)/y_{1}+(0.3, -\,0.1)/y_{2}+(0.5, -\,0.3) /y_{3} \}\).

  3. (iii)

    \(x_3=\{(0.8, -\,0.2)/y_{1}+(0.4, -\,0.4)/y_{2}+(0.6, -\,0.3)/y_{3} \}\).

  4. (iv)

    \(x_4=\{(0.5, -\,0.2)/y_{1}+(0.7, -\,0.3)/y_{2}+(0.4, -\,0.4)/y_{3}\}\).

The company need a rigorous analysis or some meaningful information from the above given bipolar data set to analyze the pattern of customers. To solve this problem a method is proposed in Sect. 3.1 of this paper for graphical analytics of this data set. To achieve this goal above-mentioned data set can be written in form of a bipolar fuzzy context as shown in Table 6 where row represents (X) set of cars (\(x_1\), \(x_2\), \(x_3\), \(x_4\)) and column (Y) represents the attributes (\(y_1=\hbox {Costly}\), \(y_2=\hbox {Beautiful}\), \(y_5=\hbox {Luxurious}\)), and \(\tilde{R}\) represents the bipolar fuzzy relation among them. The objective is to find some of the closed patterns among cars and user-interested bipolar fuzzy attributes for analyzing the preference of users.

Table 6 A bipolar fuzzy context representation of users opinion to purchase the given cars

Step 1. To generate the first bipolar fuzzy concepts select all the objects \(\{(1.0, -\,1.0)/x_{1}+(1.0, -\,1.0)/x_{2} + (1.0, -\,1.0)/x_{3}+(1.0, -\,1.0)/x_{4}\}\) and investigate its covering attributes using the Galois operator (\(\uparrow \)) as follows:

\(\{(1.0, -\,1.0)/x_{1}+(1.0, -\,1.0)/x_{2} + (1.0, -\,1.0)/x_{3}+(1.0, -\,1.0)/x_{4}\}^\uparrow =\{(0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5}\}.\)

Subsequently, investigate the maximal covering bipolar fuzzy set of objects for the obtained attributes set using the operator \(\downarrow \) as given below:

$$\begin{aligned}&\{(0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5}\}^\downarrow \\&\quad =\{(1.0, -\,1.0)/x_{1}+(1.0, -\,1.0)/x_{2} \\&\quad \quad +\, (1.0, -\,1.0)/x_{3}+(1.0, -\,1.0)/x_{4}\}. \end{aligned}$$

In this way the Galois operator provides the following bipolar fuzzy concepts:

$$\begin{aligned}&\hbox {Extent: }\left\{ (1.0, -\,1.0)/x_{1}+(1.0, -\,1.0)/x_{2} \right. \\&\quad \left. + (1.0, -\,1.0)/x_{3}+(1.0, -\,1.0)/x_{4}\right\} \\&\hbox {Intent: }\{(0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2}\\&\quad + (0.4, -\,0.0)/y_{5}\}. \end{aligned}$$

Step 2. The concept generated at the first step shows that intent \((0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5}\) covers each of the objects set. Now the goal is to find its next neighbor concepts to draw the line diagram. For this purpose following lower neighbor can be generated as per Steps 2 and 3 of the proposed algorithm shown in Table 4:

(i)\(\left\{ (0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} \cup \left\{ (0, 1)/y_{1}\right\} \).

This provides the following set: \(\{(0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5} \}\).

Now apply the operator \(\downarrow \) on the obtained attributes set:

$$\begin{aligned}&\left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} ^\downarrow \\&\quad =\{ (0.4, -\,0.5)/x_{1}+(0.6, -\,0.3)/x_{2}\\&\quad \quad +\,(0.8, -\,0.2)/x_{3}+(0.5, -\,0.2)/x_{4}\}. \end{aligned}$$

Subsequently, apply the operator \(\uparrow \) on the obtained bipolar fuzzy set of objects as follows:

$$\begin{aligned}&\left\{ (0.4, -\,0.5)/x_{1}+(0.6, -\,0.3)/x_{2}+(0.8, -\,0.2)/x_{3}\right. \\&\quad \quad \left. +\,(0.5, -\,0.2)/x_{4}\right\} ^\uparrow \\&\quad =\left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} . \end{aligned}$$

It provides the following bipolar fuzzy concepts:

Extent: \(\{(0.4, -\,0.5)/x_{1}+(0.6, -\,0.3)/x_{2}+(0.8, -\,0.2)/x_{3}+(0.5, -\,0.2)/x_{4} \}\).

Intent: \(\{(0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5} \}\).

(ii)\(\{(0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5} \}\cup \left\{ (0, 1)/y_{2}\right\} \).

This provides the following set: \(\{(0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5} \}\).

Now apply the operator \(\downarrow \) on the obtained attributes set:

$$\begin{aligned}&\left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} ^\downarrow \\&\quad =\{(0.5,-\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}\\&\quad \quad +\,(0.4, -\,0.4)/x_{3}+(0.7, -\,0.3)/x_{4}\}. \end{aligned}$$

Subsequently, apply the operator \(\uparrow \) on the obtained bipolar fuzzy set of objects as follows:

$$\begin{aligned}&\left\{ (0.5,-\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}+(0.4, -\,0.4)/x_{3}\right. \\&\quad \quad \left. +\,(0.7, -\,0.3)/x_{4}\right\} ^\uparrow \\&\quad = \left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5}\right\} . \end{aligned}$$

It provides the following bipolar fuzzy concepts:

$$\begin{aligned}&\hbox {Extent:}\left\{ (0.5,-\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}\right. \\&\quad \quad \left. +\,(0.4, -\,0.4)/x_{3}+(0.7, -\,0.3)/x_{4}\right\} .\\&\hbox {Intent: }\left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5}\right\} . \end{aligned}$$

(iii)\(\{(0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5} \}\cup \left\{ (0, 1)/y_{5}\right\} \).

This provides the following set: \(\{(0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5}\}\).

Now, apply the operator \(\downarrow \) on the obtained attributes set:

$$\begin{aligned}&\left\{ (0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} ^\downarrow \\&\quad =\{(0.5,-\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}\\&\quad \quad +\,(0.4, -\,0.4)/x_{3}+(0.7, -\,0.3)/x_{4}\}. \end{aligned}$$

Subsequently, apply the operator \(\uparrow \) on the obtained bipolar fuzzy set of objects as follows:

$$\begin{aligned}&\left\{ (0.5,-\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}+(0.4, -\,0.4)/x_{3}\right. \\&\quad \left. +(0.7, -\,0.3)/x_{4}\right\} ^\uparrow =\left\{ (0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} \right. \\&\quad \left. +\, (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

It provides the following bipolar formal fuzzy concepts:

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.7, 0.0)/x_{1}+(0.5, -\,0.3)/x_{2}\right. \\&\quad \left. +(0.6, -\,0.3)/x_{3}+(0.4, -\,0.4)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

All of the generated lower neighbors in this step provide distinct formal concepts with maximal bipolar fuzzy membership value which are shown in Figs. 23 and 4, respectively, as next neighbor.

Fig. 2
figure 2

Bipolar fuzzy concept lattice generated at Step 2

Fig. 3
figure 3

Bipolar fuzzy concept lattice generated at Step 3

Fig. 4
figure 4

Bipolar fuzzy concept lattice generated at Step 4

Step 3. Now, suppose the concept generated at Step 2(i) as current level, i.e.,

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.4, -\,0.5)/x_{1}+(0.6, -\,0.3)/x_{2}\right. \\&\quad \left. +\,(0.8, -\,0.2)/x_{3}+(0.5, -\,0.2)/x_{4} \right\} .\\&\hbox {Intent:}\left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} . \end{aligned}$$

Find its lower neighbor using the Intent \(\{(0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5} \}\) as follows:

(i) \(\left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} \cup \left\{ (0, 1)/y_{2}\right\} \)

This provides the following set: \(\{(0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5} \}\).

Now apply operator \(\downarrow \) on the obtained attributes set:

$$\begin{aligned}&\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} ^\downarrow \\&\quad =\{ (0.4, -\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}\\&\quad \quad +\,(0.4, -\,0.2)/x_{3}+(0.5, -\,0.2)/x_{4}\}. \end{aligned}$$

Subsequently, apply the operator \(\uparrow \) on the obtained bipolar fuzzy set of objects as follows:

$$\begin{aligned}&\left\{ (0.4, -\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}+(0.4, -\,0.2)/x_{3}\right. \\&\quad \quad \left. +\,(0.5, -\,0.2)/x_{4}\right\} ^\uparrow \\&\quad =\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} . \end{aligned}$$

It provides the following bipolar fuzzy concepts:

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.4, -\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}\right. \\&\quad \, \left. +\,(0.4, -\,0.2)/x_{3}+(0.5, -\,0.2)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} . \end{aligned}$$

(ii)\(\left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} \cup \left\{ (0, 1)/y_{5}\right\} \).

This provides the following set: \(\{(0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \}\).

Now apply operator \(\downarrow \) on the obtained attributes set:

$$\begin{aligned}&\left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} ^\downarrow \\&\quad =\{ (0.4, 0.0)/x_{1}+(0.5, -\,0.3)/x_{2}\\&\quad \quad +\,(0.6, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4}\}. \end{aligned}$$

Subsequently, apply the operator \(\uparrow \) on the obtained bipolar fuzzy set of objects as follows:

$$\begin{aligned}&\left\{ (0.4, 0.0)/x_{1}+(0.5, -\,0.3)/x_{2}+(0.6, -\,0.2)/x_{3}\right. \\&\quad \quad \left. +\,(0.4, -\,0.2)/x_{4}\right\} ^\uparrow \\&\quad =\left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

It provides the following bipolar fuzzy concepts:

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.4, 0.0)/x_{1}+(0.5, -\,0.3)/x_{2}\right. \\&\quad \quad \left. +\,(0.6, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

It can be observed that both of the generated lower neighbors are distinct with maximal bipolar fuzzy membership value. In this case they can be considered as next neighbor of the concepts 2(i) as shown in Fig. 3.

Step 4. Now suppose concept generated at Step 2(ii) as current level, i.e.,

$$\begin{aligned}&\hbox {Extent:}\left\{ (0.5,-\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}\right. \\&\quad \left. +(0.4, -\,0.4)/x_{3}+(0.7, -\,0.3)/x_{4}\right\} .\\&\hbox {Intent: }\left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5}\right\} . \end{aligned}$$

Find its lower neighbor using the Intent \(\{(0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5}\}\) as follows:

(i)\(\left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5}\right\} \)\(\cup \left\{ (0, 1)/y_{1}\right\} \).

This provides the following set: \(\{(0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5}\}\).

Now apply operator \(\downarrow \) on the obtained attributes set:

$$\begin{aligned}&\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} ^\downarrow \\&\quad =\{ (0.4, -\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}\\&\quad \quad +\,(0.4, -\,0.2)/x_{3}+(0.5, -\,0.2)/x_{4}\}. \end{aligned}$$

Subsequently, apply the operator \(\uparrow \) on the obtained bipolar fuzzy set of objects as follows:

$$\begin{aligned}&\left\{ (0.4, -\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}\right. \\&\quad \quad \left. +\,(0.4, -\,0.2)/x_{3}+(0.5, -\,0.2)/x_{4}\right\} ^\uparrow \\&\quad =\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} . \end{aligned}$$

It provides the following bipolar fuzzy concepts:

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.4, -\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}\right. \\&\quad \left. +(0.4, -\,0.2)/x_{3}+(0.5, -\,0.2)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} . \end{aligned}$$

(ii)\(\left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5}\right\} \)\(\cup \left\{ (0, 1)/y_{5}\right\} \).

This provides the following set: \(\{(0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5}\}\).

Now apply the operator \(\downarrow \) on the obtained attributes set:

$$\begin{aligned}&\left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} ^\downarrow \\&\quad =\{ (0.5, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2}\\&\quad \quad +\,(0.4, -\,0.3)/x_{3}+(0.4, -\,0.3)/x_{4}\}. \end{aligned}$$

Subsequently, apply the operator \(\uparrow \) on the obtained bipolar fuzzy set of objects as follows:

$$\begin{aligned}&\left\{ (0.5, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2}\right. \\&\quad \quad \left. +\,(0.4, -\,0.3)/x_{3}+(0.4, -\,0.3)/x_{4}\right\} ^\uparrow \\&\quad = \left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

It provides the following bipolar fuzzy concepts:

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.5, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2}\right. \\&\quad \left. +(0.4, -\,0.3)/x_{3}+(0.4, -\,0.3)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

It can be observed that both of the generated lower neighbors are distinct with maximal bipolar fuzzy membership value. In this case they can be considered as next neighbor of the concepts 2(ii) as shown in Fig. 4.

Step 5. Now, suppose concept generated at Step 2(iii) as current level, i.e.,

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.7, 0.0)/x_{1}+(0.5, -\,0.3)/x_{2}\right. \\&\quad \left. +(0.6, -\,0.3)/x_{3}+(0.4, -\,0.4)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

Find its lower neighbor using the Intent \(\{(0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \}\) as follows:

(i) \(\left\{ (0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} \cup \left\{ (0, 1)/y_{1}\right\} \).

This provides the following set: \(\{(0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \}\).

Now apply operator \(\downarrow \) on the obtained attributes set:

$$\begin{aligned}&\left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} ^\downarrow \\&\quad =\{ (0.4, 0.0)/x_{1}+(0.5, -\,0.3)/x_{2}\\&\quad \quad +\,(0.6, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4}\}. \end{aligned}$$

Subsequently, apply the operator \(\uparrow \) on the obtained bipolar fuzzy set of objects as follows:

$$\begin{aligned}&\left\{ (0.4, 0.0)/x_{1}+(0.5, -\,0.3)/x_{2}+(0.6, -\,0.2)/x_{3}\right. \\&\quad \quad \left. +\,(0.4, -\,0.2)/x_{4}\right\} ^\uparrow \\&\quad = \left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

It provides the following bipolar fuzzy concepts:

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.4, 0.0)/x_{1}+(0.5, -\,0.3)/x_{2}+(0.6, -\,0.2)/x_{3}\right. \\&\quad \left. +(0.4, -\,0.2)/x_{4} \right\} .\\&\quad \hbox {Intent: }\left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

(ii) \( \left\{ (0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} \cup \left\{ (0, 1)/y_{2}\right\} \).

This provides the following set: \(\{(0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \}\).

Now apply operator \(\downarrow \) on the obtained attributes set:

$$\begin{aligned}&\left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} ^\downarrow \\&\quad =\{ (0.5, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2}\\&\quad \quad +\,(0.4, -\,0.3)/x_{3}+(0.4, -\,0.3)/x_{4}\}. \end{aligned}$$

Subsequently, apply the operator \(\uparrow \) on the obtained bipolar fuzzy set of objects as follows:

$$\begin{aligned}&\left\{ (0.5, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2}+(0.4, -\,0.3)/x_{3}\right. \\&\left. +(0.4, -\,0.3)/x_{4}\right\} ^\uparrow \\&\quad =\left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

It provides the following bipolar fuzzy concepts:

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.5, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2}\right. \\&\quad \left. +(0.4, -\,0.3)/x_{3}+(0.4, -\,0.3)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

It can be observed that both of the generated lower neighbors are distinct with maximal bipolar fuzzy membership value. In this case they can be considered as next neighbor of the concepts 2(ii) as shown in Fig. 5.

Fig. 5
figure 5

Bipolar fuzzy concept lattice generated till Step 5

Step 6. Now, suppose concept generated at Step 3(i) as current level, i.e.,

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.4, -\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}\right. \\&\quad \left. +(0.4, -\,0.2)/x_{3}+(0.5, -\,0.2)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5} \right\} . \end{aligned}$$

Find its lower neighbor using the Intent \(\{(0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5}\}\) as follows:

$$\begin{aligned}&\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2}\right. \\&\quad \left. + (0.4, -\,0.0)/y_{5} \right\} \cup \left\{ (0, 1)/y_{5}\right\} . \end{aligned}$$

This provides the following set: \(\{(0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \}\).

Now apply operator \(\downarrow \) on the obtained attributes set:

$$\begin{aligned}&\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5}\right\} ^\downarrow \\&\quad =\{ (0.4, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2} \\&\quad \quad +\, (0.4, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4}\}. \end{aligned}$$

Subsequently, apply the operator \(\uparrow \) on the obtained bipolar fuzzy set of objects as follows:

$$\begin{aligned}&\left\{ (0.4, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2} + (0.4, -\,0.2)/x_{3}\right. \\&\quad \left. +(0.4, -\,0.2)/x_{4}\right\} ^\uparrow \\&\quad =\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

It provides the following bipolar fuzzy concepts:

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.4, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2} \right. \\&\quad \left. + (0.4, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

Its concept lattice is shown in Fig. 6.

Fig. 6
figure 6

Bipolar fuzzy concept lattice generated at Step 6

Step 7. Now, suppose concept generated at Step 3(ii) as current level, i.e.,

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.4, 0.0)/x_{1}+(0.5, -\,0.3)/x_{2}\right. \\&\quad \left. +(0.6, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

Find its lower neighbor using the Intent \(\{(0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \}\) as follows:

$$\begin{aligned}&\left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} \nonumber \\&\quad \cup \left\{ (0, 1)/y_{2}\right\} . \end{aligned}$$

This provides the following set: \(\{(0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \}\).

Now apply operator \(\downarrow \) on the obtained attributes set:

$$\begin{aligned}&\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5}\right\} ^\downarrow \\&\quad =\{ (0.4, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2} \\&\quad \quad +\, (0.4, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4}\}. \end{aligned}$$

Subsequently, apply the operator \(\uparrow \) on the obtained bipolar fuzzy set of objects as follows:

$$\begin{aligned}&\left\{ (0.4, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2} \right. \\&\quad \quad \left. + \,(0.4, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4}\right\} ^\uparrow \\&\quad =\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

It provides the following bipolar fuzzy concepts:

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.4, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2} \right. \\&\quad \left. + (0.4, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4} \right\} .\\&\hbox {Intent: } \left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

The edges between this concept are added on the bipolar fuzzy concept lattice as shown in Fig. 7.

Fig. 7
figure 7

Bipolar fuzzy concept lattice generated at Step 7

Step 8. Now, suppose concept generated at Step 4(i) is current level. It can be observed that this concept is repetition of concept generated at Step 3(i). Hence it provides similar next neighbor concepts as explored in Step 6 and Fig. 6.

Step 9. Now, suppose concept generated at Step 4(ii) as current level, i.e.,

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.5, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2}\right. \\&\quad \left. +(0.4, -\,0.3)/x_{3}+(0.4, -\,0.3)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

Find its lower neighbor using the Intent \(\{(0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \}\) as follows:

$$\begin{aligned}&\left\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} \\&\quad \cup \left\{ (0, 1)/y_{1}\right\} . \end{aligned}$$

This provides the following set: \(\{(0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \}\).

Now apply operator \(\downarrow \) on the obtained attributes set:

$$\begin{aligned}&\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5}\right\} ^\downarrow \\&\quad = \{ (0.4, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2} + (0.4, -\,0.2)/x_{3}\\&\quad +(0.4, -\,0.2)/x_{4}\}. \end{aligned}$$

Subsequently, apply the operator \(\uparrow \) on the obtained bipolar fuzzy set of objects as follows:

$$\begin{aligned}&\left\{ (0.4, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2} + (0.4, -\,0.2)/x_{3}\right. \\&\qquad \left. +(0.4, -\,0.2)/x_{4}\right\} ^\uparrow \\&\quad =\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

It provides the following bipolar fuzzy concepts:

$$\begin{aligned}&\hbox {Extent: }\left\{ (0.4, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2} \right. \\&\quad \left. + (0.4, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

The edges between this concept are added on the bipolar fuzzy concept lattice as shown in Fig. 8.

Fig. 8
figure 8

Final bipolar fuzzy concept lattice generated at Step 9

Step 10. Now suppose the concept generated at Step 5(i) is current level. It can be observed that it is repetitions of the concept generated at Step 3(ii). Hence, it provides similar next neighbor concepts as explored in Step 7 and Fig. 7.

Step 11. Now suppose concept generated at Step 5(ii) is current level. It can be observed that it is repetitions of the concept generated at Step 4(ii). Hence, it provides similar next neighbor concepts as explored in Step 9 and Fig. 8.

It can be observed that the proposed method generates repeated concepts among them following are distinct bipolar concepts:

  1. 1.

    Extent: \(\{(1.0, -\,1.0)/x_{1}+(1.0, -\,1.0)/x_{2} + (1.0, -\,1.0)/x_{3}+(1.0, -\,1.0)/x_{4}\}\)

    Intent: \(\{(0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5}\}\).

  2. 2.

    Extent: \(\{(0.4, -\,0.5)/x_{1}+(0.6, -\,0.3)/x_{2}+(0.8, -\,0.2)/x_{3}+(0.5, -\,0.2)/x_{4} \}\).

    Intent: \(\{(0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.4, -\,0.0)/y_{5} \}\).

  3. 3.

    Extent:\(\{(0.5,-\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}+(0.4, -\,0.4)/x_{3}+(0.7, -\,0.3)/x_{4}\}\).

    Intent: \(\{(0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5}\}\).

  4. 4.

    Extent: \(\{(0.7, 0.0)/x_{1}+(0.5, -\,0.3)/x_{2}+(0.6, -\,0.3)/x_{3}+(0.4, -\,0.4)/x_{4} \}\).

    Intent: \(\{(0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \}\).

  5. 5.

    Extent: \(\{(0.4, -\,0.5)/x_{1}+(0.3, -\,0.1)/x_{2}+(0.4, -\,0.2)/x_{3}+(0.5, -\,0.2)/x_{4} \}\).

    Intent: \(\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.4, -\,0.0)/y_{5} \}\).

  6. 6.

    Extent: \(\{(0.4, 0.0)/x_{1}+(0.5, -\,0.3)/x_{2}+(0.6, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4} \}\).

    Intent: \(\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \}\).

  7. 7.

    Extent: \(\{(0.5, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2}+(0.4, -\,0.3)/x_{3}+(0.4, -\,0.3)/x_{4} \}\).

    Intent: \(\{ (0.4, -\,0.2)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \}\).

  8. 8.

    Extent: \(\{(0.4, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2} + (0.4, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4} \}\).

    Intent: \(\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \}\).

The bipolar fuzzy concept lattice for above-generated concepts is shown in Fig. 8 which reflect the following information:

  • Let us suppose company want to analyze the first preference of the customers based on acceptation of all the attributes, i.e.,

    \(\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} \). In this case concept number 8 is helpful having following extent–intent:

    $$\begin{aligned}&\hbox {Extent: }\left\{ (0.4, 0.0)/x_{1}+(0.3, -\,0.1)/x_{2} \right. \\&\quad \left. + (0.4, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.0, 1.0)/y_{1}+(0.0, 1.0)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

    It can be observed that for each of the attributes car \(x_3\) and \(x_4\) have maximum positive membership value, i.e., 0.4 and minimum falsity membership value, i.e., − 0.2. In this case customer will take both the care as first preference.

  • To find the first preference among car \(x_3\) and \(x_4\) company will check the most preferred attribute by user while purchasing any of the car. In this case concept number 1 is useful having following extent–intent:

    $$\begin{aligned}&\hbox {Extent: }\left\{ (1.0, -\,1.0)/x_{1}+(1.0, -\,1.0)/x_{2} \right. \\&\quad \left. + (1.0, -\,1.0)/x_{3}+(1.0, -\,1.0)/x_{4}\right\} \\&\hbox {Intent: }\left\{ (0.4, -\,0.2)/y_{1}+(0.3, -\,0.1)/y_{2}\right. \\&\quad \left. + (0.4, -\,0.0)/y_{5}\right\} . \end{aligned}$$

    It can be observed that any user prefers to purchase the car having attribute \(y_1\) and \(y_5\) as per their maximum positive membership value of acceptance.

  • Now company will check which car has maximum acceptation membership value for the attributes \(y_1\) and \(y_5\), i.e., (0,1). In this case concept number 6 is useful having following extent and intent:

    $$\begin{aligned}&\hbox {Extent: }\left\{ (0.4, 0.0)/x_{1}+(0.5, -\,0.3)/x_{2}\right. \\&\quad \left. +(0.6, -\,0.2)/x_{3}+(0.4, -\,0.2)/x_{4} \right\} .\\&\hbox {Intent: }\left\{ (0.0, 1.0)/y_{1}+(0.3, -\,0.1)/y_{2} + (0.0, 1.0)/y_{5} \right\} . \end{aligned}$$

This concept shows that the car \(x_3\) is having maximum positive, i.e., 0.6, and minimal negative membership value, i.e., − 0.2, when compared to the car \(x_4\), i.e., (0.4, − 0.2). Hence, the user will prefer the car \(x_3\) as the first preference, while car \(x_4\) as second preference.

The above analysis provides a useful information that the car-\(x_3\) is considered as first preference by user, whereas the car \((x_4)\) as second preference. This extracted information from the proposed method is helpful in taking a precise decision to the company toward manufacturing the car (\(x_3\)) more when compared to other cars for better sell and optimizing the profit. This result from the proposed method also echoes with other methods available (Singh and Kumar 2014a).Footnote 2 However, to achieve this goal the proposed method takes less computational time, i.e., \(\hbox {O}(|C|{\cdot }n{\cdot }m^{2})\), whereas the subset-based method takes exponential time, i.e., \(\hbox {O}(n{\cdot }2^{m})\) to achieve this goal. In the same time, it provides an easier way to draw the bipolar fuzzy concept lattice line diagram based on their lower neighbor. This can be considered as one of significant advantages of the proposed method to find the consequent neighbors of the chosen bipolar concepts which helps more in navigating the lattice. In this process a major drawback of the proposed method is it provides several repeated concepts. This creates a major problem in classifying the distinct or meaningful concepts for knowledge-processing tasks. In this case, measuring the important concept at user-required information granules is computationally rigorous tasks. To deal with this problem, another method is proposed in Sect. 3.2 using the calculus of Euclidean distance and granular computing. In the next section the proposed method is demonstrated using the same example to validate the obtained results.

4.2 Bipolar fuzzy concepts selection using user-defined Euclidean distance

In recent time finding some of the interesting bipolar fuzzy concepts from the given context are major concern for the researchers. To achieve this goal the algebra of granular computing is utilized in unipolar (Singh and Kumar 2012) as well as bipolar fuzzy context (Singh and Kumar 2014b) for reducing the size of fuzzy concept lattice (Mao 2017; Singh and Gani 2015). The reason is that the mathematics of granular computing provides multi-way data analysis for any given context based on user requirement to solve the particular problem. This variability of granular computing helps more in refining the meaningful information for multi-criteria decision-making process. This flexibility of granular computing motivated to utilize its mathematical algebra for reducing the bipolar fuzzy concepts. The proposed method tries to accomplish these tasks by computed Euclidean distance as shown in Sect. 3.2. The proposed method considers two bipolar concepts as similar when their bipolar Euclidean distance is as per user-defined granulation. The motivation is to find more adequate or similar bipolar concepts having closest bipolar values from the positive region (0.0, 1.0). In general the Euclidean distance considers two sets as equal distance when they are closed to the acceptance region. In this case, the obtained results may contain some uncertainty and vagueness in the precise measurement when the data set is beyond the unipolar space. As for example the bipolar values (0.8, − 0.2) and (0.2, − 0.8) have the same distance from positive region. However, the bipolar fuzzy set (0.8, − 0.2) is more close to the acceptance regions due to its maximal positive and minimal negative membership value. Similarly, many vague points can be found in bipolar context which may play a significant role in precise analysis of decision-making process. To conquer this problem, current paper proposed a method to compute the bipolar Euclidean distance based on positive and negative membership value as shown in Sect. 3.2.

To illustrate the proposed method shown in Sect. 3.2 a bipolar fuzzy context shown in Table 6 is considered. Now the goal is to find some of the closest patterns of car based on user-required parameters, i.e., \((1,-\,1)/y_{1}+(1,-\,1)/y_{2}+(1,-\,1)/y_{5}\). To solve this problem the corresponding bipolar fuzzy set representation of each car based on their attributes set is shown in Table 7. Table 8 represents the computed bipolar Euclidean distance from the user-required information granules. The car having minimal distance from the positive membership and maximal distance from negative membership value from user-defined granulation can be considered as closest to the given query as shown in Table 9. This table shows that the preference of car can be changed based on user-required positive and negative information. It is one of the most noted advantages of the proposed method in refining the knowledge.

Table 7 Intent of vague concepts generated from Table 6
Table 8 Bipolar distance of cars from \((1,-\,1)/y_{1}+(1,-\,1)/y_{2}+(1,-\,1)/y_{5}\)

Table 9 represents that the car \(x_3\) contains maximal positive and minimal negative membership value based on the user-required information granules. In this case, the user will try to purchase the car \(x_3\) as the first preference, whereas car \(x_4\) as second preference. The obtained results from the proposed method echo with next neighbor method shown in Sect. 4.1 of this paper, subset-based method (Singh and Kumar 2014b) and other methods (Singh and Kumar 2014a). To achieve this goal the proposed method takes less computation cost when compared to any of them \(\hbox {O}(|C|{\cdot }n{\cdot }m^{2})\). Moreover, it provides an alternative way to refine the pattern based on their Euclidean distance at user-required information granules. It is one of the notable advantages among any other approaches available in FCA with bipolar fuzzy setting. Future work will be focused on more depth analysis of bipolarity in different orientations.

Table 9 Cars having closest distance from bipolar set \((1,-\,1)\) at different \((\alpha ,\beta )\)-cut
Table 10 Classification of binary, fuzzy, interval and bipolar fuzzy set based on their properties

5 Discussion

Extracting some of the meaningful information from the given unipolar or bipolar fuzzy context is central notion of researchers. To accomplish these tasks precisely, algebra of concept lattice stretched with fuzzy (Burusco and Fuentes-Gonzalez 1994), interval (Burusco and Fuentes-Gonzales 2001; Djouadi and Prade 2009, 2010; Singh et al. 2016) and bipolar (Singh and Kumar 2014b; Singh 2017b) or vague (Singh 2016, 2017e) setting for characterizing the uncertainty based on three-way (Singh 2017a; Yao 2017) or multi-polar space (Singh 2018). The bipolar fuzzy graph representation of concept lattice given a well-established mathematical model for dealing with bipolar information when compared to other extensions of fuzzy sets as shown in Table 10. Due to that, the current paper focused on bipolar fuzzy concept learning and its selection at user-defined granulation for knowledge-processing tasks. Table 11 compares some of the important research papers based on their findings related to FCA. It can be observed that less attention has been toward bipolar fuzzy concept lattice and its issues. To bridge this gap current paper proposed a method for investigating the bipolar fuzzy concepts based on their next neighbor within \(\hbox {O}(|C|{\cdot }n{\cdot }m^{2})\) and \(\hbox {O}(2{\cdot }m^{2})\) time complexity. Furthermore, another method is proposed to extract some of the closest bipolar fuzzy concepts based on their computed Euclidean distance at user-required granulation within \(\hbox {O}(2{\cdot }m^{2})\) time complexity. In this way the proposed method helps more in traversing the bipolar fuzzy concept lattice and its learning in less computational time. It can be considered as one of the significant outputs of the proposed method.

Table 11 Comparative analysis of FCA with binary, fuzzy, interval and bipolar fuzzy setting

The proposed method and its analysis are demonstrated on the data set adapted (Singh and Kumar 2014b)Footnote 3 In this way the comparison of obtained results from the proposed method becomes easier. It is shown that both of the proposed methods provide concordant results with (Singh and Kumar 2014a, b). For better understanding a comparative analysis of proposed method with subset-based method is shown in Table 12.

Table 12 Comparison of the proposed method with subset-based method (Singh and Kumar 2014b)

It can be observed that the proposed method introduces a way to draw the bipolar fuzzy concept lattice line diagram based on their next neighbor. The most notable point about the proposed method is that it provides a way to select some of the bipolar concepts at user-required information granules. This gives a way to refine the pattern for solving the particular problem using their Euclidean distance. In this way, the proposed method is different from any of the available approaches in FCA with bipolar fuzzy setting. However, the proposed method is unable to analyze the context having shared bipolar fuzzy attributes (Singh 2016) or their periodic measurement (Singh 2017b) at given m-polar fuzzy space (Singh 2018). To resolve this issue author will focus on these directions in near future.

6 Conclusions

This paper introduces a method to mimic with human thoughts exists in bipolar fuzzy space using the calculus of next neighbor within \(\hbox {O}(|C|{\cdot }n{\cdot }m^{2})\) time complexity. It is one of the major advantages of the proposed method when compared to subset-based method shown in (Singh and Kumar 2014a, b). In addition, another method is proposed to select some of the bipolar fuzzy concepts based on their Euclidean distance and user-defined granulation within \(\hbox {O}(2{\cdot }m^{2})\). This is another advantages of the proposed method toward refining the knowledge based on their closed distance. However, the derived results from both of the proposed methods are concordant with each other as well as recently introduced methods (Singh and Kumar 2014b). In future, the author will focus on handling the bipolar information in multi-polar space and its periodic changes at given phase of time.