자연어 처리를위한 Java 또는 Python
자연어 처리에 어떤 프로그래밍 언어가 더 좋은지 알고 싶습니다.
자바
또는
파이썬
? 나는 그것에 대해 많은 질문과 답변을 찾았습니다. 그러나 나는 어느 것을 사용할 것인지 여전히 잃어 버렸습니다.그리고 많은 라이브러리 (LingPipe, GATE, OpenNLP, StandfordNLP)가 있기 때문에 Java에 사용할 NLP 라이브러리를 알고 싶습니다. 파이썬의 경우 대부분의 프로그래머는 NLTK를 권장합니다.그러나 유용한 정보를 얻기 위해
구조화되지 않은 데이터
(자유 형식의 일반 영어 텍스트) 에서 텍스트 처리 또는 정보 추출을 수행 하려면 가장 좋은 옵션은 무엇입니까? 자바 또는 파이썬? 적합한 도서관?
업데이트
내가하고 싶은 것은 구조화되지 않은 데이터에서 유용한 제품 정보를 추출하는 것입니다 (예 : 사용자는 표준 영어가 아닌 모바일 또는 랩톱에 대해 다른 형태의 광고를 만듭니다)
Java 대 Python for NLP는 매우 선호되거나 필요합니다. 회사 / 프로젝트에 따라 둘 중 하나를 사용해야하며 프로젝트를 진행하지 않는 한 선택의 여지가없는 경우가 많습니다.이외에
NLTK
(www.nltk.org), 텍스트 처리에 대한 다른 라이브러리 사실이 있습니다
python
:
- TextBlob : http://textblob.readthedocs.org/en/dev/
- 진심 : http://radimrehurek.com/gensim/
- 패턴 : http://www.clips.ua.ac.be/pattern
- 스파시 :: http://spacy.io
- 주황색 : http://orange.biolab.si/features/
- 파인애플 : https://github.com/proycon/pynlpl
(자세한 내용은
https://pypi.python.org/pypi?%3Aaction=search&term=natural+language+processing&submit=search 참조
)에 대한
Java
많은 다른 사람들이 있지만 여기에 다른 목록이 있습니다.
- 프리 링 : http://nlp.lsi.upc.edu/freeling/
- OpenNLP : http://opennlp.apache.org/
- LingPipe : http://alias-i.com/lingpipe/
- Stanford CoreNLP : http://stanfordnlp.github.io/CoreNLP/ (다른 언어 용 래퍼와 함께 제공, Python 포함)
- CogComp NLP : https://github.com/CogComp/cogcomp-nlp
이것은 기본 문자열 처리에 대한 훌륭한 비교입니다.
http://nltk.googlecode.com/svn/trunk/doc/howto/nlp-python.html
GATE 대 UIMA 대 OpenNLP의 유용한 비교는 https://www.assembla.com/spaces/extraction-of-cost-data/wiki/Gate-vs-UIMA-vs-OpenNLP?version=4를 참조
NLP에 사용할 언어가 어느 것인지 확실하지 않은 경우 개인적으로 "원하는 분석 / 출력을 제공 할 언어"라고 말하면 자연어
최신 NLP 도구는 다음과 같습니다 (
https://github.com/alvations/awesome-community-curated-nlp).
NLP 도구 (2013)의 이전 목록 :
http://web.archive.org/web/20130703190201/http://yauhenklimovich.wordpress.com/2013/05/20/tools-nlp
언어 처리 도구 외에 파이프 라인
machine learning
에 통합 할 도구 가 매우 필요 합니다
NLP
.
Python
및 의 전체 범위가 있으며
Java
다시 한 번 선호도 및 라이브러리가 사용자에게 친숙한 지 여부에 달려 있습니다.파이썬의 머신 러닝 라이브러리 :
- Sklearn (Scikit-learn) : http://scikit-learn.org/stable/
- 우유 : http://luispedro.org/software/milk
- Scipy : http://www.scipy.org/
- 테 아노 : http://deeplearning.net/software/theano/
- PyML : http://pyml.sourceforge.net/
- pyBrain : http://pybrain.org/
- Graphlab Create ( 상업용 도구이지만 1 년간 무료 아카데믹 라이센스) : https://dato.com/products/create/
(자세한 내용은
https://pypi.python.org/pypi?%3Aaction=search&term=machine+learning&submit=search 참조
)
- 위카 : http://www.cs.waikato.ac.nz/ml/weka/index.html
- 말렛 : http://mallet.cs.umass.edu/
- Mahout : https://mahout.apache.org/
의 최근 (2015) 딥 러닝 쓰나미를 사용 하면 다음을 고려할 수 있습니다.
https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software
비선호 / 중립성에서 딥 러닝 도구를 사용하지 않는 것이 좋습니다.
NLP / ML 도구를 요청한 다른 Stackoverflow 질문 :
- 기계 학습 및 자연어 처리
- 자연어 처리에 관심이있는 사람에게는 좋은 출발점이 무엇입니까?
- 자연어 처리
- Java에서 자연어 처리 (NLP)
- 좋은 자연어 처리 라이브러리가 있습니까
- Java를위한 간단한 자연어 처리 시작
- 기본 또는 고급 NLP 방법을 제공하는 라이브러리는 무엇입니까?
- 자연어 처리에 대한 최신 좋은 언어 및 서적, 기본 사항
- (NER의 경우) Lucene Index를 공급하는 동안 무료 도구로 엔티티 추출 / 인식
- PHP를 사용한 NLP 프로그래밍 툴?
- (루비와 함께) https://stackoverflow.com/questions/3776361/ruby-nlp-libraries
The question is very open ended. That said, rather than choose one, below is a comparison depending on the language that you would like to use (since there are good libraries available in both languages).
Python
In terms of Python, the first place you should look at is the Python Natural Language Toolkit. As they note in their description, NLTK is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning.
There is also some excellent code that you can look up that originated out of Google's Natural Language Toolkit project that is Python based. You can find a link to that code here on GitHub.
Java
The first place to look would be Stanford's Natural Language Processing Group. All of software that is distributed there is written in Java. All recent distributions require Oracle Java 6+ or OpenJDK 7+. Distribution packages include components for command-line invocation, jar files, a Java API, and source code.
Another great option that you see in a lot of machine learning environments here (general option), is Weka. Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes.
참고URL : https://stackoverflow.com/questions/22904025/java-or-python-for-natural-language-processing
'Programming' 카테고리의 다른 글
JUnit 클래스를 특수 테스트 패키지로 분리 하시겠습니까? (0) | 2020.07.27 |
---|---|
리포지토리 복제시 Git 하위 모듈 폴더 비우기 (0) | 2020.07.27 |
파이썬을 사용하여 배열에서 특정 요소를 제거하는 방법 (0) | 2020.07.27 |
컴파일 타임에 nameof ()가 평가됩니까? (0) | 2020.07.27 |
data.table에서 : =를 사용하여 여러 열을 그룹별로 지정 (0) | 2020.07.27 |