当前位置:文档之家› Mining Business Topics in Source Code using Latent Dirichlet Allocation ABSTRACT

Mining Business Topics in Source Code using Latent Dirichlet Allocation ABSTRACT

Mining Business Topics in Source Code using Latent Dirichlet Allocation ABSTRACT
Mining Business Topics in Source Code using Latent Dirichlet Allocation ABSTRACT

Mining Business Topics in Source Code using Latent

Dirichlet Allocation

Girish Maskeri,Santonu Sarkar SETLabs,Infosys T echnologies Limited Bangalore560100,India

girish_rama@https://www.doczj.com/doc/899520839.html,, santonu_sarkar@https://www.doczj.com/doc/899520839.html,

Kenneth Hea?eld California Institute of T echnology

CA USA

kpu@khea?https://www.doczj.com/doc/899520839.html,

ABSTRACT

One of the di?culties in maintaining a large software system is the absence of documented business domain topics and correlation between these domain topics and source code. Without such a correlation,people without any prior appli-cation knowledge would?nd it hard to comprehend the func-tionality of the https://www.doczj.com/doc/899520839.html,tent Dirichlet Allocation(LDA), a statistical model,has emerged as a popular technique for discovering topics in large text document corpus.But its ap-plicability in extracting business domain topics from source code has not been explored so far.This paper investigates LDA in the context of comprehending large software systems and proposes a human assisted approach based on LDA for extracting domain topics from source code.This method has been applied on a number of open source and propri-etary systems.Preliminary results indicate that LDA is able to identify some of the domain topics and is a satisfactory starting point for further manual re?nement of topics. Categories and Subject Descriptors

D.2.7[Software Engineering]:Distribution,Maintenance, and Enhancement—Restructuring,reverse engineering,and reengineering;

General terms

Theory,Algorithms,Experimentation

Keywords

Maintenance,Program comprehension,LDA

1.INTRODUCTION

Large legacy software systems often exist in a state of dis-organization with poor or no documentation.Adding new features and?xing bugs in such a system is highly error prone and time consuming since the original authors of the Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for pro?t or commercial advantage and that copies bear this notice and the full citation on the?rst page.To copy otherwise,to republish,to post on servers or to redistribute to lists,requires prior speci?c permission and/or a fee.

ISEC’08,February19-22,2008,Hyderabad,India.

Copyright2008ACM978-1-59593-917-3/08/0002...$5.00.system are generally no longer available.Moreover,the peo-ple maintaining the code-base do not comprehend the func-tional purpose of di?erent program elements(functions,?les, classes,data structures etc.)and the roles they play to ful?ll various functional services o?ered by the system.

When a software system is small,one can understand its functional architecture by manually browsing the source code.For large systems,practitioners often rely on program analysis techniques such as call graph,control and data?ow and slicing[2].Though this is very helpful to understand the structural intricacies of the system,it helps a little to com-prehend the functional intent of the system.The reason is not di?cult to understand.Structural analysis techniques work on the structural information derived from a set of program source code.The structural information is at a very low level of granularity-such as?les,functions,data-structures,variable usage dependencies,function calls and so on.This information hardly reveals any underlying func-tional purpose.For a large system,this information becomes overwhelmingly large for a maintainer to manually derive any functional intent out of it.Moreover,for a system with millions of lines of code,the memory requirement to hold the structural information and perform various analysis of-ten becomes a bottleneck.

An important step to comprehend the functional intent of the system(or the intended functional architecture)is to identify the business topics that exist in the system,around which the high level components(or modules)have been im-plemented.For example consider a large banking applica-tion that deals with customers,bank accounts,credit cards, interest and so on.A maintainer without any application knowledge will?nd it di?cult to add a new interest calcula-tion logic.However,if it is possible to extract the business topics such as“customer”,“interest”from the source code and establish an association between“interest”with vari-ous program elements,it would be of immense help to the maintainer to identify the related functions,?les,classes and data structures and carry out the required changes for inter-est calculation.This in turn can make a novice programmer much more productive in maintaining a system,specially when the software is in the order of millions of lines of code with little documentation.

A plausible technique to identify such topics is to derive semantic information by extracting and analyzing various important“keywords”from the source code text[13].It is often the case that the original authors of the code leave hints to the meaning of program elements in the form of keywords in?les,functions,data type names and so on.For

instance,it is highly common to use keywords like“proxy”,“http”while implementing an http-proxy functionality.Sim-ilarly,for a banking application one would surely like to use a keyword like“interest”in implementing functions,classes and data structures pertaining to interest calculation.

Assuming that the meaningful keywords do exist in pro-gram elements,is it possible to semantically correlate these keywords to meaningful clusters where each meaningful clus-ter of keywords can be interpreted as a“Topic”?For in-stance,is it possible to group all“proxy”related keywords together into one cluster and identify it as“proxy”topic and “authentication”related keywords into another cluster form-ing the“authentication”topic?If this is possible,one can subsequently establish association between the topic“proxy”and various program elements(?les,functions or data struc-tures)pertaining to“proxy”.

This paper addresses the above problem and proposes a human assisted approach based on the Latent Dirichlet Allo-cation(LDA)[7]for identifying topics in source code.LDA has been quite popular in the realm of text document classi-?cation and identifying topics from text documents.To the best of our knowledge,This is the?rst attempt at applying LDA in the context of source code analysis.

The paper is organized as follows:In the next section we provide a brief review of the literature relevant to our work and the necessary background information on LDA.Section 3discusses the applicability of LDA for extracting domain topics from source code and provides an interpretation of the LDA model in the context of source code.A detailed description of extracting domain topics from source code us-ing LDA is presented in section4.We have applied LDA on a number of open source and proprietary systems.Section 5presents the results obtained.Advantages and disadvan-tages of the presented LDA based method and some of the interesting observations made during our experimentation are presented in Section6.Finally,Section7discusses the future research directions and concludes the paper.

2.BACKGROUND AND RELATED WORK

Researchers have long recognized the importance of lin-guistic information such as identi?er names and comments in program comprehension.For instance,Biggersta?et al.

[5]have suggested assignment of domain concepts as an ap-proach to program comprehension.Tonella et al.[8]have proposed function names and signatures to obtain domain speci?c information.Anquetil et al.[3]have suggested that the information obtained from the name of?le often carry the functional intent of the source code speci?ed in the?le. Wilde et al.[24]have also suggested usage of linguistic in-formation to identify the functional intent of the system. Since then,linguistic information has been used in various program analysis and maintenance tasks such as traceabil-ity between external documentation and source code[4,16], feature location1[17,21,25],identifying high level concep-tual clones[15]and so on.

Recently,linguistic information has also been used to iden-tify topics in source code and subsequently used for software clustering[13]and software categorization[11].

Kuhn et al.[13]have used Latent Semantic Analysis(LSA) [9]based approach for identifying topics in source code by 1Feature location is sometimes referred to as concept loca-tion semantically clustering software artifacts such as methods,?les or packages based on identi?er names and comments. Our approach di?ers from that of Kuhn et al.in two ways. Firstly,and most importantly,our interpretation of a“topic”is di?erent from that of Kuhn.Kuhn interprets semanti-cally clustered software artifacts(like methods,?les etc.)as topics whereas we interpret a set of semantically related lin-guistic terms derived from identi?er names and comments as a“topic”.Another important di?erence is in the ap-proach used for semantic clustering.While Kuhn et al.have adopted LSA to cluster a set of meaningful software arti-facts,our approach of clustering linguistic terms is based on the Latent Dirichlet Allocation.

Kawaguchi et al.[11]uses linguistic information in source code for automatically identifying categories and categoriz-ing open source repositories.A cluster of related identi?ers is considered as a“category”.In our case,we consider a cluster of terms derived from identi?ers as a“topic”;thus a topic can certainly be considered synonymous to a“cat-egory”.However,our approach of clustering semantically related identi?er terms di?ers from the approach suggested by Kawaguchi et al.[11].Kawaguchi et al.?rst uses LSA to derive pairwise similarity between the terms and then apply a clustering algorithm to cluster similar terms together.The LDA based approach we have adopted alleviates the need of having two steps.Since LDA is essentially a topic modeling technique,it not only discovers similarity between terms,it also creates a cluster of similar terms to form a topic.

In the rest of this section,we provide a brief description of LDA and its use in extracting topics from text documents.

2.1LDA

Latent Dirichlet Allocation(LDA)[7]is a statistical model, speci?cally a topic model,originally used in the area of nat-ural langauge processing for representing text documents. The basic idea of LDA is that a document can be considered as a mixture of a limited number of topics and each mean-ingful word in the document can be associated with one of these topics.Given a corpus of documents,LDA attempts to discover the following:

?It identi?es a set of topics

?It associates a set of words with a topic

?It de?nes a speci?c mixture of these topics for each

document in the corpus.

LDA has been applied to extract topics from text docu-ments.For instance,Newman et al.[19]applied LDA to de-rive400topics such as“September11attacks”,“Harry Pot-ter”,“Basketball”and“Holidays”from a corpus of330000 New York Times news articles and represent each news arti-cle as a mixture of these topics.LDA has also been applied for identi?cation of topics in a number of di?erent areas.For instance,LDA has been used to?nd scienti?c topics from abstracts of papers published in the proceedings of the na-tional academy of sciences[10].McCallum et al.[18]have proposed LDA to extract topics from social networks and apply it to a collection of250,000Enron emails.A varia-tion on LDA has also been used by Steyvers et al.[22]to analyze160,000abstracts from the“citeseer”computer sci-ence collection.Recently,Zheng et al.[6]have applied LDA to obtain various biological concepts from a protein related corpus.

These applications of LDA seem to indicate that the tech-nique can be e?ective in identifying latent topics and sum-marizing large corpus of text documents.

2.1.1LDA Model

