In recent years, to overcome the information overloading problems of Internet, the research of Information filtering has drawn much attention. Information filtering helps to select appropriate information and eliminate useless or irrelevance information by analyzing the text or detecting users' behavior. Currently, researches and applications of information filtering are advancing simultaneously. The study over corpus-based filtering algorithms and feature selection algorithms is thriving, while products such as information-dissemination systems and content-filtering modules in firewall are released continuously. Therefore, with the background of real-word applications and practical problems, we study information filtering from the point of view of domain-specific frameworks, system models and smart algorithms. The research of information filtering involves different aspects such as corpus construction, feature selection and learning algorithms. In addition, the effectiveness and performance of an algorithm depends highly on implementation techniques such as underlying data structures. Furthermore, algorithms should adapt to differ application context. All these bring difficulties to software programming. Accordingly, we apply the theory and methods of software frameworks to the domain of information filtering for the first time. We construct an information filtering domain-specific framework (IFDF), and depict the static and dynamic model of IFDF with class diagrams and sequence diagrams of UML. We also implement IFDF with JDK1.2 and JMS. The merits of IFDF such as comprehensible, maintainable, scalable and high performance ground filtering-based applications. The representation of queries and texts are a major difficulty in information filtering. For example, the lexical relationships between words such as polysemy, synonymy, and antonym should be expressed, and the logic relationships between words in a query such as parataxis, adjunction, restrictive as well. Furthermore it is always a challenge to depict non-content properties such as quality and taste. To address the above problem, we bring forward a simplified Bayesian network named Bayesian Model of Information Filtering (BMIF). BMIF divides filtering model into four layers: Virtual feature Layer, feature Layer, Pattern Layer and Interests Layer, and it also accormodates six nodes such as Noise-And, Noise-Or, and Context, to express the relationships across events in information filtering. A series of benefits are obtained with BMIF: Content -based filtering can describe what user requires, while the advantage of collaborative-filtering lies in differentiating taste, BMIF allows us to combine content-based filtering and collaborative filtering with BMIF, and takes advantages of both merits. Meanwhile, manually specifies^ user-profiles and learned profiles are two major methods to construct user's interest. By combining user experiences and corpus-based learning, we put forward two concepts-^ -partial learning and pattern refining, which enable users to add their own experiences and observations into filtering systems. Since batch-oriented learning needs a large amount of labeled data, consuming substantive memory and disk spaces, online learning becomes a hot spot. Traditional online learning algorithms don't care about the issues of updating features when documents arrive one by one. It leads to the inconsistency between batch-oriented feature selection and online feature weights refining. Thus we provide an algorithm called Window-Based Online Feature Selection Algorithm to settle the problem. The algorithm has demonstrated performance comparative to batch-oriented method in experiment. The article also studied feature selection algorithms in Chinese information filtering, and gives references on suitable feature methods in different context. We compare several text segmentation methods, and draw paticular conclusions such as the performance of N-grams methods are comparative to Dictionary-Based Segmentation methods. Finally, it generally requires tremendous efforts to construct a new algorithm, to understand a complex algorithm and to program an algorithm into a runnable stuff. So with ideas of "Design Pattern" in software engineering, we put forward the concept of "Multi-Algorithm Cooperation Patterns" (MACPS), MACPS help to describe compound algorithms, construct new algorithms, deploy data sources and computing sources in a more structural and standard way, and at last provide standard methods to construct algorithm-intensive applications. In this article, we sum up 3 patterns from the domain of information filtering, namely MAPAP, MARAP and EDFAP. We use UML to describe these patterns, and give the context applicable to these patterns.