For the sake of completeness,we brie?y introduce the LDA model.A thorough and complete description of the LDA model can be found in[7].The vocabulary for describing the LDA model is as follows:

word A word is a basic unit de?ned to be an item from a vocabulary of size W.

document A document is a sequence of N words denoted by d=(w1,···,w N)where w n is the n th word in the sequence.

corpus A corpus is a collection of M documents denoted by D={d1,···,d M}.

In the statistical natural language processing,it is common to model each document d as a multinomial distributionθ(d) over T topics,and each topic z j,j=1···T as a multino-mial distributionφ(j)over the set of words W.In order to discover the set of topics used and the distribution of these topics in each document in a corpus of documents D,we need to obtain an estimate ofφandθ.Blei et al.[7]have shown that the existing techniques of estimatingφandθare slow to converge and propose a new model-LDA.The LDA based model assumes a prior Dirichlet distribution on θ,thus allowing the estimation ofφwithout requiring the estimation ofθ.

LDA assumes a generative process for creating a document [7]as presented below.

1.choose N~P oisson(ξ):Select the number of words

N

2.θ~Dir(α):Selectθfrom the dirichlet distribution

parameterized byα.

3.For each w n∈w do

(a)Choose a topic z n~Multinomial(θ)

(b)Choose a word w n from p(w n|z n,β),a multino-

mial probabilityφz n

In this model,various distributions namely,the set of top-ics,topic distribution for each of the documents and word probabilities for each of the topics are in general intractable for exact inference[7].Hence a wide variety of approximate algorithms are considered for LDA.These algorithms at-tempt to maximize likelihood of the corpus given the model.

A few algorithms have been proposed for?tting the LDA model to a text corpus such as variational Bayes[7],expec-tation propagation[14],and Gibbs sampling[10].

3.APPLYING LDA TO SOURCE CODE Given that LDA has been successfully applied to large cor-pus of text data(as discussed in Section2.1),it is interest-ing to explore i)how applicable it is in the context of source code ii)how e?ective the technique is in identifying business topics in a large software system.To apply LDA in source code,we consider a software system to be a collection of source code?les and the software system is associated with a set of business domain concepts(or topics).For instance, the Apache web server implements functionality associated with http-proxy,authentication,server,caching and so on. Similarly,a database server like Postgresql implements func-tionality related to storage management.Moreover,there exists a many-many relationship between these topics like authentication,storage management and the source code

?les that implement these topics.Thus a source code?le can be thought of as a mixture of these domain topics. Applying LDA to the source code now reduces to map-ping source code entities of a software system to the LDA model,described in Table1.Given this mapping,applica-LDA Model Source Code Entities

word We de?ne domain speci?c keywords ex-

tracted from names of program elements

such as functions,?les,data structures and

comments to be the vocabulary set with

cardinality V.A word w is an item from

this vocabulary.

document A source code?le becomes a document in

LDA parlance.For our purpose,we repre-

sent a document

f d=(w1,w2,...,w N)

to be a sequence of N domain speci?c key-

words.

corpus The software system

S={f1,f2,...,f M}

having M source code?les forms the cor-

pus.

Table1:Mapping LDA to Source Code

tion of LDA to source code corpus is not di?cult.Given a software system consisting of a set of source code?les,do-main related words are extracted from each of the source code?https://www.doczj.com/doc/899520839.html,ing this,a source code?le-word matrix is con-structed where source code?les form the rows,domain words form the columns and each cell represents the weighted oc-currence of the word,representing the column,in the source code?le representing the row.This source code?le-word matrix is provided as input to LDA.The result of LDA is a set of topics and a distribution of these topics in each source code?le.A topic is a collection of domain words along with the importance of each word to the topic represented as a numeric fraction.

4.IMPLEMENTATION

We have implemented a tool for static analysis of code. Figure1shows a part of this tool that speci?cally deals with topic extraction,topic location identi?cation[5,24],visual-ization of the topic distribution and a modularity analysis based on domain topics.

The main input of LDA based topic extraction is a document-word matrix wd[w,f d]=ηwhereηis a value indicating the importance of the word w in the?le f d.We will shortly describe an approach to computeηbased on the number and the place of occurrences of w in f d.Our current imple-mentation uses the Gibbs sampling method[10]that uses a markov chain monte carlo method to converge to the target

Figure1:Tool Block diagram distributions in an iterative manner.The detailed descrip-tion of this method is not in scope of this paper.

Input Parameters.

Our tool,based on the LDA approach,takes two parame-tersαandβ(as described in Section2.1.1)and creates the distributionφof words over topics and the distributionθof topics over documents.In addition to the parametersαand βthe tool also requires the number of iterations.Recall that LDA de?nes a topic as a probability distribution of over all the terms in the corpus.We have de?ned an user speci?ed cut-o?valueΨwhich is used to discern the most important words for each topic.

4.1Keyword Extraction

In order to create a document-word matrix for LDA,it is extremely important to?nd out meaningful domain related words in the source code.Approaches that apply LDA to linguistic text documents consider each word in the docu-ment for this purpose.However,unlike a plain text docu-ment a source code?le is a structured document and it is de?nitely not appropriate to assume that each word in the ?le would be domain related.Firstly,a large percentage of words in source code?les constitute the programming language syntax,such as for,if,class,return,while and so on.Moreover,domain keywords are often embedded inside identi?er names as subwords and identi?er names need to be split appropriately to extract the relevant subwords. Given this observation we propose the following steps to ex-tract meaningful keywords from source code?les:

1.Fact Extraction.

2.Splitting of identi?ers and comments into keywords.

3.Stemming the keywords into their respective common roots.

4.Filtering of keywords to eliminate keywords that do not indicate any business concept.

Fact Extraction.

Fact extraction is the process of parsing source code doc-uments and extracting meta-data of interest such as?les, functions,function dependencies,data structures etc.We have used source navigator[1]for extracting facts from source code.

Identi?er Splitting.

Splitting of identi?ers into meaningful subwords is essen-tial because unlike a natural language text where each word is independent and can be found in a dictionary,source code identi?er names are generally not independent words but a sequence of meaningful chunks of letters and acronyms delimited by some character or through some naming con-vention.For instance a function named“add auth info”in httpd-2.0.53source code constitutes of three meaning-ful chunks of letters“add”,“auth”and“info”delimited by “”.

The vocabulary we use for such meaningful chunks of let-ters is“keyword”.Each identi?er is split into a set of key-words.In order to perform this splitting it is essential to know how the identi?er names are delimited.There are a number of schemes such as underscore,hyphen,or through capitalization of speci?c letters(camel case)as in”getLoan-Details”.We have implemented a regular expression based identi?er splitting program in Perl.

Stemming.

Generally keywords in source code are used both singu-larly as well as in plural.For example“loan”and“loans”. In our analysis it is not necessary to consider them as two di?erent keywords.Hence we unify all such keywords by stemming them to their common root.Also,It is a common practice[23,12]to stem terms in order to improve the results of analysis.We have used the Porter’s stemming algorithm [20]for stemming all words into a common root. Filtering.

Not all keywords are indicators of topics in the domain. For instance keywords such as“get”and“set”are very generic and a stop-words list is employed to?lter out such terms. 4.2File Keyword Mapping

Having identi?ed a set of unique keywords for a given software system,we now compute the wd matrix.For this purpose,we compute a weighted sum of the number of oc-currences of a word w in a?le f d as follows:

1.We de?ne a heuristic weightage

λ:{lt}→?

that assigns a user-de?ned positive integer to a“location-

type”lt.A“location-type”lt denotes the structural

part of a source code?le such as?le name,function

name,formal parameter names,comment,data-structure name and so on from which a keyword has been ob-

tained.The weightage given to a word obtained from a

function name would be di?erent from a word obtained

from a data structure name.

2.The importance factor wd[w,f d]for a word w occur-

ring in the?le f d is computed by the weighted sum

of the frequency of occurrences of w for each location

type lt i in a source code?le f d.That is,

wd[w,f d]=

X

lt i

λ(lt i)×ν(w,f d,lt i)

whereν(w,f d,lt i)denotes the frequency of occurrence

of the word w in the location type lt i of the source?le

f d.

In order to illustrate the calculation of the importance fac-tor wd consider the following code snippet from the?le Or-derDetails.java.

public class OrderDetails implements java.io.Serializable{ private String orderId;

private String userId;

private String orderDate;

private float orderValue;

private String orderStatus;

public String getOrderStatus(){

return(orderStatus);

}

...

...

}

As discussed in section4.1,identi?er names are split to get meaningful domain words and importance factor calcu-lated for each of the words.One such word that is extracted from the above code snippet is“Order”which occurs in com-ments and names of di?erent type of identi?ers such as in class name,attribute name and method name.These di?er-ent types of sources for words constitute our set of location types lt.Generally,in an object oriented system,classes represent domain objects and their names are more likely

to yield domain words that are important for that class. Hence,λ(class)generally is assigned higher value by do-main experts thanλ(attribute).Let us assume that in this particular exampleλ(class)equals2,λ(attribute)equals1 andλ(method)equals1.The importance factor of the word “Order”in the above code snippet as calculated according

to the formula given above is7.

wd[Order,OrderDetails.java]=2?1+1?4+1?1=7 Similarly,weighted occurrence is calculated for other words such as“details”,“user”and“status”.

4.3Topic labeling

LDA could not satisfactorily derive a human understand-able label for an identi?ed topic.In most of the cases,the terms from which a label can be derived are abbreviations

of business concepts or acronyms.As a result it becomes hard to create a meaningful label for a topic automatically.

In the current version of the tool,identi?ed topics have been labeled manually.

5.CASE STUDIES

We have tested our approach on a number of open source and proprietary systems.In the rest of this section we dis-cuss the results obtained using some of the topics as exam-ples.

5.1Topic Extraction for Apache

We extracted30topics for Apache.For the sake of brevity we list only two topics,namely“SSL”and“Logging”.Table

1(a)lists the top keywords for topic“SSL”and their corre-sponding probability of occurrence when a random keyword

is generated from the topic“SSL”.

Our tool is able to extract not just the domain topics, but also infrastructure-level topics and cross cutting topics. For instance,“logging”is a topic that cuts across?les and modules.Our tool,based on LDA,is able to cluster together all logging related keywords together as shown in table1(b) that lists the top keywords for topic“Logging”and their corresponding probability values.

(a)Topic labeled as SSL

Keyword Probability

ssl0.373722

expr0.042501

init0.033207

engine0.026447

var0.022222

ctx0.023067

ptemp0.017153

mctx0.013773

lookup0.012083

modssl0.011238

ca0.009548

(b)Topic labeled as Logging

Keyword Probability

log0.141733

request.036017

mod0.0311

con?g0.029871

name0.023725

headers0.021266

autoindex0.020037

format0.017578

cmd0.01512

header0.013891

add0.012661

Table2:Sample Topics extracted from Apache source code

5.2Topic Extraction For Petstore

In order to investigate the e?ect of naming on topic ex-traction results we considered Petstore,a J2EE blueprint implementation by Sun Microsystems.Being a reference J2EE implementation,it has followed good java naming con-ventions and a large number of identi?ers have meaningful names.

(a)Topic labeled as Con-

tact Information

Keyword Probability

info0.418520

contact0.295719

email0.050116

address0.040159

family0.040159

given0.036840

telephone0.026884

by0.000332

(b)Topic labeled as Ad-

dress Information

Keyword Probability

address0.398992

street0.105818

city0.055428

code0.055428

country0.055428

zip0.055428

name10.050847

state0.046267

name20.046267

end0.005039

add0.009548

Table3:Sample Topics extracted from petstore source code

As shown in table2(a)we are able to successfully group all“contact information”related terms together.However, what is more signi?cant in this example is that the top key-words“info”,“contact”are meaningful and indicative of the probable name of the topic.For example if we concatenate these two keywords into“info contact”it can be considered as a valid label for the“contact information”topic.

Similarly,even in the case of“address information”topic, shown in table2(b),the concatenation of the top keywords “address”and“street”can be used to label the“address in-formation”topic.It can be observed from the sample topics extracted that good naming convention yields more mean-ingful names thereby simplifying the process of labeling the topics.

5.3Synonymy and Polysemy resolution

One of the key factors in extracting coherent topics and grouping semantically related keywords together is the abil-

ity of the algorithm employed to resolve synonymy-di?erent words having the same meaning.We have observed that our tool is able to satisfactorily resolve synonymy to a good ex-tent since LDA models topics in a?le and words in a topic using multinomial probability distributions.For instance consider the topic labeled as“transaction”in PostgreSQL shown in table5.3.LDA has identi?ed that“transaction”and“xact”are synonymous and grouped them together in a single cluster as shown below.

Keyword Probability

transaction0.149284

namespace090856

commit0.035349

xact0.035349

visible0.029506

current0.029506

abort0.026585

names0.026585

command0.023663

start0.020742

path0.017821

Table4:Transaction and Xact Synonymy resolution by LDA

What’s more interesting is the fact that our tool has been able to resolve polysemy-same words having di?erent mean-ing in source code.A polyseme can appear in multiple do-main topics depending on the context.The reason for our tool to be able to identify polyseme is not di?cult to under-stand.Note that LDA models a topic as a distribution of terms;therefore it is perfectly valid for a term to appear in two topics with di?erent probability values.Furthermore, LDA tries to infer a topic for a given term with the knowl-edge of the context of the word,i.e.the document where the word is appearing.For instance,in Linux-kernel source code we observed that the term“volume”has been used in the context of sound control as well as in the context of?le systems.LDA is able to di?erentiate between these di?erent uses of the term and has grouped the same term in di?erent topics.

6.DISCUSSION

In this section we discuss various factors that impact the results obtained.Subsequently we will discuss bene?ts and limitations of our approach.

6.1Effect of number of Topics

Our approach for topic extraction accepts the number of topics to be extracted as an input from the user.We have observed that varying the number of topics has a signi?-cant impact on polysemy resolution.For instance,consider the example of polysemy resolution of the keyword“volume”in Linux-kernel,discussed in subsection5.3.We have con-ducted our experiment on Linux-kernel source code twice. In both the times we have kept all the parameters,namely α,βthe number of iterations and the cut-o?thresholdΨsame except for the number of topics.In the?rst experiment the number of topics T was set to50and in the second ex-periment T was set to60.In both these experiments,of the total topics extracted two topics were“sound”related topics and one topic for“?le systems”.Table6.1lists the probabil-ities of keyword“volume”in“sound”and“?le systems”topic for both the experiments.

Topic

type

’Volume’probability

for Experiment1

with T=50

’Volume’probability

for Experiment2

with T=60

Sound

topic1

0.0240.032

Sound

topic2

0.0090.009

?le sys-

tems

topic

<0.00020.004

Table5:E?ect of number of topics on polysemy resolution in Linux-kernel

In our experiments we have used a value of the threshold Ψto be0.001for determining whether a keyword belongs to a topic or not.If the probability of a keyword associated with a topic is less than0.001then we do not consider that keyword as indicator of that topic.In view of this,it can be observed from the table6.1that in experiment1the keyword“volume”has a probability of less than0.0002for topic“?le systems”.Hence“volume”is associated with only the two sound related topics and not with the“?le systems”topic.However,in experiment2when the number of topics was increased to60,the probability of“volume”for topic “?le systems”is0.004.This probability is greater than our threshold0.001and hence“volume”is also considered as an indicator for“?le systems”topic apart from the sound related topics.The polysemy in the keyword“volume”is revealed only in the second experiment with60topics. 6.2Discovering optimal number of Topics

The problem of identifying optimal number of topics is

not speci?c to source code alone.Topic extraction from text doc-uments faces a very similar problem.Gri?ths and Steyvers recommend trying di?erent numbers of topics T and suggest using the maximum likelihood method on P(w|T)[10].Ap-plying this technique to extract topics from Linux suggests that the optimal number of topics in the case of Linux is270 as shown in?gure2.

Figure2:Inferring optimum number of topics for Linux

However,automatically inferring the number of topics by maximizing the likelihood is not without problems.

Figure3:log-likelihood graph for our proprietary system

We applied our tool to extract topics for a very large pro-prietary business application having multi-million lines of C code.The number of topics predicted using the likeli-hood method was much larger than what the architects and domain experts of the proprietary system considered reason-able.As shown in?gure3,likelihood peaked at T=600 suggesting that the optimal number of topics for our system was600.However,the architects and domain experts felt that the resonable number of topics to be around100. 6.3Effect ofαandβ

As discussed in section2.1.1,the LDA model accepts two parametersαandβ.αcontrols the division of documents into topics andβcontrols division of topics into words. Larger values ofβyield coarser topics and larger values of αyields coarser distribution of document into topics.Hence the right value ofαandβis needed to derive good quality topics and assignment of topics to documents.

Some of the implementations of LDA estimate these val-ues on-the-?y while other implementations rely on the user to provide appropriate values.In our implementation the values ofαandβneeds to be provided by the user.

6.4Human Intervention

Even though LDA based topic extraction presented in this paper is automatic and unsupervised,we believe that human intervention is necessary in a number of aspects to achieve results of acceptable quality.In this subsection we point out areas of our method which would be helped by human intervention.

Expert delineated Keyword Filtering:.

Both keyword extraction and subsequent?ltering has im-pact on the quality of the results obtained.The vocabulary of source code is much smaller than that of natural language text corpus and hence the e?ect of missing or incorrect terms is much stronger.Also,in the context of keyword extraction from identi?ers in the program,we have observed that not all identi?ers are equally good indicators of the business topics. For this purpose we have introduced the weighing schemeλas described in Section4.2where an expert,for instance,can assign more weight to?le names over say comments in the program.Human intervention can also improve the?ltering of keywords by identifying infrastructure and domain spe-ci?c stop words.For instance“EJB”,“get”,“set”are some of the common keywords which needs to be?ltered out.Number of Topics:.

As discussed in section6.2,the log-likelihood method for estimating the number of topics is not always appropriate and in a number of cases the number of topics is better supplied by domain experts and architects of the system. During our experiments we have observed that one needs to try di?erent number of topics and repeat the topic extraction process to get a set of topics of acceptable quality.

Topic validation and labeling:.

In our experience topic extraction has been an iterative process.Topics extracted initially are evaluated and based on the results keyword extraction and?ltering heuristics are updated and theαandβparameters varied to extract better topics.It is di?cult to automatically evaluate the quality of topics obtained.We needed a domain expert who can manually examine the cluster of terms and check if it truly represents a domain topic.Moreover,when a domain topic has been identi?ed labeling has to be done manually.

7.CONCLUSION AND FUTURE WORK

In this paper we have investigated the applicability of LDA in the context of program comprehension and proposed an approach based on LDA for topic extraction from source code.Experiments on several open source and proprietary systems revealed that our tool is able to satisfactorily ex-tract some of the domain topics but not all.We also made an observation that certain human input is needed in order to improve the quality of topics extracted.

One disadvantage of LDA is that it does not derive any interrelationship between the extracted topics nor identify topics at various level of granularity.As part of our future work we plan to investigate approaches to extract topics at various levels of granularity and identify various relations between them.we also intend to compare other approaches to topics extraction based on LSA to the LDA based ap-proach presented here.Finally,We believe that the pro-posed approach based on LDA for business topic extraction is promising and warrants further research and validation.

8.REFERENCES

[1]Source navigator5.4.1.

https://www.doczj.com/doc/899520839.html,,2003.

[2]P.Anderson and M.Zarins.The codesurfer software

understanding platform.In IWPC,pages147–148.

IEEE Computer Society,2005.

[3]N.Anquetil and T.C.Lethbridge.Recovering

software architecture from the names of source?les.

Journal of Software Maintenance:Research and

Practice,11:201–221,1999.

[4]G.Antoniol,G.Canfora,G.Casazza,A.D.Lucia,

and E.Merlo.Recovering traceability links between

code and documentation.IEEE Transactions in

Software Engineering,28(10):970–983,2002.

[5]T.J.Biggersta?,B.G.Mitbander,and D.Webster.

Program understanding and the concept assignment

https://www.doczj.com/doc/899520839.html,munications of the ACM,37(5):72–83,

May1994.

[6]Z.Bin,M.David,and L.Xinghua.Identifying

biological concepts from a protein-related corpus with

a probabilistic topic model.BMC Bioinformatics,7,

2006.

[7]D.Blei,A.Ng,and https://www.doczj.com/doc/899520839.html,tent dirichlet

allocation.Journal of Machine Learning Research,

3:993–1022,2003.

[8]B.Caprile and P.Tonella.Nomen est omen:

Analyzing the language of function identi?ers.In

Proceedings of the Sixth Working Conference on

Reverse Engineering,1999.

[9]S.Deerwester,S.T.Dumais,G.W.Furnas,and T.K.

Landauer.Indexing by latent semantic analysis.

Journal of the American Society for Information

Science,41:391–407,1990.

[10]T.Gri?ths and M.Steyvers.Finding scienti?c topics.

In Proceedings of the National Academy of Sciences,

pages5228–5235,2004.

[11]S.Kawaguchi,P.K.Garg,M.Matsushita,and

K.Inoue.MUDABlue:An automatic categorization

system for open source repositories.In APSEC,pages 184–193.IEEE Computer Society,2004.

[12]A.Kuhn.Semantic clustering:Making use of

linguistic information to reveal concepts in source

code.Master’s thesis,University of Bern,2006. [13]A.Kuhn,S.Ducasse,and T.G??rba.Semantic

clustering:Identifying topics in source code.IST,

2006.To appear.

[14]https://www.doczj.com/doc/899520839.html,?erty and T.Minka.Expectation-propagation for

the generative aspect model.In Proceedings of the

18th Conference on Uncertainty in Arti?cial

Intelligence,2002.

[15]A.Marcus and J.I.Maletic.Identi?cation of high-level

concept clones in source code.In Proceedings of the

16th International Conference on Automated Software Engineering(ASE2001),pages107–114,Nov.2001. [16]A.Marcus and J.I.Maletic.Recovering

documentation-to-source-code traceability links using

latent semantic indexing.In International Conference on Software Engineering,pages125–134.IEEE

Computer Society Press,may2003.[17]A.Marcus,A.Sergeyev,V.Rajlich,and J.Maletic.

An information retrieval approach to concept location in source code.In Proceedings of the11th Working

Conference on Reverse Engineering(WCRE2004),

pages214–223,Nov.2004.

[18]A.McCallum,A.Corrada-Emmanuel,and X.Wang.

Topic and role discovery in social networks.In L.P.

Kaelbling and A.Sa?otti,editors,IJCAI,pages

786–791.Professional Book Center,2005.

[19]D.Newman,C.Chemudugunta,P.Smyth,and

M.Steyvers.Analyzing entities and topics in news

articles using statistical topic models.In Lecture Notes on Computer Science.Springer-Verlag,2006.

[20]M.F.Porter.An algorithm for su?x stripping.

Morgan Kaufmann Publishers Inc.,San Francisco,

CA,USA,1997.

[21]D.Poshyvanyk and https://www.doczj.com/doc/899520839.html,bining formal

concept analysis with information retrieval for concept location in source code.In ICPC,pages37–48.IEEE

Computer Society,2007.

[22]M.Steyvers,P.Smyth,M.Rosen-Zvi,and T.L.

Gri?ths.Probabilistic author-topic models for

information discovery.In W.Kim,R.Kohavi,

J.Gehrke,and W.DuMouchel,editors,KDD,pages

306–315.ACM,2004.

[23]S.Ugurel,R.Krovetz,C.L.Giles,D.M.Pennock,

E.J.Glover,and H.Zha.What’s the code?automatic

classi?cation of source code archives.In Proceedings of the eigth ACM SIGKDD international conference on

Knowledge discovery and data mining,pages632–638, 2002.

[24]N.Wilde,M.Buckellew,H.Page,V.Rajlich,and

L.Pounds.A comparison of methods for locating

features in legacy software.Journal of Systems and

Software,65(2):105–114,2003.

[25]W.Zhao,L.Zhang,Y.Liu,J.Sun,and F.Yang.

Snia?:Towards a static noninteractive approach to

feature location.ACM Transactions on Software

Engineering and Methodology,15(2):195–226,April

2006.

企业该如何有效的利用百科平台来做推广

企业该如何有效的利用百科平台来做推广 随着互联网的普及,企业利用互联网做营销也在不断的上升中,很多中小企业看着互联网在不断的发展和成长,面对这一强势对于企业来说都是一块美味的奶油蛋糕,所以很多企业都在利用互联网这一优势做营销。然而企业想做好营销,前提则是做好企业的产品、网站、服务等信息的推广,对于推广方法来说每种方法都有独特的价值,对企业可以带来独特的营销推广。从数据上来看,当前很多企业都在利用百科平台来做推广,可想而知百科平台也是不错的推广平台,不然企业也不会这么的重视百科。 现在很多企业都在利用百科平台做推广,其实说白了就是一建立词条的形式进行宣传,从而为企业达到提升品牌和知名度以及企业的形象,大部分企业都认为百科的内容是很有权威度,用户也很相信百科上的内容,所以大力投入百科推广中。目前最主流的百科有百度百科、互动百科、腾讯百科、维基百科等,其中百度百科是市场上占有率最高的。 笔者认为,如果企业可以有效的利用百科并且长期坚持下去,相信在不久的将来会快速提升企业的权威性以及企业的形象。当然了,企业想要做好百科平台必须要先学会创建百科,其实百科推广是很简单的,要记住两点,第一是建立新的的词条、第二是编辑已有的词条,企业常用的则是建立新的词条,不过想通过审核并不容易。那么,笔者拿百度百科做说明,跟大家交流一下笔者的经验心得吧。

一、巧用百度百科的编辑助手 首先,巧用百度百科的编辑助手。理论上来说,企业创建的词条内容越专业那么通过率就越高,很多推广人员在编辑词条的时候都想创建一个高质量的词条,但始终无法实现,因此为此头疼。其实不必担心,推广员要擅长使用编辑助手,这款编辑助手是百度为我们提供的,而且这款功能是非常强大的,可以有效的辅助企业推广人员编辑词条,掌握编辑助手的方法也很简单,进入编辑页面后点击导航中的编辑助手即可,然后找到适合我们的分类。 例如:笔者现在要为企业编辑词条,笔者通过编辑助手去编辑,首先笔者打开百度百科进入创建词条页面之后再点击导航中的编辑助手,进入到目录模版,然后笔者根据企业要编辑的词条找到最适合的分类,然后笔者参考系统给出目录模版与示例词条进行编辑。 二、词条内容要有可读性不要有广告信息 其次,词条内容要有可读性不要有广告信息。不得不说百度的产品是最鄙视有广告的信息,百科也是一样,所以笔者特地强调一下不要带广告信息,在编辑的时候要多写一些有可读性的内容,而且词条的文字要具有一定的专业性,让用户看到内容之后觉得内容充满可读性,笔者的建议则是尽量制作一些知识型性的内容信息,一般企业名称、人名、产品名称都是比较好编辑的。一定要把词条做出价值来,不要胡编乱造不然不会通过的。

记事本、EXCEL在MAPSOURCE和MAPGIS数据转换中的应用

记事本、Excel在Mapsource和Mapgis数据转换中的应用探讨 宋丙剑1张艳军2 (1、武警黄金第三支队,黑龙江哈尔滨1500692、中国冶金地质总局第三地质勘查院, 山西太原030002) 摘要:Mapsource和Mapgis是目前地质工作中较为实用的软件,笔者利用记事本、EXCEL成功地完成了向MAPSOURCE批量输入航点坐标,实现了M apsource和Mapgis间数据转换,拓展了记事本、EXCEL、Mapsource、Mapgis在地质工作中的应用空间,极大方便了地质人员野外,减少人为误差,提高了工作效率。 关键词:Excel Mapsource Mapgis记事本数据转换 Mapsource和Mapgis是目前地质工作中较为实用的两种应用软件,但其数据格式转换各不相同,一些专业人士主要是利用一些小软件进行数据转换,但大数地质工作者却因无法得到或不会使用这种软件而苦恼。笔者成功利用记事本、EXCEL2003完成了Mapsource6.5和Mapgis6.5之间的数据转换,减去了不会编程的苦恼。 下面以1:1万土壤测量(已知测线方位30°,测点间距20米,测线长3000米,测线起始点100/100横坐标314053.00,纵坐标5662125.00)为例,详细介绍EXCEL在与Mapsource和MAPGIS间数据转换的过程及方法。 1、Excel和Mapsource数据转换 1.1数据准备 1.1.1EXCEL数据准备 1.1.1.1测点经纬度坐标生成 打开EXCEL程序,建立土壤测量测点坐标生成器.xls,在表格第1、2行输入如图1数据,在E3单元格输入公式[1]=E$2+G3*COS(30*PI()/180),在F3单元格输入公式=F$2+G3*SIN(30*PI()/180),利用EXCEL序列功能可生成如下表格(其中点号从100至150,表格数据共151列),也就是由给定的100点坐标(314053.00,5662125.00),可依次自动生成100线102点至150点150个测点的公里网坐标(图 1)。 图1公里网坐标生成 利用相关坐标转换软件(本文采用中海达公司Coord4.0坐标转换软件[2])将图1中E2-E152、F2-F152列公里网坐标转换为经纬度坐标(图2),具体方法这里不作介绍。如已知经纬度坐标,此步骤可以省略。

互联网思维成就现代企业

今天看一个产业有没有潜力,就看它离互联网有多远。能够真正用互联网思维重构的企业,才可能真正赢得未来。本文中雕爷牛腩、三只松鼠、小米成功的案例,通过详细的剖析,总结了实现互联网思维的九大法则,是目前为止关于用互联网思维改变行业最全面的一个总结。值得一读。 课前秀:三个段子 第一个段子:一个毫无餐饮行业经验的人开了一家餐馆,仅两个月时间,就实现了所在商场餐厅坪效第一名;VC投资6000万,估值4亿元人民币,这家餐厅是雕爷牛腩。 只有12道菜,花了500万元买断香港食神戴龙牛腩配方;每双筷子都是定制、全新的,吃完饭还可以带回家;老板每天花大量时间盯着针对菜品和服务不满的声音;开业前烧掉1000万搞了半年封测,期间邀请各路明星、达人、微博大号们免费试吃…… 雕爷牛腩为什么这样安排?背后的逻辑是什么? 我们再看第二个段子:这是一个淘品牌,2012年6月在天猫上线,65天后成为中国网络坚果销售第一;2012年“双十一”创造了日销售766万的奇迹,名列中国电商食品类第一名;2013年1月单月销售额超过2200万;至今一年多时间,累计销售过亿,并再次获得IDG 公司600万美元投资。这个品牌是三只松鼠。 三只松鼠带有品牌卡通形象的包裹、开箱器、快递大哥寄语、坚果包装袋、封口夹、垃圾袋、传递品牌理念的微杂志、卡通钥匙链,还有湿巾。 一个淘品牌,为什么要煞费苦心地做这些呢? 再看第三个段子:这是一家创业仅三年的企业。2011年销售额5亿元;2012年,销售额达到126亿元;2013上半年销售额达到132.7亿元,预计全年销售可能突破300亿元;在新一轮融资中,估值达100亿美元,位列国内互联网公司第四名。 这家企业是小米。雷军说,参与感是小米成功的最大秘密。怎样理解参与感? 这三个企业虽然分属不同的行业,但又惊人地相似,我们都称之为互联网品牌。 它们背后的互联网思维到底是什么? 互联网思维“独孤九剑” 我给互联网思维下了个定义:在(移动)互联网、大数据、云计算等科技不断发展的背景下,对市场、对用户、对产品、对企业价值链乃至对整个商业生态的进行重新审视的思考方式。 “独孤九剑”是华山派剑宗风清扬的武林绝学,强调“无招胜有招”,重在剑意,与互联网思维有异曲同工之妙。也意味着互联网思维将像“独孤九剑”破解天下各派武功一样,去重塑及颠覆各类传统行业。 我讲一下我所理解的互联网思维体系。 1、用户思维 “独孤九剑”第一招是总诀式,第一招学不会,后面的招数就很难领悟。互联网思维也一样。互联网思维,第一个,也是最重要的,就是用户思维。用户思维,是指在价值链各个环节中都要“以用户为中心”去考虑问题。 作为厂商,必须从整个价值链的各个环节,建立起“以用户为中心”的企业文化,只有深度理解用户才能生存。没有认同,就没有合同。 这里面有几个法则 法则1:得“屌丝”者得天下。 成功的互联网产品多抓住了“屌丝群体”、“草根一族”的需求。这是一个人人自称“屌丝”而骨子里认为自己是“高富帅”和“白富美”的时代。当你的产品不能让用户成为产品的一部分,不能和他们连接在一起,你的产品必然是失败的。QQ、百度、淘宝、微信、YY、小米,无一不是携“屌丝”以成霸业。

社会企业的定义 - Isabelle 20101221

社会企业的定义 根据维基百科的定义,社会企业家指的是那些认识到社会问题,并通过运用企业家精神以及各种方法来组织、创造、管理一个企业,以达到改变社会最终目的的人。当一般的企业家以利润来评估经营成效时,社会企业家则以造成的社会变化作为经营的成效评估基础。大部分的社会企业家都在非营利组织或是社区组织工作,但是也有许多在私人机构或是政府工作。在某些比较小的国家或是政府,社会企业所扮演的社会角色正足以弥补政府之不足;而在其他国家,社会企业家倾向与其他组织以及政府单位一起合作。 1996年,欧洲委员会成立了社会企业网络(EMES),EMES 网络设定了有关“社会企业”的社会指标,它们是: 1.由一群公民首创; 2.权力不是以资本所有权为基础; 3.牵涉到受活动影响的人们的参与; 4.有限的利润分配; 5.以及施惠于社区的清楚目标(EMES,1996)。 这些指标实际上对社会企业的特征进行了清晰的描述。 美国的社会企业服务机构Virtue Ventures LLC创立者和负责人Kim Alter(2007)年对社会企业的综合特征从九个方面进行归纳: 1.运用商业手段和方法达到社会目标; 2.融合社会和商业的资本和管理方法; 3.创造社会和经济价值; 4.从商业活动中获得收益来支持社会项目; 5.由市场驱动同时由使命引导; 6.同时衡量财务绩效和社会影响; 7.在提供公共产品的过程中满足经济目标; 8.从无约束收入中享受财务上的自由; 9.在达成使命的过程中融入商业战略。 阿育王(Ashoka)对社会企业家的定义反映了其对这种领袖人物的期望,该组织认为社会企业家是能够运用创造性方法来解决社会最紧迫问题的个人。这些社会企业家在解决社会问题时具有雄心壮志以及持久的毅力,并能为更广范围内的变革提供新的想法。斯科尔基金会(Skoll Foundation)认为社会企业家是社会变革的行动者,是能够为人类带来福利的改革倡导者。 Roberts 基金会(New Social Entrepreneur)对社会企业家的定义是用“赚取收入的策略来追求社会目标”的人,并认为在美国政治、经济和社会领域中,出现了一种结合公共部门、私有部门和非营利部门的“社会目的企业部门”(Social Purpose Business Sector),它是社会企业家的聚集地,他们所推动的每一件事,都是具有“社会目的和财务上自我满足的期待”。 美国的非营利组织国家社会企业家中心(The National Center for Social Entrepreneurs)以社会企业家精神作为非营利组织处理和市场相关事务的策略,它结合公共服务的热情及企业化的途径来应对市场,使非营利组织在做好事(任务)和成本(经费)间找到平衡。

MapSource安装手把手图文教程

二、安装MapSource 去网站 https://www.doczj.com/doc/899520839.html,/Service/dchannel.aspx?moduleid=194&pname=%c5%e4%cc%d7%c8 %ed%bc%fe%cf%c2%d4%d8 下载MapSource的基本版安装。安装完再下载MapSource6.9升级软件安装,安装完成后重启电脑!! 再将下载的MapSource6156解压,在文件上点击鼠标右键,点选“解压到MapSource6156”;再双击SETUP 升级安装。 MapSource安装结束后会在C分区的根目录下生成两个文件夹,MapSource文件夹是MapSource的程序文件夹,Garmin文件夹用于存放MapSource今后将会使用到的地图文件和用户数据等,如图: 安装后生成文件夹.jpg (大小:32.7 K 下载次数:12) 三、安装地图,我这里使用的是官方7.01OF的中文地图。 1、在C分区Garmin文件夹中新建一个文件夹,比如命名为“Maps”,如图:

新建一个文件夹.jpg (大小:26.6 K 下载次数:8) 2、运行Gmaptool,点击“Add Files”加载官方地图文件,注意加载的是两个文件,如果不加载Gmapbmap.img将会在比例大于30Km时无法正常显示,如图所示:

add files.jpg (大小:35 K 下载次数:16) 点击“Split”,在“Directory”处选择地图输出文件夹“C:\Garmin\Maps”,然后一定要点击“Split all”,如图所示:

split.jpg (大小:32.2 K 下载次数:7) 待地图Split完毕后就可以关闭Gmaptool了。

网络流行语“很X很XX”的语言学解读(定稿)(2)

编号:10001121207 南阳师范学院20 12 届毕业生 毕业论文(设计) 题目:网络流行语“很X很XX”的语言学解读 完成人:黄叶文 班级:2010-12 学制:2年 专业:汉语言文学 指导教师:张春雷 完成日期:2012-03-30

目录 摘要 (1) 一、“很X很XX”流行语的出现及形成原因 (1) (一)产生及发展 (1) (二)形成原因 (2) 二、“很X很XX”的语言学解读 (3) (一)语音特点 (3) (二)语义特点 (3) (三)语法特点 (4) (四)语用分析 (7) (五)“很X很XX”模式的构形理据——能产性理论 (8) 三、“很X很XX”的使用情况 (8) (一)广告中对于产品的宣传 (8) (二)评价社会热点 (9) (三)在标题中运用 (9) 四、“很X很XX”的流行原因 (10) (一)客观原因 (10) (二)主观原因 (11) 1.心理因素 (11) 2.社会共知基础 (12) 五、看待态度及发展前景 (12) 结语 (13) 参考文献 (14) Abstact (14)

网络流行语“很X很XX”的语言学解读 作者:黄叶文 指导教师:张春雷 摘要:在目前的网络流行语中,“很X很XX”这种新兴的语言组合格式从2007年出现以来在很短的时间内便迅速流行。本文从形成原因、分类及其句法结构、语义特征、流行成因等四个方面,对“很X很XX”’式流行语进行深入探讨。重点阐述了它的构形理据——能产性理论,并在分析其使用情况的基础上,从客观和主观两个方面对其流行原因进行探析,并指出对待网络流行语的态度及其发展前景。 关键词:“很X很XX”; 网络流行语; 语言学阐释 进入21 世纪,互联网技术越来越普及,网络也开始成为语言的一个新的载体,载体的变化促生了社会语言的新变体——网络语言。在“很+名词”被广泛接受的基础上,“很好很强大”式流行语从一出现便引起了大众的兴趣,并且几乎是在一夜之间便在网络上迅速流行。无论是网络,报纸,还是电视媒体,随处可见它们的身影。从语法的角度来看,程度副词是不能修饰名词的,那么,这类流行语为什么能流行开来?其原因是什么?又具有怎样的结构类型?本文将对它们做一初步的探讨。 一、“很X很XX”流行语的出现及形成原因 (一)产生及发展 “很X很XX”流行语最初产生于人们日常生活的口语,因网络流行事件传播开来。 原初版“很好很强大”来源于对某网络游戏代理商的一次采访,代理商就记者的某些问题解释道“很好很强大”,从此“很好很强大”开始流行。随后,一些官方人士也在正式场合使用这个句式。国务院新闻办网络新闻局副局长彭波在《中国互联网视听节目服务自律公约》签署仪式上说了这样一句话:“明天中国的互联网,一定会很美很绿色、

论文-宋化雷-Mapsource在系统工程施工中的应用

论Mapsource在系统工程施工中的应用 大庆油田工程建设有限公司安装公司 2013年1月

论Mapsource 在系统工程施工中的应用 大庆油田工程建设有限公司安装公司第十四项目部 宋化雷 杨凯 摘要:塔木察格油田地处蒙古国东方省,油田区域人烟稀少,全部为草原,无固定建筑物可供参照定位,在项目施工中建筑物定位、油水井定位、管道长度测量等必须依托GPS 设备,随着GPS 在工程建设中的普及,而GPS 的数据整理的软件Mapsource 在站外系统施工中应用显得异常重要,本文根据笔者在塔木察格工作中软件应用经验,通过分析、整理,简述了Mapsource 软件在站外系统施工中的主要应用。 关键字:Mapsource ;站外系统;施工;应用 0、前言 Mapsource 是对Garmin GPS 数据进行存储,管理,编辑,应用的一个软件,Mapsource 存储数据的文件一般是后缀名为gdb 的数据库类型。存储的内容主要包括航点,航迹,航线。 在以往的油水井系统工程施工过程中,一般需经过实地踏勘、测量、放线、扫线等多道工序,最终确定单井位置、管网路由,管线长度,为施工技术管理提供基础数据和资料。笔者在近三年的塔木察格项目系统工程施工过程中,利用Mapsource 软件对整个系统工程的数据进行综合处理,通过计算机中的模拟,对系统工程施工组织需要的所有基础数据和资料准确无误地进行整理,并指导现场施工。 1、Mapsource 界面介绍 图2-1 Mapsource 界面 Mapsource 界面主要有菜单栏(1)、工具栏(2)、数据选项卡(3)、图形地图(4)、状态栏(5)等几部分组成,其基本操作与其他软件的基本相同,具有 ① ② ③ ④ ⑤

企业维基很好很强大

企业维基很好很强大 许多IT部门都在运用维基方式处理从技术培训到项目管理的各种工作。 意大利国家电力公司(Enel)北美分公司的信息与通信技术经理Ernest Kayinamura与另一名IT经理积极采用维基(Wiki)方式,以便最终用户更容易获取各种IT材料。这是为什么?因为只有他们两个人服务全部北美的众多用户,既然维基能够减轻他们的工作负担,Kayinamura何乐而不为? 其实这并不是什么个案,如今越来越多企业内的技术部门借助维基这种便于管理、开销又低的Web 2.0方式,以促进工作小组内部或不同部门之间的沟通。 早在1994年,就出现了第一个维基体系―WikiWikiWeb,设计者当初的设想是“维基成为切实可行的―最简单的联机数据库。” 15年过后,这个概念正深入越来越多的企业内部。业内人士表示,与免费使用的公共维基相比,企业内部的维基往往有着更多层次的结构,采用比较严格的版权管理政策确保对企业知识产权的访问,从而达到支持特定组织或部门的目标。

那些企业维基的支持者们表示,与电子邮件和较复杂的知识管理系统相比,企业维基提供了一种更简单、更自然的方式来共享信息、促进合作,完成集体任务。 减轻IT部门负担 Enel北美公司最早是在2005年启动的维基试点项目,最初他们是利用维基作为管理数据库应用开发的中心。目前它已成为一个成熟的内容管理平台,该平台让该公司的260名最终用户可以通过自助服务获取IT信息,而这些信息之前由Kayinamura领导的二人小组通过电子邮件或通过内部网络来分发。“工作量非常大。”Kayinamura说。 现在,Kayinamura的二人IT小组在使用Traction Software公司的TeamPage企业维基程序,它可以通过维基向最终用户提供各种信息,包括培训材料、计算机和手机使用政策、行业背景资料以及各种软件说明文档。 Enel在北美拥有及经营可再生能源项目,Kayinamura表示: “我们需要提供尽量多的自助服务参考材料,减轻IT部门的负担。我们为维基添加了许多资料,例如电子邮件摘要功能可以提醒员工注意任何新迈发布的内容。要是使用传统网页通知,员工去查看以往的邮件很不方便。” Kayinamura领导的IT小组还利用该平台作为放置关键

ARCMAP操作手册.com

空间数据组织与管理实习总结 教师:田永中 刘光鹏整理 实习一A r c G I S的基本知识 一、ArcGIS的体系结构 ArcMap、ArcCatalog、ArcToolbox ArcInfoArc、Editor、ArcView WorkStation 二、ArcGIS的基本操作 1、打开(新建)地图 2、数据加载 3、数据显示与地图布局 4、数据输出 实习二空间数据的表达 一、目的:初步熟悉空间数据的矢量和栅格表达 1、矢量(点、线、面) 2、栅格 二、实习要求 1、在ArcGIS中,分别将point1、polyline1、polygon1按分辨率41、42=16、43=64转换成栅格文件; 2、分别将以上生成的栅格文件按缺损值转换成点、线、多边形的矢量文件; 3、将新生成的矢量文件与分别与point1、polyline1、polygon1进行比较,分析它们之间的差异,并总其规律,写一简要报告。

实习三A r c G I S中数据的表示 一、ArcGIS的数据文件 1、矢量:shapefile、coverage 2、栅格:grid、tif、jpg 3、Geodatabase 二、ArcGIS中查看数据 1、空间数据 2、属性表 实习四栅格像元的不同编码方法及误差比较 一、对土地利用数据按主要类型法进行栅格编码 操作步骤: 1、在Arctoolbox中,打开polygon to grid工具对话框 2、输入土地利用的矢量数据,分别按100米、500米、1000米的分辨率进行栅格转换,转换所采用的字段为ld500227-ID。 3、将三个栅格文件的属性表输出为.dbf文件,并用Excel打开 二、对土地利用数据按像元中心法进行栅格编码 操作步骤: 1、在Arctoolbox中,打开overlay的identity工具对话框 2、Input coverage分别输入point100、point500、point1000 ,identity coverage 输入lad500227矢量文件,其它采用默认值,点击ok. 3、在Arctoolbox中,打开point to grid工具对话框 4、分别将上一步生成的三个点文件按100米、500米、1000米的分辨率进行栅格转换,转换所采用的字段为ld500227-ID

企业管理书籍推荐大全

管理,领导力,书籍推荐大全。 *【Ch.1:管理】 1. 弗雷德里克·温斯洛·泰勒著,《科学管理的基本原理》,1911年出版,2007年由NuVision出版社再版。这本小册子从纯粹历史的角度帮你了解管理学研究的早期情况。很有意思的读物。 2. 彼得·德鲁克著,《管理学》,19973年出版,2008年由哈伯·柯林斯出版集团修订再版。通过此书你可以知道管理大师德鲁克的洞见经久不衰的个中缘由。它很厚,超过500页,读起来也不是很轻松,但你可以从中找到许多后继管理大师“新”观点、“新”发现的源头。 3. 华伦·本尼斯著,《怎样成为领导者》,1989年出版,2003年由美国基本书局修订再版。本尼斯是最早对领导力进行研究的学者之一,至今仍是最棒的研究者、作家之一。 4. 保罗·奥斯特曼著,《中层管理的真相》,哈佛商学院出版社2009年版。奥斯特曼认为,自己的商业研究同行只专注于研究大公司的CEO们面临的挑战,而这部分人其实只占管理者群体的极小部分。对此,他在本书中给出了自己的观点——研究中层管理者。 5. 史考特·亚当斯著,《随机管理:呆伯特漫画书》,安德鲁麦克米尔出版公司2000年版。呆伯特系列是所有管理者的必读书,它以搞笑的方式告诉你作为一名经理,什么是管理的禁地。 *【Ch.2:领导力】 1. 吉姆·柯林斯著,《从优秀到卓越》,哈伯·柯林斯出版集团2001年版。一部商学经典著作,它分析了能够存续下来且表现良好的公司的共同特征。 2. 丹尼尔·高曼著,《打造新的领导者》,哈佛商学院出版社2002年版。高曼在本书中普及了“情商”的概念,帮助从商者理解,到底怎样做才能有效地激励他人。 3. 詹姆斯·麦克格雷格·伯恩斯著,《领导力》,哈伯·柯林斯出版集团1978年版。这是一本讲述领导力的经典著作,很值得一读。 4. 杰弗里·索南菲尔德著,《东山再起:卓越的领导者在事业危机之后如何触底反弹》,哈佛商学院出版社2007年版。本书回顾了一些成就非凡的领导者如何从岌岌可危的事业困境中挣脱并恢复过来。 *【Ch.3:激励】 1. 道格拉斯·麦格雷戈著,《企业的人性面》,1961年出版,麦格劳·希

60csx及mapsource新手快速入门指南

60csx及mapsource新手快速入门指南 首先说明,我自己也是新手。09年11月才拿到60csx,因为积分不够至今仍未刷机,是彻头彻尾的新人。幸运的是,熊坛给我提供了一个非常好的学习、交流的平台。经过一个多月的泡坛学习,俺几乎翻遍了garmin区的每一个帖子,受益匪浅。在翻阅帖子的过程中,俺发现很多新手有一个共同特点,就是希望能在一个帖子里解决所有问题。这当然不太现实。但是我理解他们的心情。俗话讲“万事开头难”,作为一个新手,我对此也是深有感受。于是俺突然有个想法:也许可以有这么一个帖子,能通过作者自己的理解体会,把论坛前人宝贵但是零散的资料整合在一起,给新人提供一些入门常识和常见问题的快速指南。鉴于自己也是新手,且引用大量前人的研究成果,故本帖不敢称为“教程”,仅作浅显的指南;本帖内容基于自身浅薄的理解,文体上属于想到哪里写到哪里,难免存在错误,请大家多多批评指正,争取将此帖不断修正完善。 本帖目前主要讨论下面几个话题: 一、60csx的固件及其升级 二、garmin地图的基本常识 三、mapsource及常用地图工具使用入门 一、60csx的固件及其升级 60csx在全球不同地区销售,有不同的固件版本,这些版本主要是语言的区别。在大陆区域,因为合纵思壮的垄断,大家手头机器的来源主要是美国版本,包括我自己的这台也是。英文的机器和拼音地图毕竟不符合大多数人的使用习惯,于是大家开始设法把英文机器通过刷固件改成中文机器。这里面有两种结果:刷成繁体中文,或者刷成简体中文。 1、刷繁体中文 刷繁体中文就目前来说相对比较简单,基本思路是: 到garmin台湾网站下载一个繁体固件: https://www.doczj.com/doc/899520839.html,/products/GPSMAP60CSx_TWN/download.html 解开后得到一个升级程序和一个固件文件。将固件文件的文件名改成比你机器当前英文固件的版本高一点。比如你机器当前的英文固件版本是4.00,那你就把繁体固件改名成029*********.rgn,注意文件名的后三位代表固件版本,前几位代表不同区域。然后运行繁体固件升级程序就可以刷成繁体中文。不会看机器当前版本? 查看GPS版本,其步驟如下: 開機後,連按(目錄鍵)2次,直到畫面轉換至(主目錄頁)。 移動游標至(設定),畫面就會切換至(基本設定頁)。 在(基本設定頁)下,移動游標至(系統),再按壓(輸入)鍵,即會進入(系統設定頁)。 在(系統設定頁)下,按壓(目錄鍵)即會出現選項。 移動游標選擇(軟體版本),按輸入鍵後,即會顯示本機台之電子序號及目前的軟體版本。

专家黄页与维基知识库

专家黄页 每个企业都有一批骨干员工队伍,这些员工拥有专业的技能和技术,具备非常丰富的行业经验,大多处在公司的关键岗位上,为企业各部门开展业务所必需的人才。作为企业各个领域的专家,是企业实现业务目标的核心力量。(蓝凌软件总结) 目前大多数企业的专家级员工都在做一些重复性的工作,他们拥有的知识没有流动起来,得不到有效的传承和复制。企业对各领域的专家缺少统一的管理机制,每位专家的经验和知识对于大众员工来说是隐藏的,这直接影响企业解决问题的效率,也难以发挥出专家的优势。因此企业需要解决以下问题: 如何放大企业专家员工价值,使其经验知识得到有效的传递,培养出更多的专家? 如何梳理出企业专家队伍,使员工能够快速求助并获取问题的解决方案,提高工作效率? 通过构建企业的专家网络系统,实现对企业内部专家的规范化管理,形成统一的员工专家团队,透过系统的互动交流机制,充分挖掘他们隐性的经验知识,并沉淀下来。从企业的角度,沉淀了宝贵的知识资产,减少骨干员工的流失对企业的影响;从企业专家的角度,能够大大减少他们的重复性工作,并放大他们的工作价值;从企业员工的角度,提高了工作效率,并为他们提供了学习和成长的机会。 专家网络系统以专家管理为核心,通过和知识问答、组织架构的有效对接,实现员工、专家、知识的互动,主要包括以下功能: 专家管理:支持专家分类的配置、添加专家、专家资料的维护等功能; 专家查询:通过人性化的查询和展示方式,轻松获取专家信息及专家分享的知识; 专家排名:帮助企业了解各专家的贡献情况; 向专家提问:在门户主页,或专家主页中,都可以向专家直接发起提问。 维基知识库 企业内部的某部分知识,除知识分类体系以外,对于知识本体,也希望能按照一定的结构来编写及阅读,以便提高知识间的参考价值,例如对于案例的编写,用相同的模板编写同一类案例的参考价值要远远高于五花八门的模板来编写同一类案例。相同的知识结构,同时也能提升知识查找速度。

手把手教你安装MapSource

手把手教你安装MapSource 手把手教你安装MapSource mapsource是对Garmin GPS数据进行存储、管理、编辑和应用的一个软件,其存储数据的文件一般是后缀名为gdb的数据库文件,存储的内容主要包括航点、航迹和航线。本篇中,将用详细图文来教你如何安装mapsource,你只需跟着步骤操作就可以了哦。 一、所需软件准备:①Mapsource(6.15.6) https://www.doczj.com/doc/899520839.html,/support/download_details.jsp?id=209 ②GARMIN MAP(V7.01CHN OF) https://www.doczj.com/doc/899520839.html,/zh-cn/files/3346d94f-fd75-11dd-a7b9-0019d11a795f/ ③ Gmaptool(v0.4.0) http://www.**.com/dispbbs.asp?boardid=43&;Id=136003&page=3 ④cGPSmapper(V0.96) https://www.doczj.com/doc/899520839.html,/download/cgpsmapperFree.zip ⑤GARMIN UNLOCKER http://www.**.com/dispbbs.asp?BoardID=43&;ID=135571&replyID=&skin=1 二、安装MapSource 6.15.6:首先将下载的MapSource6156解压,在文件上点击鼠标右键,点选“解压到MapSource6156”;双击文件“MSMAIN.msi”运行安装,如图:MapSource安装结束后会在C分区的根目录下生成两个文件夹,MapSource文件夹是MapSource的程序文件夹,Garmin文件夹用于存放MapSource今后将会使用到的地图文件和用户数据等 三、安装地图,我这里使用的是官方7.01OF的中文地图。1、在C分区Garmin文件夹中新建一个文件夹,比如命名为“Maps" 2、运行Gmaptool,点击“Add Files”加载官方地图文件,注意加载的是两个文件,如果不加载Gmapbmap.img将会在比例大30Km时无法正常显示, 点击“Info”记录下25位解锁码,可用“Ctrl+C”复制后粘贴到一文本文件中待用;记录好25位解锁码之后就可以Split地图了,点击“Split”,在“Directory”处选择地图输出文件夹“C:\Garmin\Maps”,然后一定要点击“Split all” 待地图Split完毕后就可以关闭Gmaptool了。 3、安装地图,将cGPSmapper解压后的所有文件复制到“C:\Garmin\Maps”,并在 “C:\Garmin\Maps”文件夹中运行“install.bat”,至此地图就安装完毕了,MapSource也可以使用了。 四、解锁地图:1、运行MapSource,程序会提示你使用的地图产品被锁定,需要输入25位的产品码。点击“实用程序”中的“地图产品管理”,在“解锁区域”中点击“添加”,输入刚才得到的25位产品解锁码。2、将Garminunlocker.exe文件复制到“C:\Garmin\Maps”文件夹之中,点击桌面“开始”----“运行”----输入“cmd”,在命令行方式中输入:cd\garmin\maps 回车后再输入:garminunlocker.exe all,之后按屏幕提示操作。再运行MapSource,进入地图产品管理中查看,地图已经是”不可锁定“状态了。至此MapSource全部安装完毕。

企业使用社交媒体呈四大特征.

现在,许多企业都在注册Twitter或是Facebook帐号,下一步就是对社交媒体工具进行重大调整。有些企业也取得了一定的成功,而绝大多数则在交学费。日前,在旧金山召开的Smash会议上,来自Twitter、Facebook、Salesfore、谷歌以及其它网站的代表向人们介绍了针对企业的社交媒体战略。 Altimeter集团的合伙人Jeremiah Owyang提出了社交业务四大准则:不要关注于特定的工具,要考虑更广泛的营销活动;准备参与社交活动会取得80%的成功;客户不再意你是什么部门;适时也不够快。尽管目前社交媒体并不完美,但维珍美国、康姆卡斯特和思科等正在实践上述准则。他们也是博客、Twitter、Facebook的早期用户。比如,早在2008年,康姆卡斯特的高级主管Frank Eliason就使用Twitter帐号与客户进行交流,解决投诉问题。目前,企业采用社交媒体呈现四大特点:一是扩展。这些企业都在不断增加参与社交网站的员工人数。思科现已建立了7人团队,未来会提高到20至30人。康姆卡斯特也表示将增加社交媒体团队人数。人数的增加表明企业在线活动的频繁。目前,思科拥有25个博客和100多个Twitter帐号。二是身份认知。在企业内部,社交媒体也实现了新突破。企业会建立专门的团队从事社交媒体活动,同时,许多人也鼓励其它员工使用社交CRM工具,成为积极的内部客户。过去几年,企业关注于增加内容和与市场的交互。康姆卡斯特表示,有能力完成结构调整,优化组织,实现办公场所的民主化。社交媒体的扩张也会促使企业重树形象:其品牌认知度。据思科称,思科的社交媒体活动正在弱化企业的形象,使其更具人性化。三是关注于企业目标。思科指出,真正的方法是把企业的各个部门召集在一起,公关、营销、人力资源等,共同探讨重要的项目。如此,企业的付出就能得到最大的回报。维珍美国指出,灵活的模式有助于企业实现目标,并保持积极的反应状态。四是过于复杂。企业对社交平台非常支持,但也有一些顾虑。思科对最近推出了社区网页感到担心,这些网页是由Facebook 社区开发的假的维基网页。思科对自己的官方档案感到困惑,Brill指出,“令我吃惊的是他们可以做任何事,Facebook开发的网页与我们企业的网页非常相似,用户很难分清什么是正式的,什么是Facebook开发的。”维珍也对Facebook平台缺乏透明度感到担心,呼吁Facebook学习Twitter做法,让企业更好地接入分析性工具或数据。

Excel在Mapsource和Mapgis数据转换中的应用探讨

Excel在Mapsource和Mapgis数据转换中的应用探讨 目前地质工作者多利用各种小软件来实现Mapsource和Mapgis数据格式转换,以完成野外生产工作的需要,却因无法得到或不会使用这些软件而苦恼。作者成功地只利用Excel实现mapsource软件批量导入坐标点,完成了Mapsource 和Mapgis间的数据转换,极大方便了野外地质人员,减少人为误差,提高了工作效率。 标签:Excel;投影变换公式;Mapsource;Mapgis 引言 随着GPS定位精度的提高,GPS在地质找矿工作中应用越来越广。在一些中小比例尺的大范围的物化探扫面工作中,更是采用手持GPS定点,这就需要把大量的坐标点导入到mapsource软件中。如果单点逐个输入mapsource软件,无疑就占用了大量的施工时间;某些收费软件也可以实现批量导入mapsource,但操作步骤复杂。作者成功利用Excel2003完成了Mapsource和Mapgis6.5之间的数据转换。下面以1∶5万地球化学普查-水系沉积物、土壤测量为例,详细介绍Excel与Mapsource和MAPGIS间数据转换的过程及方法。 1 Excel和Mapsource数据转换 1.1 实现原理及数据准备 mapsource软件提供了一种GPS交换格式,这种文件可以用文本程序直接进行编辑,通过建立mapsource软件认可的*gpx格式的文件,然后通过编辑把大量的坐标写入*.gpx格式的文件,实现批量导入设计航点。在野外施工中利用GPS 定点的坐标大多是平面直角坐标,以某区1∶5万地球化学普查-水系沉积物、土壤测量测点内为例来演示把区内坐标点一次性导入到mapsource软件中,测点的西安-80坐标见表1。 表1 示例测区西安-80坐标 (1)创建*gpx格式文件模板。选择测区的四个坐标逐个的输入到mapsource 软件中,另存为*gpx格式,命名为“文件1.gpx”,用记事本程序打开“文件1”,其中坐标点的位置是用WGS-84椭球系统下的大地坐标来表示的。 (2)利用Excel软件进行坐标转换。利用Excel软件编制坐标转换公式,实现平面直角坐标转换成WGS84大地坐标转换功能,在转换之前需要计算西安-80椭球和WGS-84椭球间转换的七参数,如果不能从测绘部门收集到七参数,也可以根据坐标点相应的WGS-84坐标来计算七参数。使用Excel软件的文件转换功能方便的把我们的理论坐标全部转换为WGS-84坐标系统下的经纬度格式。利用相关坐标转换软件将公里网坐标转换为经纬度坐标,具体方法这里不作介绍。

企业工作心得感想

企业工作心得感想 一、企业印象 很传统的制造企业,机械设计基本还是传统设计方法和理念上。所谓的cad也只不过是用autocad作平面图并打印出图而已,设计流程还保持着人工设计过程中所形成的纸面图档的审批制度。用cad了,还把电子数据变成图纸,,为的是遵循传统审批制度。从而让cad的优势全无。(评:其实不过小企业这样,有些中型企业也这样。这就是中国制造业的现状) 企业综合信息化水平很低,虽说有局域网了,但只是在“共享文件夹”那个层面上。而且只是在技术部内部实现初级联网,整个公司并没有联网。所以到了投标阶段,相关部门无法实现协同办公,做不到及时沟通,费时费工费力,相关信息必须打印出来才能在各部门之间流动。结果自然是费纸。(评:有些小企业甚至未联网,明显与时代格格不入)公司倒是有网站,只不过起到一个名片作用,没有计数器,不知道访问量多少,估计没有我的读者访问量大。没在阿里巴巴注册,发布信息,使用贸易通。公司与驻外人员联系时还是电话,仅有少量电邮。不使用商务im(即时通讯)软件如tm、msn、e话通、贸易通、netmeeting、rtx等。(评:有网站的小企业就不错了,有的连这个都没有,准确地说是

经常打不开) 以上说的仅是企业信息化而言,就企业架构而言,还采取工业社会的直线型职能分工上,企业内部按职能划分出若干出个部门,所谓“金字塔”结构。而信息时代的企业新架构诸如“扁平化”“直接管理”,“虚拟小组”“并行产品开发设计”等等尚未采用。(评:扁平化有点与中国国民劣根性相冲突) 在查阅公司有关文档后才晓得公司是最近几年才发展起来的,宛如蹒跚学步的孩童,不懂it是情有可原的,不知道市场会不会给公司循序渐进发展信息化的时间。 二、工作环境 技术部基本实现计算机制图,但机器配置参差不齐,从win98到winxp都有;既有机械鼠标又有光电鼠标;既有officexx也有officexx。而cad则更乱,从r14到xx,各版本的cad都有。所以打不开cad文件常有的事。而我用的电脑则是元老级的,据说××来这时就有了,win98se的,老掉牙了,微软都放弃给它做补丁了。solidworksxx以上的版本根本装不了。正版软件没几个,用的起正版吗,仅就操作系统,办公软件,autocad而言,没个十几万下不来。赶上公司利润十分之一了。sw费用更高。一套就七八万。嘿嘿,难怪公司没有会sw的。(评:小企业根本不知道机械三维设计这码事,数控机床都没有,用正版sw有点浪费了,用d

最新优势智业-营销科特勒:营销30时代的商业企业

优势智业-营销科特勒:营销30时代的 商业企业

科特勒:营销3.0时代的商业企业营销之父菲利普·科特勒总是走在营销学的前列,他最近提出的营销3.0非常系统地对营销的发展进行了总结,也为未来的营销指明了方向,也从营销这个角度证明了在新经济时代那些企业巨人强大的真正原因。 营销的三个时代 科特勒把营销分为三个时代。第一是所谓的1.0时代,正如亨利·福特所言“无论你需要什么颜色的汽车,福特只有黑色的。”这就是以产品为中心的时代。这个时代的核心是产品管理,营销也被局限于支持生产活动的七大功能之一,它的主要功能是为产品创造需求。麦卡锡的4P理论是那个时代的圭臬:开发产品,制定价格,进行促销和建立渠道。简而言之,此时营销尚停留在战术阶段,它几乎不需要任何创新。 营销1.0的时代,基本是卖方市场的时代,自上世纪70年代开始,全球逐渐进入买方市场时代,产品日益丰盛,为争夺顾客,企业之间开始了盲目的竞争。这时候,更多的营销因素诞生了,比如4C所强调的顾客、成本、便利性和沟通,营销也因为处于顾客需求不足的时代而愈发引起重视,亦逐渐从战术层面上升至战略层面。营销者认识到,要更有效地创造需求,必须改变以产品为中心的方式,而代之以顾客为中心。STP战略的出现即是营销2.0时代的核心标志,它强调Segmenting market——市场细分、Targeting mark——目标市场、Positioning——定位。事实上,这是现今现代营销最常用的营销战略模式。

从上世纪90年代开始,电脑、互联网逐渐进入人类的生活,随着网络化的深入,人类也开始变得高度互联,信息不再是稀缺资源,消费者的消息变得异常灵通,同时也极大地促进了口碑效应的传播。为了适应这些新的变化,营销者又一次地开始了营销变革,使其专注于人类的情感需求。适应新时代的营销概念也应运而生,诸如情感营销、体验营销、品牌资产营销等等。先前以消费者为目标的传统市场定位模型已经无法继续创造需求,现在的营销者必须同时关注消费者的内心需求。这就是科特勒所谓的营销3.0。 但这并不是说传统的营销1.0和2.0已经完全失去作用,现代营销依然需要开发细分市场、选择目标市场、确定产品定位、提供4P的信息以及建立产品品牌,但是商业环境的变化,亦需要我们关注诸如经济萧条、气候问题、新型社会化媒体、消费者权益、新科技和全球化对市场以及消费者所带来的变化,新营销总是随着商业环境的变化而不断推陈出新。 与旧时代截然不同的是,垂直市场的信任感正在消失,消费者对企业越来越不信任,包括企业的广告宣传。但是,消费者之间并未失去“信任感”,恰恰相反,消费者之间的信任远胜于对企业。社会化媒体的兴起本身也反映了这种信任关系的转移。现在的消费者往往更倾向于消费者之间的口碑(大多数时候是网络口碑)而非广告。在消费者的印象中,企业的营销往往会和销售划上等号,这是一种说服甚至是操纵和欺骗,时值今日,还是有很多营销者会夸大产品功能并藉此来实现销售。 新型的消费者信任体系是建立在水平的关系之上的,水平化的信任体系是由消费者自己组成的圈子或社区,共同创造属于自己的产品和消费体验。产品体验已经不是一种单独的产品感受,而是个体消费者所产生的体验总和。淘

相关主题
文本预览
相关文档 最新文档